作者 牵线小丑2016.03.18 10:42

写了4836字,被38人关注,获得了43个喜欢

iOS使用VLC

字数946 阅读698 评论1 喜欢14

简介

库名 简介 需要的能力 官网链接
FFmpeg FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPLGPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多codec都是从头开发的。 了解视频编解码原理和流程、了解图像压缩技术、音频压缩技术等 http://ffmpeg.org
Live555 Live555实现了对多种音视频编码格式的音视频数据的流化、接收和处理等支持,包括MPEG、H.263+、DV、JPEG视频和多种音频编码。同时由于良好的设计,Live555非常容易扩展对其他格式的支持。 了解视频编解码原理和流程、了解图像压缩技术、音频压缩技术等 http://www.live555.com
MobileVLCKit 优秀的封装,源码中最核心的部分,被封装成了独立的库,基于FFmpegLive555提供完整的媒体播放库,你只需要定制自己的界面,支持CocoaPods导入库,开发一个简单界面的播放器,你只需要几行代码,几乎覆盖所有媒体格式! 你只需要定制好自己的界面,它的API看起来就是一个播放器 http://www.videolan.org

#### 准备

1. 从 VLC 下载需要用到的文件:VLC for iOS x.x.x source codeMediaLibraryKit x.x.x source codeMobileVLCKit x.x.x-pre2 source code
VLC for iOS x.x.x source code:VLC 源码,OSX平台
MediaLibraryKit x.x.x source code:VLC
MobileVLCKit x.x.x-pre2 source code:VLC,iOS平台
2. 下载源码

编译

方式一

PS:由于我这里网络问题,在执行脚本的时候无法从google下载库,导致无法继续下去,所以执行脚本后的操作暂时不确定。

  1. 将准备阶段步骤2下载的源码解压,并进入其目录。
  2. 编译模拟器版本(需要较长的时间):sh compileVLCforiOS.sh -s
  3. 编译真机版本(需要较长的时间):sh compileVLCforiOS.sh
  4. 呃……
方式二

PS:这是比较简单的方式,也是我使用的方式。

iOS 端
  1. 终端执行:git clone http://code.videolan.org/videolan/VLCKit.git
  2. 编译(需要较长的时间):buildMobileVLCKit.sh
OSX 端
  1. 终端执行:git clone http://code.videolan.org/videolan/VLCKit.git
  2. 打开VLCKit.xcodeproj注意不是MobileVLCKit.xcodeproj
  3. 选中Build Everything编译工程。
  4. 以上是按照官方wiki Guide进行操作的
方式三:使用cocoapods安装

PS:呃……应该是最简单的方式吧……并且在执行完成后,可以到/YourProject/Pods/MobileVLCKit/MobileVLCKit-binary/目录下获取MobileVLCKit.framework

  1. 在 Podfile 中写入:

    platform :ios, '8.0'
    use_frameworks!
    pod 'MobileVLCKit'
  2. 在终端执行pod install
  3. 添加libz.dyliblibbz2.dyliblibiconv.dyliblibstdc++.6.0.9.dylib四个库,xcode7及以上则是添加libz.tbdlibbz2.tbdlibiconv.tbdlibstdc++.6.0.9.tbd

使用

通过以上我们得到一个集成了VLC的工程,接下来进行测试。为了方便,我们使用github上一个基于VLC的框架WeLSee

  1. 直接下载WeLSee源代码;
  2. 将上面编译步骤得到的MobileVLCKit.framework集成到WeLSee工程(可能需要替换一些库,xcode7 及以上需要将库从dylib换成tdb);
  3. 直接编译,没有问题,运行正常。

问题

  1. 如果编译过程中遇到svn: warning: W175002: Unable to connect to a repository at URL,可能是DNS缓存问题,在终端输入以下命令进行清除缓存dscacheutil -flushcache

参考

VLC 论坛
VLC wiki
VLC wiki Guide
Blog 码懂
isteven

后续继续更新^-^

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

¥ 打赏支持

 
×

喜欢的用户

我使用VLC播放在线视频,但是我发现蓝屏了,你知道是什么原因么

登录后发表评论

被以下专题收入,发现更多相似内容:

