當前位置:首頁 » 編程軟體 » ffmpeg編程

ffmpeg編程

發布時間: 2022-06-14 02:05:06

1. linux ffmpeg 怎麼編64位

1、下載ffmpeg。
下載網址:http://www.ffmpeg.org/download.html
2、解壓縮
tar -zxvf ffmpeg-2.0.1.tar.gz
3、配置,生成Makefile
./configure --enable-shared --disable-yasm --prefix=/usr/local/ffmpeg
如果執行結果不對,可以根據提示信息,並查看幫助,解決問題
./configure --help
4、編譯安裝
make
make install
5、安裝之後在/usr/local/ffmpeg會看到有三個目錄
bin 執行文件目錄
lib 靜態,動態鏈接庫目錄
include 編程用到的頭文件
為了防止執行程序找不到庫文件,
可以將/usr/local/ffmpeg/lib目錄設置到LD_LIBRARY_PATH環境變數,
或者查看/usr/local/ffmpeg/lib下所有的鏈接,並在/usr/lib下建立同樣的鏈接。如下。
ln -s /usr/local/ffmpeg/lib/libavcodec.so /usr/lib/libavcodec.so
ln -s /usr/local/ffmpeg/lib/libavdevice.so /usr/lib/libavdevice.so
ln -s /usr/local/ffmpeg/lib/libavfilter.so /usr/lib/libavfilter.so
ln -s /usr/local/ffmpeg/lib/libavformat.so /usr/lib/libavformat.so
ln -s /usr/local/ffmpeg/lib/libavutil.so /usr/lib/libavutil.so
ln -s /usr/local/ffmpeg/lib/libswresample.so /usr/lib/libswresample.so
ln -s /usr/local/ffmpeg/lib/libswscale.so /usr/lib/libswscale.so
ln -s /usr/local/ffmpeg/lib/libavcodec.so /usr/lib/libavcodec.so.55
ln -s /usr/local/ffmpeg/lib/libavdevice.so /usr/lib/libavdevice.so.55
ln -s /usr/local/ffmpeg/lib/libavfilter.so /usr/lib/libavfilter.so.3
ln -s /usr/local/ffmpeg/lib/libavformat.so /usr/lib/libavformat.so.55
ln -s /usr/local/ffmpeg/lib/libavutil.so /usr/lib/libavutil.so.52
ln -s /usr/local/ffmpeg/lib/libswresample.so /usr/lib/libswresample.so.0
ln -s /usr/local/ffmpeg/lib/libswscale.so /usr/lib/libswscale.so.2

這時就需要在/etc/ld.so.conf下面加一行/usr/local/ffmpeg/lib,保存過後ldconfig一下,

這時就需要在/etc/ld.so.conf下面加一行/usr/local/MySQL/lib,保存過後ldconfig一下,

6、編譯測試程序
gcc -o ffmpegtest ffmpegtest.c -I/usr/local/ffmpeg/include -L/usr/local/ffmpeg/lib -lavformat -lavcodec -lavtuil
7、執行程序
./ffmpegtest
或直接執行/usr/local/ffmpeg/lib目錄下的./ffmpeg進行測試。

2. ffmpeg是基於什麼語言編寫的

很負責人的告訴你 是用c語言寫的 是個龐然大物 集成了編碼解碼等功能 裡面按功能劃分成了幾個庫 也依賴了一些其他的庫 FFmpeg被應用於很多的播放器甚至是商業產品中 比如暴風影音 QQ影音等播放器都是基於它開發的 你可以在GitHub上或者FFmpeg官網上找到它的源碼

3. linux伺服器怎麼安裝ffmpeg

1、下載ffmpeg。
2、解壓縮 tar -zxvf ffmpeg.tar.gz
3、編輯profile文件:

vi /etc/profile
在文件末尾加上兩句話:
export FFMPEG_HOME=/usr/local/ffmpeg
export PATH=$FFMPEG_HOME/bin:$PATH
4、配置安裝路徑之類的:
./configure --enable-shared --prefix=/usr/local/ffmpeg
--enable-shared 參數據說是允許其編譯產生動態庫,在以後的編程中要用到這個幾個動態庫。
如果出現異常,提示因為缺少yasm,需要添加參數,再執行以下命令:
./configure --enable-shared --disable-yasm --prefix=/usr/local/ffmpeg
如果執行結果不對,可以根據提示信息,並查看幫助,解決問題
./configure --help
5、編譯安裝
make
make install
6、安裝之後在/usr/local/ffmpeg會看到有三個目錄
bin 執行文件目錄
lib 靜態,動態鏈接庫目錄
include 編程用到的頭文件
7、為了防止執行程序找不到庫文件,
可以將/usr/local/ffmpeg/lib目錄設置到LD_LIBRARY_PATH環境變數
8、若出現error while loading shared libraries: libavdevice.so.52的錯誤
修改/etc/ld.so.conf 在最後一行加上/usr/local/ffmpeg/lib
ldconfig -v
並修改 /usr/local/ffmpeg/lib目錄下的文件許可權為777

