Ffmpeg 視頻壓縮的幾個關鍵參數


Ffmpeg的視頻操作官網文檔:https://ffmpeg.org/ffmpeg-filters.html#Video-Filters

視頻壓縮用到的參數主要為以下幾個:

  • 文件路徑:-i 輸入文件的路徑
  • 碼率:-b:v 輸出文件的碼率
  • 分辨率:-s 輸出文件的分辨率;
  • 幀率:-r 輸出文件的幀率值

碼率

碼率,即波特率。值越小,轉換后的視頻越小

碼率就是數據傳輸時單位時間傳送的數據位數,一般我們用的單位是kbps即千位每秒。

碼率與體積成正比:碼率越大,體積越大;碼率越小,體積越小。由於文件體積與取樣率是成正比的,所以幾乎所有的編碼格式都想用最低的碼率達到最少的失真,“碼率”就是失真度,碼率越高越清晰,反之則畫面粗糙而且馬賽克多。

建議碼率不要小於500。一般500k左右,人眼看不到明顯的閃爍。

案例:ffmpeg.exe -i test.MP4 -b 600k output.mp4

分辨率

指的是視頻的分辨率,常見的分辨率有4096*2304,1920*1080,720*576等。

具體的值,可以根據源視頻的分辨率做個等比的縮小。

案例:ffmpeg.exe -i test.MP4 -s 1920*1080 output.mp4

幀率

幀率(即視頻更新率),就是每秒編碼進視頻文件的幀數目,是用於測量顯示幀數的量度。

測量單位為“每秒顯示幀數”(Frame Per Second,FPS,幀率)或“赫茲”,單位用FPS用來描述視頻每秒播放多少幀,而單位用赫茲用來描述顯示器的畫面每秒更新多少次。

常見的帖率有25、30,高清電視有50、60幀。

一般幀率越高,視頻畫面越流暢。但是人類的眼睛需要每秒至少15幀才能將圖像連貫在一起~

案例:ffmpeg.exe -i test.MP4 -r 25 output.mp4

FFmpeg使用

一般的壓縮命令可以用:ffmpeg.exe -i test.MP4 -b:v 500k -r 25 -s 1920x1080 output.mp4。分辨率可以根據源視頻的尺寸等比進行設置~

1. 下載ffmpeg.exe

ffmpeg.exe文件下載鏈接: https://pan.baidu.com/s/1DmeIHlDsCTq1SdSm_ejbmQ 提取碼: jrkm

2.Xabe.FFmpeg

Xabe.FFmpeg是一個ffmpeg第三方封裝,它提供了ffmpeg的下載、管理以及ffmpeg.exe的詳細封裝操作,使ffmpeg的操作更加簡潔。

通過Nuget包引用后(只支持.net 4.6.1及以上),調用await FFmpeg.GetLatestVersion(FFmpegVersion.Full); 即可獲取相應的版本。

 Xabe.FFmpeg的使用,可參考博客:C# 中使用 FFmpeg.NET

 

參考文章:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM