日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Ubuntu >内容正文

Ubuntu

在ubuntu16.04下测试ffplay程序

發布時間:2023/12/14 Ubuntu 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在ubuntu16.04下测试ffplay程序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

下載FFmpeg及SDL源碼

離上次博文發布已經有一段時間了,這次我們來測試一下強大的FFmpeg播放器程序ffplay,它是FFmpeg原生附帶的。
本文編寫時,FFmpeg的最新版本是3.4.2,從官網ffmpeg.org上下載ffmpeg-3.4.2.tar.xz源碼,通過如下命令解壓:

tar xvf ffmpeg-3.4.2.tar.xz

ffplay.c的源碼在fftools目錄下,我們知道,早期的ffplay版本是基于SDL1.x實現的音視頻顯示和播放,而現在的ffplay則是基于SDL2.x實現的,因此我們需要到SDL官網(http://www.libsdl.org/)下載,本文編寫時的版本是SDL version 2.0.7 (stable),下載并解壓縮:

tar xzvf SDL2-2.0.7.tar.gz

編譯SDL

要使能ffplay編譯,需要Ubuntu系統中支持SDL功能,所以我們首先需要下載SDL的源代碼。進入對應目錄,配置并編譯,安裝:

cd SDL2-2.0.7 ./configure make sudo make install

將完成代碼編譯和庫及頭文件安裝。

編譯ffplay

必須在正確安裝SDL庫和頭文件后,編譯FFmpeg源碼時,才會自動配置ffplay編譯使能,否則在最終的編譯結果中,沒有ffplay可執行文件產生,這點一定要注意。
在編譯FFmpeg源碼的時候,默認會編譯出ffplay :

tar xvf ffmpeg-3.4.2.tar.xz cd ffmpeg-3.4.2 ./configure --prefix=ffout make make install

為了方便的獲取編譯結果,指定庫和頭文件的安裝路徑為ffout(在FFmpeg源碼根目錄下)。如果在configure過程中遇到nasm/yasm之類的錯誤,則首先需要更新對應的包:

sudo apt-get install yasm

最后,在ffout/lib目錄下是FFmpeg幾大庫的位置,默認都編譯成了.a的靜態庫,ffout/include是FFmpeg對應的API頭文件,而ffplay程序則位于ffout/bin目錄下,同時存在的還有ffmpeg,ffprobe,ffserver等幾個程序。

測試ffplay

可以通過ffplay程序來測試播放本地影片,比如:

./ffout/bin/ffplay test.avi

順利的話,可以看到影片的音視頻正常播放。
如果遇到如下打印,表示SDL的圖形層沒有正常加載成功:

ffmpeg@ubuntu:~/work/ffmpeg-3.4.2$ ./ffout/bin/ffplay ../4k.mp4 ffplay version 3.4.2 Copyright (c) 2003-2018 the FFmpeg developersbuilt with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 20160609configuration: --prefix=ffoutlibavutil 55. 78.100 / 55. 78.100libavcodec 57.107.100 / 57.107.100libavformat 57. 83.100 / 57. 83.100libavdevice 57. 10.100 / 57. 10.100libavfilter 6.107.100 / 6.107.100libswscale 4. 8.100 / 4. 8.100libswresample 2. 9.100 / 2. 9.100 Could not initialize SDL - No available video device (Did you set the DISPLAY variable?)

而SDL圖層一般依賴于x11圖形系統,所以需要安裝對應的包:

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

安裝x11后,需要重新編譯和安裝SDL,最好是用源代碼重新解壓縮編譯。
如果遇到播放沒有聲音,需要系統安裝對應的音頻設備包:

sudo apt-get install libasound-dev sudo apt-get install libasound2-dev

同樣的,完畢后需要徹底重新編譯安裝SDL。

下面是播放的視頻截圖:

總結

以上是生活随笔為你收集整理的在ubuntu16.04下测试ffplay程序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。