iOS 使用 VLC

作者: 牵线小丑 | 来源:发表于2016-03-18 10:42 被阅读13500次

简介

库名 简介 需要的能力 官网链接
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'
  1. 在终端执行pod install
  2. 添加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

后续继续更新-

相关文章

网友评论

  • RWz_my:请问楼主有遇到 播放rtsp视频流的时候,就监控画面刚播放1-2s就卡住不动的情况吗
  • 辣椒小鱼:如何 去除掉 vlc 提示框"your input cannot be opened"
  • GitHubPorter:楼主你好,编译之后提示少了两个文件啊,vlc-plugins-iPhone.h和appleTv.h,看 工程目录下是红色的,你是怎么解决的
  • 47e2b53b72da:方法2里面从gitlab下载的源码是vlc官方发布的吗
  • 管饱饱:楼主有过监控的吗 是rtsp协议的。我现在就是播放不出来实时的(摄像头实时的) 网上的电视直播,mov格式视频都可以
  • c6787280b6b0:楼主能播放rtsp

    爱上程序元:同问楼主rtsp流怎么播放
  • wycandyy:问一下 这个VLC 如何设置硬解
  • UILabelkell:问一下 这个播放本地的ts文件 为什么不可以
  • 大斜的张:楼主 方式二的第二步 我这边操作没反应是为什么呢 -bash: build: command not found
  • 杰克道长:播放网络视频时,在网络很差的情况下,如何判断加载失败呢?
  • 向天再借五公分:楼主 vlc可以播放DLNA的视频不 该怎么做奥
  • plu:'MobileVLCKit/MobileVLCKit.h' file not found???
  • leejunhui:我用CocoaPods导入mobileVLCKit库之后,打包的ipa体积达到了300M,请问下这个怎么解决呢
    读_心:@科比 在哪里找到的,能给我发一下吗?谢谢
    leejunhui:@iBahs 后来貌似我找了一个github上封装好了的库,打包下来20多M
    silasjs:@科比 请问这个ipa达到300M的问题解决了么?
  • Smallwolf_JS:WeLSee点击就会报错啊
    Smallwolf_JS:还有问下楼主,怎么把vlc改成用tcp接收的方式呢
    Smallwolf_JS:@牵线小丑 运行倒是没有问题,但是在点击屏幕的时候就会崩溃
    牵线小丑:@Smallwolf_JS 什么意思?你下载WeLSee这个工程运行出错?
  • Smallwolf_JS:sh compileVLCforiOS.sh -s 会出问题啊
    c6787280b6b0:@Smallwolf_JS 我也是
    Smallwolf_JS:@牵线小丑
    sh compileVLCforiOS.sh 在终端执行这句是可以的,但是加上-s就会提示我的语法不对啊
    牵线小丑:@Smallwolf_JS 我之前试过很多次,都是因为网络的问题导致出错……所以就没继续试这种方式了。
  • dc7825001545:我使用VLC播放在线视频,但是我发现蓝屏了,你知道是什么原因么
    大斜的张:你MobileVLCKit.framework这个包是怎么下载成功的 ?
    编译(需要较长的时间):buildMobileVLCKit.sh这一步 一直没用
    sun_sx:@机器猫的肚兜 vlc对流媒体支持不是很好 原生的 AVFoundation 体验好得多

本文标题:iOS 使用 VLC

本文链接:https://www.haomeiwen.com/subject/ytoclttx.html