4. 誰有ffmpeg的使用教程,剪切視頻失敗了

這篇文章主要介紹了PHP中使用FFMPEG獲取視頻縮略圖和視頻總時長實例,需要的朋友可以參考下 代碼如下: //獲得視頻文件的縮略圖 function getVideoCover($file,$time,$name) { if(empty($time))$time = '1';//默認截取第一秒第一幀 $strlen = strlen($file); // $videoCover = substr($file,0,$strlen-4); // $videoCoverName = $videoCover.'.jpg';//縮略圖命名 //exec("ffmpeg -i ".$file." -y -f mjpeg -ss ".$time." -t 0.001 -s 320x240 ".$name."",$out,$status); $str = "ffmpeg -i ".$file." -y -f mjpeg -ss 3 -t ".$time." -s 320x240 ".$name; //echo $str." "; $result = system($str); } //獲得視頻文件的總長度時間和創建時間 function getTime($file){ $vtime = exec("ffmpeg -i ".$file." 2>&1 grep 'Duration' cut -d ' ' -f 4 sed s/,//");//總長度 $ctime = date("Y-m-d H:i:s",filectime($file));//創建時間 //$ration = explode(":",$time); // $ration_in_seconds = $ration[0]*3600 + $ration[1]*60+ round($ration[2]);//轉化為秒 return array('vtime'=>$vtime, 'ctime'=>$ctime ); } 註:更多精彩文章請關注三聯編程教程欄目。

5. 如何安裝linux系統下的ffmpeg

linux下安裝ffmpeg1、下載ffmpeg。2、解壓tar xvfj ffmpeg-0.11.1.tar.bz2得到解壓後的目錄是ffmpeg-0.11.13、配置 ./configure --enable-shared --prefix=/usr/local/ffmpeg其中:--enable-shared 是允許其編譯產生動態庫,在以後的編程中要用到這個幾個動態庫。--prefix設置的安裝目錄。4、編譯並安裝makemake install5、安裝之後在/usr/local/ffmpeg會看到有四個目錄lib 動態鏈接庫位置include 編程要用到頭文件bin 執行文件所在的目錄 share6、為了以後方便編程,我們把lib中的三個鏈接庫libavcodec.so libavformat.so libavutil.so復制到/usr/lib下。把include目錄下的ffmpeg目錄復制到/usr/include下。執行bin目錄下的ffplay,可以去播放音頻或者視頻文件。例如播放1.mp3./ffplay 1.mp3 另外,bin目錄下還有兩個文件:ffmpeg和ffserverffmpeg是一個很好的視頻和音頻的格式轉化工具。網上有很多它的說明文檔。如果不想生成ffserver,只要在./configure的時候加--disable-ffserver即可。7、編程如果寫了一個test.c文件,要包含ffmpeg的頭文件,可以這樣寫:#include 編譯:gcc -o test test.c -lavformat -lavcodec -lavtuil (前提是有第6步的操作)如果沒有第6部的操作,則編譯的時候如下: gcc -o test test.c -I/usr/local/ffmpeg/include -L/usr/local/ffmpeg/lib -lavformat -lavcodec -lavtuil編譯成功之後,執行的時候還是需要動態庫的支持,還是要把那三個動態庫文件復制到/usr/lib或者/lib中,不然執行的時候會說找不到動態庫鏈接。還有一個方法可以解決這個問題,就是把/usr/local/ffmpeg/lib這個目錄加入到/etc/ld.so.config中,然後執行ldconfig,或者重啟電腦,這樣執行的時候系統就可以從/usr/local/ffmpeg/lib這個目錄下去找這三個動態庫文件了。以上的方式是採用動態庫編譯ffmpeg的,如果在configure的時候不加上--enable-shared的,則採用靜態鏈接的方式,不會生成那三個動態庫。同時生成的ffplay、ffmpeg的執行文件也比較的大,因為他們不需要動態庫的支持,就可以執行。但是不利於再次開發,所以我採用動態鏈接的方式。configure中還有很多的選項,可以通過./configure --help查看,也可以直接查看configure文件。這在配置的時候很重要。

6. linux下怎麼變異ffmpeg

1、下載ffmpeg。

wget http://down1.chinaunix.net/distfiles/ffmpeg-0.4.9-p20051120.tar.bz2

我是在這個網址上下載ffmpeg-0.4.9-p20051120.tar.bz2,看網上有人用的是svn下載,但是我的機子中沒有svn客戶端,然後就在網上搜索,下載了這個版本。如果利用svn可以下載ffmpeg最新的版本。

svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg

2、解壓

tar xvfj ffmpeg-0.4.9-p20051120.tar.bz2

得到解壓後的目錄是ffmpeg-0.4.9-p20051120,名字太長,利用mv命令改為ffmpeg

mv ffmpeg-0.4.9-p20051120.tar.bz2 ffmpeg

3、配置

./configure --enable-shared --prefix=/usr/local/ffmpeg

其中:--enable-shared 是允許其編譯產生動態庫,在以後的編程中要用到這個幾個動態庫。--prefix設置的安裝目錄。

4、編譯並安裝

make
make install

