Ffmpeg的視頻操做官網文檔:https://ffmpeg.org/ffmpeg-filters.html#Video-Filtershtml
視頻壓縮用到的參數主要爲如下幾個:ide
碼率,即波特率。值越小,轉換後的視頻越小工具
碼率就是數據傳輸時單位時間傳送的數據位數,通常咱們用的單位是kbps即千位每秒。post
碼率與體積成正比:碼率越大,體積越大;碼率越小,體積越小。因爲文件體積與取樣率是成正比的,因此幾乎全部的編碼格式都想用最低的碼率達到最少的失真,「碼率」就是失真度,碼率越高越清晰,反之則畫面粗糙並且馬賽克多。編碼
建議碼率不要小於500。通常500k左右,人眼看不到明顯的閃爍。url
案例:ffmpeg.exe -i test.MP4 -b 600k output.mp4.net
指的是視頻的分辨率,常見的分辨率有4096*2304,1920*1080,720*576等。視頻
具體的值,能夠根據源視頻的分辨率作個等比的縮小。htm
案例:ffmpeg.exe -i test.MP4 -s 1920*1080 output.mp4blog
幀率(即視頻更新率),就是每秒編碼進視頻文件的幀數目,是用於測量顯示幀數的量度。
測量單位爲「每秒顯示幀數」(Frame Per Second,FPS,幀率)或「赫茲」,單位用FPS用來描述視頻每秒播放多少幀,而單位用赫茲用來描述顯示器的畫面每秒更新多少次。
常見的帖率有2五、30,高清電視有50、60幀。
通常幀率越高,視頻畫面越流暢。可是人類的眼睛須要每秒至少15幀才能將圖像連貫在一塊兒~
案例:ffmpeg.exe -i test.MP4 -r 25 output.mp4
通常的壓縮命令能夠用: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
參考文章: