1. 程式人生 > >移植ijkplayer播放器到windows平臺(附原始碼)

移植ijkplayer播放器到windows平臺(附原始碼)

移植ijkplayer播放器到windows平臺(附原始碼)

目錄

 

正文

移植ijkplayer播放器到windows平臺(附原始碼)

ijkplayer windows版本的移植工作終於有了一些進展,起初自己做這個專案是因為公司有可能會用到,於是用業餘時間慢慢熟悉相關知識和ijkplayer的程式碼。現在應該是用不到了,到這裡做一個總結吧,最終能夠達到的效果是是能夠在windows上用OpenGL ES渲染視訊和用OpenAL播放聲音,但是還有音畫不同步的問題,以後有時間的話再去解決。各位如果有想學習音視訊渲染的可以參考我的程式碼相互交流學習。

下面是編譯原始碼的說明文件,如果有任何問題可以通知我。

回到頂部

編譯環境

  • MinGW32
  • WIN7
  • Visual Studio 2017

MinGW32環境的搭建可以參考之前的帖子

回到頂部

準備工作

編譯ijkplayer-ffmpeg

ijkplayer使用的ffmpeg直接拿來在windows上編譯會出錯,需要merge官方ffmpeg的最新程式碼,可以看之前的帖子。merge後的程式碼push到了github上。

將程式碼clone到MInGW_root_path/msys/1.0/home/Admistrator/下面

git clone https://github.com/harlanc/FFmpeg.git

將ijkplayer branch checkout下來:

git checkout origin/ijkplayer -b ijkplayer

configure

$ ./configure --disable-static --enable-shared --enable-gpl --enable-version3 --enable-sdl --enable-debug=3 --disable-optimizations --disable-mmx --disable-s tripping

make && make install

make && make install

編譯Angle庫

clone到本地

git clone https://github.com/Microsoft/angle.git

呼叫批處理生成sln檔案然後用Vistual Studio編譯生成以下3個dll:

  • d3dcompiler_47.dll
  • libEGL.dll
  • libGLESv2.dll

具體流程參考微軟的官方文件

將上面三個dll拷貝到 MInGW_root_path/msys/1.0/local/bin下面

回到頂部

編譯ijkplayer-windows

clone程式碼到本地

git clone https://github.com/harlanc/ijkplayer-windows.git

將ijkplayer-windows branch checkout下來:

git checkout origin/ijkplayer-windows -b ijkplayer-windows

將Angle程式碼庫下面的include資料夾拷貝到ijkplayer-windows/ijkmedia/ijksdl 下面。

到ijkplayer-windows/ijkmedia目錄下執行configure命令:

./configure

執行make&& make install

make && make install

回到頂部

執行

最後會在ijkplayer-windows/ijkmedia/ijkplayer/windows/.libs 下面生成winplayer.exe可執行檔案。將視訊檔案拷貝到此目錄下面,執行下面的命令播放:

 ./winplayer.exe test.mp4

附一個最終的效果圖:

avatar

回到頂部