linux編譯ffmpeg後沒有生成ffplay的問題解決

編譯ffmpeg:
在這裏插入圖片描述
1、使用ffmpeg-3.3.9源碼包。打開ffplay編譯,其他使用默認配置

./configure --enable-ffplay

2、編譯、安裝

sudo make 
sudo make install

3、使用ffplayj進行視頻文件播放,發現報錯:

./ffplay xxx.mp4
fatal error: sdl.h: No such file or directory

(1)問題:缺少SDL依賴庫。
下載了SDL1.2.15,編譯安裝後,問題仍然沒有解決
在這裏插入圖片描述
之後查了一下,ffmpeg-3.3.9源碼包依賴SDL2.0,於是乎刪除了SDL1.2.15:

cd ./SDL-1.2.15
sudo make uninstall
sudo make distclean

(2)之後網上下載SDL2-2.0.12.tar.gz
在這裏插入圖片描述
編譯安裝,可獲得動態鏈接庫。再運行ffplay,已經不會報找不到SDL.h的問題了。
在這裏插入圖片描述
4、繼續使用ffplayj進行視頻文件播放,發現仍然有問題:播放器打開後閃退,報錯信息:

SDL_OpenAudio (2 channels, 44100 Hz): No such audio device
SDL_OpenAudio (1 channels, 44100 Hz): No such audio device
No more combinations to try, audio open failed

問題:SDL庫有問題,查了一下,原來編譯後的SDL2.0庫也缺乏依賴。
解決:

apt-get install libasound2-dev
apt-get install libpulse-dev

另外使用ffplay可能會出現這個錯誤:

Could not initialize SDL - No available video device
(Did you set the DISPLAY variable?)

所以,再安裝兩個依賴包,

apt-get install libx11-dev
apt-get install xorg-dev

安裝完上面四個包之後,重新編譯SDL2.0的庫:

cd ./SDL2-2.0.16
sudo make uninstall
sudo make distclean
./configure
sudo make 
sudo make install

5、再運行ffplay,可正常播放視頻,音視頻都沒有問題

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章