mplayer 移植到 arm 心得
轉載地址:https://blog.csdn.net/xiaohuangzhilin/article/details/52399746
最近時間移植了mplayer 到 imx6q 中 碰到了 一下問題。寫下了讓友友們少走一下彎路
個個版本下載 網址:
http://www.mplayerhq.hu/MPlayer/releases/
我下載了
MPlayer-1.0rc2
MPlayer-1.1
MPlayer-1.2.1
MPlayer-1.3.0
其中 MPlayer-1.0rc2 才能編譯成功並通過執行 成功
其他版本也可以編譯成功但是 ,執行的時候 下部分會閃屏,全屏不會 有點類似 下面這個網友描述的。
也有網友說更新核心能解決。
http://blog.csdn.net/zmlovelx/article/details/7900657
趕專案 應該也沒有時間去更換核心吧
本人也沒有驗證過
接下來說一下編譯過程:
MPlayer-1.1
MPlayer-1.2.1
MPlayer-1.3.0
以上這幾個包編譯成功播放視訊 後都會閃爍
依賴庫
zlib-1.2.3.tar.gz 需要交叉編譯的庫
--ranlib=arm-none-linux-gnueabi-ranlib --target=arm-linux --enable-alsa --prefix=/home/hzl/Desktop/wondfo/mplayer/arm-mplaye
--enable-alsa // 需要庫 alsa 的支援
http://blog.csdn.net/iamgooday
編譯好後放到 交叉編譯器的 lib 和 include
--enable-mad // 很多網友用個解碼聲音,但是 試過之後在 imx6q 我沒有測試成功
最後來說一下 MPlayer-1.0rc2 編譯碰到的問題
vd_mpng.c: In function 'pngReadFN':
vd_mpng.c:59:19: error: dereferencing pointer to incomplete type
vd_mpng.c: In function 'decode':
vd_mpng.c:96:14: error: dereferencing pointer to incomplete type
vd_mpng.c:113:87: error: dereferencing pointer to incomplete type
make[1]: *** [vd_mpng.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory `/home/hzl/Desktop/wondfo/mplayer/MPlayer-1.0rc2/libmpcodecs'
make: *** [libmpcodecs/libmpcodecs.a] Error 2
上面這個錯誤我找了很久,包括在百度,google 都 比較少 回答 這個是我寫這篇博文的主要原因
報這個錯誤的原因是
libpng libpng-1.6.12 我交叉編譯這個庫並把它丟到了 我的交叉編譯器裡面了。 初步判斷可能版本不對
配置的時候 加上 這個配置就搞定了
--disable-png
配置如下:
./configure --prefix=$PWD..\output --enable-cross-compile --cc=arm-none-linux-gnueabi-gcc --host-cc=gcc --as=arm-none-linux-gnueabi-as --ar=arm-none-linux-gnueabi-ar --ranlib=arm-none-linux-gnueabi-ranlib --target=arm-linux --disable-live --disable-ivtv --enable-alsa --disable-dvbhead --disable-dvdread --disable-dvdnav --disable-dvdread-internal --disable-png 2>&1 |tee logfile
參考 網友連結
http://my.oschina.net/u/174242/blog/74428
http://blog.csdn.net/neohuo/article/details/604339
http://blog.chinaunix.net/uid-20587912-id-405026.html
多謝
相關文章
- 移植ffmpeg到VC環境心得
- Chrome移植Win10 on ARMChromeWin10
- 編譯移植Mplayer到mini2440開發板的過程及問題解決辦法編譯
- Chrome移植Windows 10 on ARM最大的貢獻者竟然是微軟ChromeWindows微軟
- 如何把 awk 指令碼移植到 Python指令碼Python
- RT-Thread移植到stm32thread
- ubuntu移植到嵌入式平臺Ubuntu
- 將 C++程式移植到 Android 平臺C++Android
- Parquet.Net: 將 Apache Parquet 移植到 .NETApache
- 3.0 ORACLE移植到MYSQL改造注意要點OracleMySql
- 如何優雅的移植JavaScript元件到BlazorJavaScript元件Blazor
- 移植Rxjs中部分常用operators到陣列JS陣列
- Qt+MPlayer音樂播放器開發筆記(一):ubuntu上編譯MPlayer以及Demo演示QT播放器筆記Ubuntu編譯
- Cornfox & Bros.如何將手遊移植到SwitchROS
- 移植一個抖音貼紙元件到Flutter元件Flutter
- FreeRTOS移植到STM32F103步驟
- Vulkan移植GpuImage(三)從A到C的濾鏡GPUUI
- 探索將scratch3移植到樹莓派樹莓派
- 如何將 Google Auto Draw 移植到小程式上Go
- Vulkan移植GPUImage(五)從P到Z的濾鏡GPUUI
- 把 Linux 移植到蘋果 M1 Mac 上Linux蘋果Mac
- Vulkan移植GpuImage(四)從D到O的濾鏡GPUUI
- UI元件庫從0到1開發心得UI元件
- DHCP移植到瑞芯微RK356x平臺
- 虹軟人臉識別——官方 Qt Demo 移植到 LinuxQTLinux
- TLS 1.3已反向移植到的Oracle JDK8 - OracleTLSOracleJDK
- 將30K行Flow程式碼移植到TypeScript - davidgomTypeScriptGo
- 如何將三萬行程式碼從Flow移植到TypeScript?行程TypeScript
- 【原創】EtherCAT主站IgH解析(二)-- 如何將Igh移植到Linux/Windows/RTOS等多作業系統移植指南LinuxWindows作業系統
- 從設計到歸因 - AB Test 實戰心得
- Linux 根檔案系統的移植(從入門到精通)Linux
- 移植 Python 量化交易 TA-Lib 庫到函式計算Python函式
- Shared_memory從Python3.8移植到Python3.7/3.6Python
- 基於Typora的Latex程式碼書寫並移植到word中
- 可移植性
- FreeRTOS移植EasyFlash
- 實踐心得:從讀論文到復現到為開源貢獻程式碼
- 開源繪畫應用 Pinta 已移植到GTK 3和.NET 6