5、安裝之後在/usr/local/ffmpeg會看到有三個目錄

lib 動態鏈接庫位置
include 編程要用到頭文件
bin 執行文件所在的目錄

6、為了以後方便編程,我們把lib中的三個鏈接庫libavcodec.so libavformat.so libavutil.so復制到/usr/lib下。把include目錄下的ffmpeg目錄復制到/usr/include下。

這里我這樣復制了還是不對,-lavcodec -lavutil -lavformat的時候,提示找不到庫
然後我把 /usr/local/ffmpeg/lib 所有文件復制到 /usr/local/lib才可以的
執行bin目錄下的ffplay,可以去播放音頻或者視頻文件。例如播放1.mp3

./ffplay 1.mp3

另外,bin目錄下還有兩個文件:ffmpeg和ffserver

ffmpeg是一個很好的視頻和音頻的格式轉化工具。網上有很多它的說明文檔。如果不想生成ffserver,只要在./configure的時候加--disable-ffserver即可。

7、編程

如果寫了一個test.c文件,要包含ffmpeg的頭文件,可以這樣寫:

#include

編譯:gcc -o test test.c -lavformat -lavcodec -lavtuil (前提是有第6步的操作)

如果沒有第6部的操作,則編譯的時候如下:

gcc -o test test.c -I/usr/local/ffmpeg/include -L/usr/local/ffmpeg/lib -lavformat -lavcodec -lavtuil

編譯成功之後,執行的時候還是需要動態庫的支持,還是要把那三個動態庫文件復制到/usr/lib或者/lib中,不然執行的時候會說找不到動態庫鏈接。還有一個方法可以解決這個問題,就是把/usr/local/ffmpeg/lib這個目錄加入到/etc/ld.so.config中,然後執行 ldconfig,或者重啟電腦,這樣執行的時候系統就可以從/usr/local/ffmpeg/lib這個目錄下去找這三個動態庫文件了。

以上的方式是採用動態庫編譯ffmpeg的,如果在configure的時候不加上--enable-shared的,則採用靜態鏈接的方式,不會生成那三個動態庫。同時生成的ffplay、ffmpeg的執行文件也比較的大,因為他們不需要動態庫的支持,就可以執行。但是不利於再次開發,所以我採用動態鏈接的方式。configure中還有很多的選項,可以通過./configure --help查看,也可以直接查看configure文件。這在配置的時候很重要。

7. ffmpeg開發待遇

ffmpeg開發是音頻開發工作者,缺口很大,薪資待遇十分不錯,很多都在1.5萬以上了。

音視頻流媒體開發,工作機會佔80% 都在跑這個流程:

音視頻採集—>編碼 —>組包—>tcp/udp網路編程—>推流—>流媒體轉發—>客戶端拉流—>socket通訊—>解碼—>渲染。

這其中會用到ffmpeg的,就是最後那部分很小的,解碼那個階段。iOS上甚至都不需要ffmpeg。

我們大部分時候,都在這個流程中,做一個小功能,可能一做就是一年,兩年,三年。這個流程,可能是一個很大的研發團隊在做。年投入可能是百萬,千萬級別的。

另外20%的工作機會,在音視頻處理。最近幾年火起來的,各種AR特效,貼紙,美顏(opencv)。

還有新一代視頻編輯軟體(也是各種特效),都是基於OpenGL shader來做。 這個方面,用到ffmpeg也非常少。 最多是載入下視頻,最後保存下視頻。

所以音視頻開發工程師,簡單概括起來, 要麼做流媒體開發,要麼音視頻處理開發。

音視頻開發的前景,從相關的招聘網站上就可以看到,不管是流媒體開發還是音視頻處理開發,都是大量招人的,並且由於入門門檻相對較高,學習周期長,薪資也是居高不下。

總結如下:

音視頻目前的開發前進是很好的,隨著5G時代的到來,再加上這次的疫情讓在線會議和在線教育一下子進入了大家的視野,讓大家更了解音視頻是什麼了。再加上現在的直播行業也是很火爆的,所以現在可以說是音視頻的好時代。




8. Qt下使用ffmpeg編程的庫連接問題

這個函數定義在FFmpegSDK\include\libavutil文件夾下的commom.h文件里,你只要在工程的c++\\include裡麵包含這個路徑就行了

9. FFmpegFrameRecorder不支持ASF格式嗎

FFmpegFrameRecorder支持ASF格式。FFmpegFrameRecorder是構造函數為各種編程語言所調用。

10. ffmpeg 用什麼開發的

FFmpeg是一個集錄制、轉換、音/視頻編碼解碼功能為一體的完整的開源解決方案。FFmpeg的開發是基於Linux操作系統,但是可以在大多數操作系統中編譯和使用。FFmpeg支持MPEG、DivX、MPEG4、AC3、DV、FLV等40多種編碼,AVI、MPEG、OGG、Matroska、ASF等90多種解碼.TCPMP, VLC, MPlayer等開源播放器都用到了FFmpeg。

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:645
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:936
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:632
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:821
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:731
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1066
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:299
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:160
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:850
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:763