編譯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,可正常播放視頻,音視頻都沒有問題