iOS直播资料 整理(0)

作者: R0R0N0A | 来源:发表于2016-11-05 19:58 被阅读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下载后要自己添加

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

相关文章

  • iOS直播资料 整理(0)

    播放格式的多种多样,促使了FFmpeg的诞生,无论是视频格式的mp4,mkv,mov还是流格式的rtmp rtsp...

  • iOS视频直播资料整理

    http://www.jianshu.com/p/5b1341e97757 想做一套像映客的直播系统?看我就够了 ...

  • 兼容iOS 10 资料整理笔记

    兼容iOS 10 资料整理笔记 兼容iOS 10 资料整理笔记

  • 直播资料整理

    直播 直播推拉流概念推流:指的是把采集阶段封包好的内容传输到服务器的过程拉流:是指服务器已有直播内容,用指定地址进...

  • iOS学习资料整理

    iOS学习资料整理

  • iOS 学习资料整理

    iOS 学习资料整理

  • iOS资料整理

    UICollectionView的卡片式旋转效果https://github.com/nicklockwood/i...

  • ios资料整理

    架构 iOS应用架构谈 开篇 iOS应用架构谈 view层的组织和调用方案 iOS应用架构谈 网络层设计方案 iO...

  • iOS 资料整理

    面试题 http://blog.csdn.net/hanangellove/article/details/450...

  • iOS资料整理

    调试技巧: Xcode7中你一定要知道的炸裂调试神技 Xcode7新特性AddressSanitizer Clan...

网友评论

    本文标题: iOS直播资料 整理(0)

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