- 安裝ffmpeg
sudo apt-get install ffmpeg
ffmpeg官網: https://www.ostechnix.com/install-ffmpeg-linux/
- ffmpeg命令的典型語句:
ffmpeg [全局選項] {[輸入文件選項] -i 輸入_url_地址} ...
{[輸出文件選項] 輸出_url_地址} ...
-
常用命令
-
獲取音頻、視頻文件信息
ffmpeg -i video.mp4
或ffmpeg -i video.mp4 -hide_banner
-
轉換視頻格式
ffmpeg -i video.mp4 video.avi
如果你想維持你的源視頻文件的質量,使用
-qscale 0
參數:ffmpeg -i input.webm -qscale 0 output.mp4
檢查 FFmpeg 的支持格式的列表,運行:
ffmpeg -formats
-
將視頻轉成音頻
ffmpeg -i input.mp4 -vn output.mp3
對輸出文件使用各種各樣的音頻轉換編碼選項,如:
ffmpeg -i input.mp4 -vn -ar 44100 -ac 2 -ab 320 -f mp3 output.mp3
說明
-vn 表面我們已經在輸出文件中禁止視頻錄制
-ar 設置輸出文件的音頻頻率 通常是22050HZ 44100HZ 48000HZ
-ac 設置音頻通道的數目
-ab 表明音頻比特率
-f 輸出文件格式
-
更改視頻文件的分辨率
設置視頻的分辨率為1280*720
ffmpeg -i input.mp4 -filter:v scale=1280:720 -c:a copy output.mp4
或
ffmpeg -i input.mp4 -s 1280x720 -c:a copy output.mp4
-
壓縮視頻文件
ffmpeg -i input.mp4 -vf scale=1280:-1 -c:v libx264 -preset veryslow -crf 24 output.mp4
減小視頻文件的大小,視頻質量會損失。如 24 太有侵略性,可以降低
-crf
值到或更低值。你也可以通過下面的選項來轉換編碼音頻降低比特率,使其有立體聲感,從而減小大小。
-ac 2 -c:a aac -strict -2 -b:a 128k
-
壓縮音頻文件,如: 將文件壓縮為128kbps
ffmpeg -i input.mp3 -ab 128 output.mp3
音頻的比特率列表有:
- 96kbps
- 112kbps
- 128kbps
- 160kbps
- 192kbps
- 256kbps
- 320kbps
-
去掉視頻中的聲音
ffmpeg -i input.mp4 -an output.mp4
-an
表示沒有音頻錄制 -
獲取視頻文件中的音頻,命令轉換所給定媒體文件為音頻文件
ffmpeg -i input.mp4 -vn output.mp3
或 使用
-ab
指定輸出文件的比特率ffmpeg -i input.mp4 -vn -ab 320 output.mp3
-
從視頻中提前圖像,從一個視頻文件中創建一個相冊.
ffmpeg -i input.mp4 -r 1 -f image2 image-%2d.png
說明:
-r 設置幀速度。即,每秒提取幀到圖像的數字。默認值是 25。
-f 表示輸出格式,即,在我們的實例中是圖像。
image-%2d.png 表明我們如何想命名提取的圖像。在這個實例中,命名應該像這樣image-01.png、image-02.png、image-03.png 等等開始。如果你使用
%3d
,那么圖像的命名像 image-001.png、image-002.png 等等開始。 -
裁剪視頻
ffmpeg -i input.mp4 -filter:v "crop=w:h:x:y" output.mp4
說明:
input.mp4 源視頻文件。
filter:v 表示視頻過濾器。
crop 表示裁剪過濾器。
w 我們想自源視頻中裁剪的矩形的寬度。
h 矩形的高度。
x 我們想自源視頻中裁剪的矩形的 x 坐標 。
y 矩形的 y 坐標。
比如說你想要一個來自視頻的位置 (200,150),且具有 640 像素寬度和 480 像素高度的視頻,命令應該是:
ffmpeg -i input.mp4 -filter:v "crop=640:480:200:150" output.mp4
-
轉換一個視頻的具體部分
有時,你可能想僅轉換視頻文件的一個具體的部分到不同的格式。以示例說明,下面的命令將轉換所給定視頻input.mp4 文件的開始 10 秒到視頻 .avi 格式。
ffmpeg -i input.mp4 -t 10 output.avi
在這里,我們以秒具體說明時間。此外,以
hh.mm.ss
格式具體說明時間也是可以的。 -
設置視頻的屏幕高寬比
ffmpeg -i input.mp4 -aspect 16:9 output.mp4
通常使用的高寬比:
- 16:9
- 4:3
- 16:10
- 5:4
- 2:21:1
- 2:35:1
- 2:39:1
-
根據開始和結束時間裁剪一段視頻文件
ffmpeg -i input.mp4 -ss 00:00:50 -codec copy -t 50 output.mp4
-s 表示視頻剪輯的開始時間。在我們的示例中,開始時間是第 50 秒。
-t 表示總的持續時間。
或
ffmpeg -i audio.mp3 -ss 00:01:54 -to 00:06:53 -c copy output.mp3
-