iOS使用VLC的更多相关文章

  1. VLC for iOS 2.3.0

    http://www.cocoachina.com/bbs/read.php?tid=231898 VLC for iOS 2.3.0       本帖属于CocoaChina会员发表,转帖请写明来源 ...

  2. iOS开发常见BUG和一些小技巧(ps:耐心看完,很实用)

    [385][scrollView不接受点击事件,是因为事件传递失败] // // MyScrollView.m // Created by beyond on 15/6/6. // Copyright ...

  3. ios 流媒体 资料

    (1)“Real-Time Streaming Protocol (RTSP)”比较官方的资料(链接). (2)“ffmpeg”在百度百科的简介(链接). (3)“ffmpeg”的官网:http:// ...

  4. iOS开发中遇到的一些问题及解决方案【转载】

    iOS开发中遇到的一些问题及解决方案[转载] 2015-12-29 [385][scrollView不接受点击事件,是因为事件传递失败] // //  MyScrollView.m //  Creat ...

  5. VLC-开源播放器编译

    http://blog.sina.com.cn/s/blog_7b9d64af0101jpvy.html 需要VLC 在iOS开发中,如果你的程序中播放视频,并且多媒体播放功能是你iOS程序的核心功能 ...

  6. iOS_开发中遇到的那些问题_1

    [自编号:60][AutoLayout中,怎样让ImageView保持固定的宽高比?比如1:1] 先将imageViewframe手动写成:宽20,高20,再勾选Aspect Ratio加入宽高比约束 ...

  7. iOS实现基于VLC播放器的封装效果

    前言: 在一些特定场景下,我们获取到的音视频,由于格式比较特殊,用avplayer等播放器是无法播放的,此时,我们可以借助强大的VLC播放器来处理. 原理这里不再赘述,下面我们讲一下如何添加VLC播放 ...

  8. 编译VLC for IOS

    之前接触VLC是因为Winrt的项目,后来似乎ARM版本的始终搞不定(没有针对于ARM-COFF的GCC编译器),vlc for winrt的项目好久没有更新了,自己也没有深入研究.有一天跟同事聊,他 ...

  9. IOS VLC编译步骤(包含移植和截图功能)

    http://blog.csdn.net/Kan_Crystal/article/details/40424673 一.下载源码 先到VLC官网将源码下载到本机,以下链接为官网编译操作地址:https ...

随机推荐

  1. HDU 4800/zoj 3735 Josephina and RPG 2013 长沙现场赛J题

    第一年参加现场赛,比赛的时候就A了这一道,基本全场都A的签到题竟然A不出来,结果题目重现的时候1A,好受打击 ORZ..... 题目链接:http://acm.hdu.edu.cn/showprobl ...

  2. G - Supermarket poj1456

    题目的描述很长,其实描述的问题很简单,说有n的商品,它们每个的价值是pi,但是呢,再过di天这些商品就不能卖了(有可能过期了...),现在给出来每个商品的价值和可以卖的最后期限,问可以得到最多多少资金 ...

  3. 使用drawRect有什么影响

    用来画图,这个方法会在intiWithRect时候调用.这个方法的影响在于有touch event的时候之后,会重新绘制,很多这样的按钮的话就会比较影响效率.以下都会被调用1.如果在UIView初始化 ...

  4. 环境搭建之maven分布式系统

    shoppingmall项目: 一.父工程  shoppingmall-parent  (packaging为pom) 此是本项目的顶级工程,所有子工程都应该继承他,主要可承担以下任务: a.集中定义 ...

  5. Servlet中获取JSP内置对象

    方便自己查询,嫌低级的勿喷.... 1.request 在servlet的doGet和doPost的参数中就有HttpServletRequest req参数,而JSP内置request对象就是Htt ...

  6. 使用APICloud设计物联网APP

    0.前言 1).APP功能: 1.控制室内插座的开关. 2.查看室内实时温湿度和温湿度趋势. 3.控制小车的行走,小车摄像头的开启/关闭.移动. 4.查看摄像头监控画面,可拍照并追溯. 5.查看服务器 ...

  7. linux 之 yum 介绍 <转>

    原文在这里  http://doophp.sinaapp.com/archives/linux/yum-setting-parameter.html 因为是程序员出身,平时虽然经常接触服务器,偶尔也会 ...

  8. servlet中访问mysql无法包含中文的解决

    最近写servlet应用发现,如果我的sql语句中包含英文,访问数据库就失败,而我数据库的编码是utf8 -- UTF-8 Unicode,而我servlet的字符也已经转为UTF-8 ,还是不行. ...

  9. codevs3013单词背诵

    /* 手打的哈希+线性的维护 第一问:hash一下 并且用个h记录某个单词要背的 第二问:线性的跑一边 开始队列里装下前一些单词使这一坨符合要求 并且记录出现次数num 然后开始从前面删 删除的条件: ...

  10. mvc存储Cookie和读取Cookie方法

    mvc存储Cookie和读取Cookie方法: //存储 HttpCookie cookie = new HttpCookie("User"); System.Text.Encod ...