kxmovie 源碼分析之github代碼運行

我們知道kxmovie 是基于FFmpeg 的播放器.本來想研究ijkPlayer.看了半天頭暈,因此先找個簡單的播放器來分析了解下FFmpeg是如何播放視頻的.

我們知道kxmovie 已經更新很久了.下載下來的代碼想直接運行,根本不可能.因此這里先把項目運行起來才是關鍵.下面講解如何修改項目一遍我們能運行項目.

下載項目

我們從kvmovie-github 下載項目到本地.

官網提供幾個命令供我們使用

cd kxmovie
git submodule update --init 
rake

但是我實驗了下,根本不好使了.因此這里大家就不用實驗了

項目改造

1.進入項目根目錄

項目根目錄文件

2.刪除Podfile 和Podfile.lock文件
因為該項目太老了.podfile文件已經失效.因此我們需要重新生成該文件


podfile
  1. 打開終端,cd 到根目錄
  2. pod init
    5 修改podfile文件如下 增加 pod 'NSLogger'

修改podfile文件

5 pod install
6 編譯ffmpeg庫.編譯工程可參考前面博客
生成的文件為
lib 和include

lib中是所有的.a文件 include是頭文件
7 將lib 和include 文件夾拖入到工程中
庫文件加入到工程

  1. 添加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

本地服務器搭建可以參考這里

kvmovie-github

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容