iOS直播资料 整理(0)

播放格式的多种多样,促使了FFmpeg的诞生,无论是视频格式的mp4,mkv,mov还是流格式的rtmp rtsp 又或者是现在流行的直播格式的m3u8
ffmpeg 都可以做到游刃有余

但是如何让FFmpeg编译为我们所用 不是简单的下载下来就行 有时候步骤错误 就会绕很远 我也是找了很多资料才给编译成功打包 这篇文章也算是个记录。


** My building environment **

  • Mac OS X 10.11.6
  • Xcode 8.1
  • Terminal

要用到的文件

  1. gas-preprocessor

  2. yasm

  3. FFmpeg-iOS-build-script

  4. FFmpeg封装的ijkplayer


编译

首先确认是否安装homwbrew

如果没有安装 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

安装yasm
brew install yasm or

 cd yasm-1.2.0
 ./configure
 make
 make install

安装gas-preprocessor

这个稍微麻烦一点 因为涉及到文件权限

  1. 首先复制gas-preprocessor.pl到/usr/local/bin
  2. chmod 777 /usr/local/bin/gas-preprocessor.pl

关于ijkplayer
如同官方README写的
进入到文件夹然后
./init-ios.sh
这一步之后
cd ios
./comppile-ffmpeg.sh clean
./compile-ffmpeg.sh all

将编译好的framework添加到自己项目里面

  • File -> Add Files to ... -> Select ios/IJKMediaPlayer/IJKMediaPlayer.xcodeproj
    选择 Select your Application's target.
    然后依赖性添加IJKMediaFramework Build Phases -> Target Dependencies -> Select IJKMediaFramework
    还有 Link Binary with Libraries 添加 IJKMediaFramework 以及相应的系统framework 如
libz.tbd
AudioToolBox.framework
VideoTollBox.framework
CoreGraphic.framework
CoreVideo.framework
..... 需要的framework你编译的时候xcode会告诉你 你加上去就好

关于FFmpeg

同样,如同官方README写的

  • 如果你要编译支持所有平台 ./build-ffmpeg.sh

  • 如果是arm64的话 ./build-ffmpeg.sh arm64

  • armv7 和x86 ./build-ffmpeg.sh armv7 x86_64

  • 合并所有版本 ./build-ffmpeg.sh lipo
    过程比较慢,稍微等一下就好


编译好之后的样子

3880B7E4-3C67-4797-B566-636E63031F26.jpg

FFmpeg-3.2是源代码 FFmpeg-iOS是编译好的给iOS用的,一共7个.a静态文件拖到项目里面,然后加载libz.dylib libbz2.dylib libiconv.dylib这些依赖库


好了,创建一个项目把必要的framework添加进去,然后简单设置一下,接着找一个直播源,来测试一下。

FBF486C2-A746-4BB4-89AC-05F164531189.png
CB4E6998-FED2-403D-9B4F-85D4536BA151.jpg

demo地址

下载后pod install 然后由于 IJKMediaFramework过大,所以demo下载后要自己添加

这算是可以播放直播,至于怎么把自己拍的视频上传上去作为源 会在下一篇中整理出来

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • FFmpeg框架在iOS平台上的编译和使用 1.使用环境 macOS Sierra 10.12.3 2.开发工具 ...
    ttdiOS阅读 2,610评论 5 4
  • FFmpeg简介 FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。读作:爱服...
    因缺思婷阅读 7,608评论 15 21
  • iOS视频软编码 软编码介绍 软编码主要是利用CPU进行编码的过程, 具体的编码通常会用FFmpeg+x264 F...
    coderwhy阅读 2,186评论 1 3
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,246评论 4 61
  • 最近刚接触ffmpeg,找了很多相关的编译资料,都没有编译成功,前几天在 github上找到一个脚本(https:...
    liu_bo阅读 779评论 6 5