ffmpeg由Fabrice Bellard創(chuàng)建,他與QEMU和QuickJS ( JSLinux背后的引擎)的創(chuàng)建者相同。
本文介紹了許多不同的 ffmpeg 用例,假設(shè)讀者具有該軟件的基本知識(shí)。您將在本文中看到各種實(shí)際示例。更多詳細(xì)信息,請(qǐng)參考官方文檔頁(yè)面。
盡管它們以多行形式呈現(xiàn),但以下所有示例都是一行。只需將它們復(fù)制并粘貼到您的終端中,然后按 Enter。
1. 編解碼器選項(xiàng)
ffmpeg 支持的可用編解碼器非常多。以下示例是一些最流行的組合,已在許多不同的商業(yè)項(xiàng)目中使用。
1.1 轉(zhuǎn)換為 MP4
linuxmi@linuxmi /home/linuxmi/linuxmi.com ffmpeg -i linuxmi.mov -c:v libx264 -c:a aac linuxmi.con.mp4
libx264是最流行的 H.264 編碼器之一。libx264+aac組合支持 IE11。使用-crf選項(xiàng)來(lái)控制輸出質(zhì)量。
1.2 轉(zhuǎn)換為 WebM
linuxmi@linuxmi /home/linuxmi/linuxmi.com ffmpeg -i linuxmi.mov -c:v libvpx-vp9 -crf 31 -b:v 1M -c:a libvorbis linuxmi.webm
-crf代表恒定速率因子。libvpx沒(méi)有默認(rèn)的 CRF 值。-crf 31用于 1080p 通常被認(rèn)為足夠好了,而它可以接受 0(無(wú)損)和 63(最差質(zhì)量)之間的任何數(shù)字。供您參考,libx264的默認(rèn)值為 28,范圍從 0 到 51。
-b:v是比特率的一個(gè)選項(xiàng)。值1M與1000k 相同。
1.3 轉(zhuǎn)換為 Ogg
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com ffmpeg -i linuxmi.mov -c:v libtheora -q:v 5 -c:a libvorbis -q:a 5 linuxmi.ogg
-q:v(視頻)和-q:a(音頻)是可變比特率 (VBR) 質(zhì)量級(jí)別的選項(xiàng)。取值范圍是 1-31,其中 1 是最高質(zhì)量,31 是最低質(zhì)量?;蛘撸鼈兎謩e與-qscale:v和-qscale:a相同。
1.4 轉(zhuǎn)換為 GIF
ffmpeg -i linuxmi.mov -vf " scale=960:-1, fps=16, split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse " -loop 0 linuxmi.gif
1.5 保持原始編碼
ffmpeg -i linuxmi.mov -c copy linuxmi.com.mov這會(huì)創(chuàng)建源文件的副本。
1.6 移除音軌
ffmpeg -i linuxmi.mov -c:v copy -an linuxmi.mp4-an用于刪除音軌,同時(shí)通過(guò)-c:v copy選項(xiàng)保留視頻軌道。
1.7 將第 99 幀導(dǎo)出為圖像
ffmpeg -i linuxmi.mov -vf "select=eq(n, 98)" -vframes 1 linuxmi.png由于幀數(shù)從 0 開(kāi)始,所以選項(xiàng)應(yīng)該是"select=eq(n, 98)",而不是"select=eq(n, 99)"。
1.8 5秒導(dǎo)出一幀到一張圖片
ffmpeg -i linuxmi.mov -ss 00:05:00 -vframes 1 linuxmi.png
2.高級(jí)編輯功能
您可以將以下選項(xiàng)與上述任何編解碼器設(shè)置結(jié)合使用。
2.1 從源文件中剪切特定范圍
ffmpeg -i linuxmi.mov -ss 00:05:00 -t 12 linuxmi.mp4輸出文件將從源文件的 5 分鐘開(kāi)始,最大長(zhǎng)度為 12 秒,這意味著如果源文件長(zhǎng)于該時(shí)間,則輸出視頻將在源視頻的 0012 結(jié)束。
或者,-ss 0000 -to 0012或-ss 300 -t 12可用于相同的結(jié)果。-ss可以不帶-t選項(xiàng)使用。
2.2 調(diào)整視頻大小
調(diào)整為 1920x1080
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com ffmpeg -i linuxmi.mov -vf "scale=1920:1080" linuxmi.mp4
將寬度調(diào)整為 1920 保持源比率
ffmpeg -i linuxmi.mov -vf "scale=1920:-1" linuxmi.mp4
將寬度調(diào)整為 1920,但使用黑色填充將高度設(shè)置為 2160
ffmpeg -i linuxmi.mov -vf "scale=1920:-1, pad=1920-1color=black" linuxmi.mp4
2.3 改變視頻播放速度
2 倍速度
ffmpeg -i linuxmi.mov -vf "setpts=PTS/2" -af "asetpts=PTS/2" linuxmi.mp4
1/2x 速度
ffmpeg -i linuxmi.mov -vf "setpts=PTS/.5" -af "asetpts=PTS/.5" linuxmi.mp4PTS代表演示時(shí)間戳。您可以通過(guò)分別在視頻過(guò)濾器 ( -vf) 和音頻過(guò)濾器 ( -af)上給出不同的數(shù)字來(lái)應(yīng)用不同的視頻和音頻速度。
2.4 設(shè)置每秒幀數(shù)(FPS)
ffmpeg -i linuxmi.mov -vf "fps=30" linuxmi.mp4
2.5 合并多個(gè)視頻
ffmpeg -safe 0 -f concat -i <( for f in $PWD/*.@(mov|mp4); do printf "file ${f} "; done; ) -c copy linuxmi.mov上面的命令將當(dāng)前目錄中的所有 .mov 和 .mp4 文件合并并創(chuàng)建output.mov文件。所有視頻必須具有相同的尺寸比以避免拉伸或變形。
2.6 設(shè)置畫(huà)面組(GOP)
GOP(Group of Pictures)策略影響編碼質(zhì)量,所謂GOP,意思是畫(huà)面組,一個(gè)GOP就是一組連續(xù)的畫(huà)面。
ffmpeg -i linuxmi.mov -g 300 linuxmi.mp4 GOP 表示兩個(gè)關(guān)鍵幀之間的距離。
2.7 復(fù)制源媒體的元數(shù)據(jù)
ffmpeg -i source.mov -map_metadata 0 -movflags use_metadata_tags linuxmi.mp4由于某些視頻存儲(chǔ)自定義元數(shù)據(jù),此命令可能無(wú)法正確復(fù)制所有數(shù)據(jù)。
如果要檢查元數(shù)據(jù),請(qǐng)安裝exiftool并運(yùn)行:
exiftool -g1 -a -s -gps* linuxmi.mp4`或者,您可以使用 exiftool 復(fù)制元數(shù)據(jù),如下所示:
exiftool -tagsFromFile source.mov -All:All linuxmi.mp4
審核編輯:湯梓紅
-
Linux
+關(guān)注
關(guān)注
87文章
11326瀏覽量
209961 -
編解碼器
+關(guān)注
關(guān)注
0文章
266瀏覽量
24262 -
音視頻
+關(guān)注
關(guān)注
4文章
481瀏覽量
29914 -
命令
+關(guān)注
關(guān)注
5文章
692瀏覽量
22063 -
ffmpeg
+關(guān)注
關(guān)注
0文章
46瀏覽量
7407
原文標(biāo)題:音視頻圖像處理神器 FFmpeg 有用的命令示例
文章出處:【微信號(hào):Linux迷,微信公眾號(hào):Linux迷】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論