1. 程式人生 > >使用ffmpeg視訊格式轉換、視訊截圖、視訊採集、螢幕錄製

使用ffmpeg視訊格式轉換、視訊截圖、視訊採集、螢幕錄製

ffmpeg.exe-i F:閃客之家閃客之歌.mp3 -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 f:11.flv
ffmpeg -i F:01.wmv -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 f:test.flv
使用-ss引數 作用(time_off set the start time offset),可以從指定時間點開始轉換任務。如:
轉換檔案格式的同時抓縮微圖:
ffmpeg -i "test.avi" -y -f image2 -ss 8 -t 0.001 -s 350x240 'test.jpg'
對已有flv抓圖:
ffmpeg -i "test.flv
" -y -f image2 -ss 8 -t 0.001 -s 350x240 'test.jpg'
-ss後跟的時間單位為秒
Ffmpeg轉換命令
ffmpeg -y -i test.mpeg -bitexact -vcodec h263 -b 128 -r 15 -s 176x144 -acodec aac -ac 2 -ar 22500
-ab 24 -f 3gp test.3gp
或者
ffmpeg -y -i test.mpeg -ac 1 -acodec amr_nb -ar 8000 -s 176x144 -b 128 -r 15 test.3gp


ffmpeg引數設定解說
-bitexact 使用標準位元率
-vcodec xvid 使用xvid壓縮
-s 320x240 指定解析度
-r 29.97 楨速率(可以改,確認非標準楨率會導致音畫不同步,所以只能設定為15或者29.97)
畫面部分,選其一
-b <位元率> 指定壓縮位元率,似乎ffmpeg是自動VBR的,指定了就大概是平均位元率,比如768,1500這樣的
就是原來預設專案中有的
-qscale <數值> 以<數值>質量為基礎的VBR,取值0.01-255,約小質量越好
-qmin <數值> 設定最小質量,與-qmax(設定最大質量)共用,比如-qmin 10 -qmax 31
-sameq 使用和源同樣的質量
聲音部分
-acodec aac 設定聲音編碼
-ac <數值> 設定聲道數,1就是單聲道,2就是立體聲,轉換單聲道的TVrip可以用1(節省一半容量),高品質
的DVDrip就可以用2
-ar <取樣率> 設定聲音取樣率,PSP只認24000
-ab <位元率> 設定聲音位元率,前面-ac設為立體聲時要以一半位元率來設定,比如192kbps的就設成96,轉換
君預設位元率都較小,要聽到較高品質聲音的話建議設到160kbps(80)以上
-vol <百分比> 設定音量,某些DVDrip的AC3軌音量極小,轉換時可以用這個提高音量,比如200就是原來的2倍
這樣,要得到一個高畫質音質低容量的MP4的話,首先畫面最好不要用固定位元率,而用VBR引數讓程式自己去
判斷,而音質引數可以在原來的基礎上提升一點,聽起來要舒服很多,也不會太大(看情況調整


例子:ffmpeg -y -i "1.avi" -title "Test" -vcodec xvid -s 368x208 -r 29.97 -b 1500 -acodec aac -ac 2 -ar 24000 -ab 128 -vol 200 -f psp -muxvb 768 "1.***"

解釋:以上命令可以在Dos命令列中輸入,也可以建立到批處理檔案中執行。不過,前提是:要在ffmpeg所在的目錄中執行(轉換君所在目錄下面的cores子目錄)。
引數:
-y(覆蓋輸出檔案,即如果1.***檔案已經存在的話,不經提示就覆蓋掉了)
-i "1.avi"(輸入檔案是和ffmpeg在同一目錄下的1.avi檔案,可以自己加路徑,改名字)
-title "Test"(在PSP中顯示的影片的標題)
-vcodec xvid(使用XVID編碼壓縮視訊,不能
改的)
-s 368x208(輸出的解析度為368x208,注意片源一定要是16:9的不然會變形)
-r 29.97(幀數,一般就用這個吧)
-b 1500(視訊資料流量,用-b xxxx的指令則使用固定位元速率,數字隨便改,1500以上沒效果;還可以用動態位元速率如:-qscale 4和-qscale 6,4的質量比6高)
-acodec aac(音訊編碼用AAC)
-ac 2(聲道數1或2)
-ar 24000(聲音的取樣頻率,好像PSP只能支援24000Hz)
-ab 128(音訊資料流量,一般選擇32、64、96、128)
-vol 200(200%的音量,自己改)
-f psp(輸出psp專用格式)
-muxvb 768(好像是給PSP機器識別的位元速率,一般選擇384、512和768,我改成1500,PSP就說檔案損壞了)
"1.***"(輸出檔名,也可以加路徑改檔名)

機器強勁的話,可以多開幾個批處理檔案,讓它們並行處理。
E:ffmpeg.exe
-i I:1.wmv -b 360 -r 25 -s 320x240 -hq -deinterlace -ab 56 -ar 22050 -ac 1 D:2.flv
===========================================
ffmpeg.exe-i F:閃客之家閃客之歌.mp3 -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 f:11.flvffmpeg -i F:01.wmv -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 f:test.flv使用-ss引數 作用(time_off set the start time offset),可以從指定時間點開始轉換任務。如:
轉換檔案格式的同時抓縮微圖:
ffmpeg -i "test.avi" -y -f image2 -ss 8 -t 0.001 -s 350x240 'test.jpg'
對已有flv抓圖:
ffmpeg -i "test.flv" -y -f image2 -ss 8 -t 0.001 -s 350x240 'test.jpg'
-ss後跟的時間單位為秒 Ffmpeg轉換命令
ffmpeg -y -i test.mpeg -bitexact -vcodec h263 -b 128 -r 15 -s 176x144 -acodec aac -ac 2 -ar 22500 -ab 24 -f 3gp test.3gp
或者
ffmpeg -y -i test.mpeg -ac 1 -acodec amr_nb -ar 8000 -s 176x144 -b 128 -r 15 test.3gp ffmpeg引數設定解說
-bitexact 使用標準位元率
-vcodec xvid 使用xvid壓縮
-s 320x240 指定解析度
-r 29.97 楨速率(可以改,確認非標準楨率會導致音畫不同步,所以只能設定為15或者29.97)


畫面部分,選其一
-b <位元率> 指定壓縮位元率,似乎ffmpeg是自動VBR的,指定了就大概是平均位元率,比如768,1500這樣的就是原來預設專案中有的
-qscale <數值> 以<數值>質量為基礎的VBR,取值0.01-255,約小質量越好
-qmin <數值> 設定最小質量,與-qmax(設定最大質量)共用,比如-qmin 10 -qmax 31
-sameq 使用和源同樣的質量 聲音部分
-acodec aac 設定聲音編碼
-ac <數值> 設定聲道數,1就是單聲道,2就是立體聲,轉換單聲道的TVrip可以用1(節省一半容量),高品質的DVDrip就可以用2
-ar <取樣率> 設定聲音取樣率,PSP只認24000
-ab <位元率> 設定聲音位元率,前面-ac設為立體聲時要以一半位元率來設定,比如192kbps的就設成96,轉換君預設位元率都較小,要聽到較高品質聲音的話建議設到160kbps(80)以上
-vol <百分比> 設定音量,某些DVDrip的AC3軌音量極小,轉換時可以用這個提高音量,比如200就是原來的2倍 這樣,要得到一個高畫質音質低容量的MP4的話,首先畫面最好不要用固定位元率,而用VBR引數讓程式自己去判斷,而音質引數可以在原來的基礎上提升一點,聽起來要舒服很多,也不會太大(看情況調整 例子:ffmpeg -y -i "1.avi" -title "Test" -vcodec xvid -s 368x208 -r 29.97 -b 1500 -acodec aac -ac 2 -ar 24000 -ab 128 -vol 200 -f psp -muxvb 768 "1.***"

解釋:以上命令可以在Dos命令列中輸入,也可以建立到批處理檔案中執行。不過,前提是:要在ffmpeg所在的目錄中執行(轉換君所在目錄下面的cores子目錄)。
引數:
-y(覆蓋輸出檔案,即如果1.***檔案已經存在的話,不經提示就覆蓋掉了)
-i "1.avi"(輸入檔案是和ffmpeg在同一目錄下的1.avi檔案,可以自己加路徑,改名字)
-title "Test"(在PSP中顯示的影片的標題)
-vcodec xvid(使用XVID編碼壓縮視訊,不能改的)
-s 368x208(輸出的解析度為368x208,注意片源一定要是16:9的不然會變形)
-r 29.97(幀數,一般就用這個吧)
-b 1500(視訊資料流量,用-b xxxx的指令則使用固定位元速率,數字隨便改,1500以上沒效果;還可以用動態位元速率如:-qscale 4和-qscale 6,4的質量比6高)
-acodec aac(音訊編碼用AAC)
-ac 2(聲道數1或2)
-ar 24000(聲音的取樣頻率,好像PSP只能支援24000Hz)
-ab 128(音訊資料流量,一般選擇32、64、96、128)
-vol 200(200%的音量,自己改)
-f psp(輸出psp專用格式)
-muxvb 768(好像是給PSP機器識別的位元速率,一般選擇384、512和768,我改成1500,PSP就說檔案損壞了)
"1.***"(輸出檔名,也可以加路徑改檔名)

P.S. 版主機器強勁的話,可以多開幾個批處理檔案,讓它們並行處理。 E:ffmpeg.exe-i I:1.wmv -b 360 -r 25 -s 320x240 -hq -deinterlace -ab 56 -ar 22050 -ac