我們知道kxmovie 是基于FFmpeg 的播放器.本來想研究ijkPlayer.看了半天頭暈,因此先找個簡單的播放器來分析了解下FFmpeg是如何播放視頻的.
我們知道kxmovie 已經更新很久了.下載下來的代碼想直接運行,根本不可能.因此這里先把項目運行起來才是關鍵.下面講解如何修改項目一遍我們能運行項目.
下載項目
我們從kvmovie-github 下載項目到本地.
官網提供幾個命令供我們使用
cd kxmovie
git submodule update --init
rake
但是我實驗了下,根本不好使了.因此這里大家就不用實驗了
項目改造
1.進入項目根目錄
項目根目錄文件
2.刪除Podfile 和Podfile.lock文件
因為該項目太老了.podfile文件已經失效.因此我們需要重新生成該文件
podfile
- 打開終端,cd 到根目錄
- pod init
5 修改podfile文件如下 增加 pod 'NSLogger'修改podfile文件
5 pod install
6 編譯ffmpeg庫.編譯工程可參考前面博客
生成的文件為
lib 和include
lib中是所有的.a文件 include是頭文件
7 將lib 和include 文件夾拖入到工程中
庫文件加入到工程
- 添加accelerate.framework videoToolbox.framework ,audioToolbox.framwork coreMdedia.framework ,libz.tbd ,libbz2.tbd,libiconv.tbd 刪除那些沒用的庫
工程庫
9 修改header search Paths
根據LibrarySearch Paths 中的庫文件路徑進行修改
.a文件路徑
includes
10 刪除 UserHeader search Paths 中的值
UserHeader search Paths
11 修改KxMovieDecoder.m 文件
將 PIX_FMT_RGB24 修改成AV_PIX_FMT_RGB24
將avpicture_deinterlace 函數注釋掉.注釋掉也沒事的答案
到此運行項目成功
在 MainViewController.mm中增加一個可以使用的 網絡視頻連接

image.png
@"rtmp://localhost:1935/rtmplive/room" 是我配置的本地服務器連接地址.
運行項目
選擇room
本地服務器搭建可以參考這里










