一、安裝1.下載2.安裝??首先,我們打開FFmpeg的官網(wǎng),然后點擊“Download”按鈕,進入下載頁面,下載對應的版本即可。然后在電腦上安裝。Windows還需要將安裝目錄添加到環(huán)境變量。 ??查看FFmpeg的幫助界面,讓我們在控制臺輸入以下命令: ?? ??然后ffmpeg就會輸出它的幫助信息。由于信息是英文的,因此需要一點耐心去閱讀它。 ?? ??這是關于編碼器和解碼器的信息,然后我們可以輸入以下代碼,分別查看編碼器和解碼器的可選項: ffmpeg -decoders ffmpeg -encoders ffmpeg -codecs ??我們會發(fā)現(xiàn)輸出了一堆信息,讓我們眼花繚亂。是的,F(xiàn)Fmpeg就是這么強大,支持很多的編解碼器. 二、命令1.ts轉mp4
??copy為原視頻格式 ??有一點要注意,ffmpeg使用時候文件名稱不能包含空格,否則會跳過,如果有空格需要加上引號,例如 "v i d eo.ts"
??轉為H264格式,速度略慢,取決于電腦速度
2.ts批量轉為mp4??在電腦上,新建一個.bat文本,在ts視頻目錄執(zhí)行即可,下面del %%a,為轉為mp4之后,刪除原文件,不需要可刪除那段 代碼如下: for %%a in (*.ts) do ( ffmpeg -i "%%a" -c copy "%%~na.mp4" del "%%a" ) ??轉換多種格式 set Ext=*.ts,*.avi,*.wmv,*.flv,*.mkv,*.rmvb,*.rm,*.mov for %%a in (%Ext%) do ( ffmpeg -i "%%a" -c copy "%%~na.mp4" del "%%a" ) 3.視頻壓縮??hevc壓縮
??然后,經過一段時間的等待,我們就可以看到結果了! ??進行更高級的壓縮??在這里,我們講解一下上面的參數(shù)設置的含義。crf是Constant Rate Factor的縮寫,它的值越小,畫質越高,占用的空間越大。它的可選項為0~51,默認為28.當crf在20以下的時候,就能實現(xiàn)視覺上的無損。 ??此外,F(xiàn)Fmpeg還為我們提供了一些預設選項,我們可以通過preset選項,快速設置x265編碼的時候使用到的參數(shù)。 ??preset的可選項按照編碼速度從快到慢,排列如下: ultrafast superfast veryfast faster fast medium slow slower veryslow placebo ??編碼速度越慢,則壓縮效果及畫質越好。preset選項的默認參數(shù)為medium。 ??輸出最高壓縮效果的視覺無損視頻 ffmpeg -i 輸入文件名 -c:v libx265 -x265-params crf=18:preset=placebo output/輸出文件名.mp4 對于上面的視頻,我們可以用下面這個壓縮命令:
??雖然這次的體積只減少了13.1%,但是肉眼看視頻的時候,很明顯感覺視頻畫質和原視頻沒啥區(qū)別。 這樣算下來,1GB的視頻,使用最高畫質的無損壓縮,可以節(jié)省下131MB的空間呢!還是很可觀的! ??關鍵參數(shù)??;視頻壓縮用到的參數(shù)主要為以下幾個: 文件路徑:-i 輸入文件的路徑 碼率:-b:v 輸出文件的碼率 分辨率:-s 輸出文件的分辨率; 幀率:-r 輸出文件的幀率值 碼率 碼率,即波特率。值越小,轉換后的視頻越小 碼率??就是數(shù)據(jù)傳輸時單位時間傳送的數(shù)據(jù)位數(shù),一般我們用的單位是kbps即千位每秒。 ??碼率與體積成正比:碼率越大,體積越大;碼率越小,體積越小。由于文件體積與取樣率是成正比的,所以幾乎所有的編碼格式都想用最低的碼率達到最少的失真,“碼率”就是失真度,碼率越高越清晰,反之則畫面粗糙而且馬賽克多。 ??建議碼率不要小于500。一般500k左右,人眼看不到明顯的閃爍。 ?? 案例: 分辨率??指的是視頻的分辨率,常見的分辨率有40962304,19201080,720*576等。具體的值,可以根據(jù)源視頻的分辨率做個等比的縮小。 ?? 案例: 幀率??即視頻更新率,就是每秒編碼進視頻文件的幀數(shù)目,是用于測量顯示幀數(shù)的量度。測量單位為“每秒顯示幀數(shù)”(Frame Per Second,F(xiàn)PS,幀率)或“赫茲”,單位用FPS用來描述視頻每秒播放多少幀,而單位用赫茲用來描述顯示器的畫面每秒更新多少次。 ??常見的帖率有25、30,高清電視有50、60幀。一般幀率越高,視頻畫面越流暢。但是人類的眼睛需要每秒至少15幀才能將圖像連貫在一起~ ?? 案例: 將視頻壓縮指定大小 ffmpeg -i Desktop/input.mp4 -fs 10MB Desktop/output.mp4 ??-fs 10 : 表示文件大小最大值為10MB 設置視頻的幀率為20fps ffmpeg -i Desktop/input.mp4 -r 20 Desktop/output.mp4 ??-r 20:表示幀率設置為 20fps 設置視頻的碼率 ffmpeg -i Desktop/input.mp4 -b:v 1M Desktop/output.mp4 ??-b:v :指定視頻的碼率 ??-b:a : 指定音頻的碼率 ??1M:碼率的值 1M 表示 1Mb/s 設置視頻的分辨率 ffmpeg -i Desktop/input.mp4 -s 1920x1080 Desktop/output.mp4 ??-s 1920x1080表示分辨率為1920x1080 可以結合上面的命令一起來使用 ffmpeg -i Desktop/input.mp4 -s 1920x1080 -b:v 1M -r 20 Desktop/output.mp4 4.視頻裁剪??ffmpeg提供簡單的命令參數(shù): ffmpeg -ss START -t DURATION -i INPUT -vcodec copy -acodec copy OUTPUT ffmpeg -ss 00:00:01 -t 00:14:10 -i 11.15output.mp4 -vcodec copy -acodec copy 11.15output2.mp4 ??對上面的命令稍做個解釋。 -ss 開始時間,如: 00:00:20,表示從20秒開始; -t 時長,如: 00:00:10,表示截取10秒長的視頻; -i 輸入,后面是空格,緊跟著就是輸入視頻文件; -vcodec copy 和 -acodec copy表示所要使用的視頻和音頻的編碼格式,這里指定為copy表示原樣拷貝; INPUT,輸入視頻文件; OUTPUT,輸出視頻文件; |
|