iOS使用VLC

iOS使用VLC

字数946  阅读3328  评论15 

简介

库名 简介 须要的能力 官网连接
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

#### 准备php

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. 下载源码
html

编译

方式一

PS:因为我这里网络问题,在执行脚本的时候没法从google下载库,致使没法继续下去,因此执行脚本后的操做暂时不肯定。ios

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

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

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.frameworkgit

  1. 在 Podfile 中写入:
    platform :ios, '8.0' use_frameworks! pod 'MobileVLCKit'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的框架WeLSeegithub

  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 码懂
istevensegmentfault