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)

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