前言
Github
地址:Github
簡(jiǎn)書地址:簡(jiǎn)書
專輯地址:FFplay專輯
32. 多媒體過濾器
以下是當(dāng)前可用的多媒體過濾器的說明鱼辙。
32.1 abitscope
將輸入音頻轉(zhuǎn)換為視頻輸出,顯示音頻位范圍坟桅。
過濾器接受以下選項(xiàng):
rate,r
設(shè)置幀速率,表示為每秒幀數(shù)。 默認(rèn)值為25
峦失。
size,s
指定輸出的視頻大小术吗。 有關(guān)此選項(xiàng)的語(yǔ)法尉辑,請(qǐng)查閱(ffmpeg-utils)視頻大小語(yǔ)法
。 默認(rèn)值為1024x256
较屿。
colors
指定由空格分隔的顏色列表或用于繪制通道的|
隧魄。 未識(shí)別或缺失的顏色將被白色替換。
32.2 ahistogram
將輸入音頻轉(zhuǎn)換為視頻輸出隘蝎,顯示音量直方圖购啄。
過濾器接受以下選項(xiàng):
dmode
指定如何計(jì)算直方圖。
它接受以下值:
值 | 解釋 |
---|---|
single | 對(duì)所有通道使用單個(gè)直方圖 |
separate | 為每個(gè)通道使用單獨(dú)的直方圖 |
默認(rèn)值是:single
嘱么。
rate狮含,r
設(shè)置幀速率,表示為每秒幀數(shù)曼振。 默認(rèn)值為25
几迄。
size,s
指定輸出的視頻大小冰评。 有關(guān)此選項(xiàng)的語(yǔ)法映胁,請(qǐng)查閱(ffmpeg-utils)視頻大小語(yǔ)法
。 默認(rèn)值為hd720
甲雅。
scale
設(shè)置顯示比例解孙。
它接受以下值:
值 | 解釋 |
---|---|
log | 對(duì)數(shù) |
sqrt | 平方根 |
cbrt | 立方根 |
lin | 線性 |
rlog | 反向?qū)?shù) |
默認(rèn)值是:log
坑填。
ascale
設(shè)置幅度標(biāo)度。
它接受以下值:
值 | 解釋 |
---|---|
log | 對(duì)數(shù) |
lin | 線性 |
默認(rèn)值是:log
妆距。
acount
設(shè)置在直方圖中累積的幀數(shù)穷遂。 Defauls
為1
。將此值設(shè)置為-1
會(huì)累積所有幀娱据。
rheight
設(shè)置窗口高度的直方圖比率。
slide
設(shè)置超聲波圖盅惜。
它接受以下值:
值 | 解釋 |
---|---|
replace | 用新的行替換舊行 |
scroll | 從上到下滾動(dòng) |
默認(rèn)值是:replace
中剩。
32.3 aphasemeter
將輸入音頻轉(zhuǎn)換為視頻輸出,顯示音頻相位抒寂。
過濾器接受以下選項(xiàng):
rate结啼,r
設(shè)置輸出幀速率。 默認(rèn)值為25
屈芜。
size郊愧,s
設(shè)置輸出的視頻大小。 有關(guān)此選項(xiàng)的語(yǔ)法井佑,請(qǐng)查閱(ffmpeg-utils)視頻大小語(yǔ)法
属铁。 默認(rèn)值為800x400
。
rc
gc
bc
指定紅色躬翁,綠色焦蘑,藍(lán)色對(duì)比度。 默認(rèn)值為2
,7
和1
盒发。允許范圍為[0,255]
例嘱。
mpc
設(shè)置將用于繪制中間相位的顏色。 如果color is none
是默認(rèn)值宁舰,則不會(huì)繪制中間相位值拼卵。
video
啟用視頻輸出。 默認(rèn)值已啟用蛮艰。
過濾器還導(dǎo)出幀元數(shù)據(jù)lavfi.aphasemeter.phase
腋腮,它表示當(dāng)前音頻幀的平均相位。 值在[-1,1]
范圍內(nèi)印荔。 -1
表示左右聲道完全異相低葫,1
表示聲道同相。
32.4 avectorscope
將輸入音頻轉(zhuǎn)換為視頻輸出仍律,表示音頻矢量范圍嘿悬。
濾波器用于測(cè)量立體聲音頻流的聲道之間的差異。 由相同的左和右信號(hào)組成的單聲道信號(hào)產(chǎn)生直的垂直線水泉。 任何立體聲分離都可以看作是與該線的偏差善涨,從而形成一個(gè)Lissajous
圖窒盐。 如果出現(xiàn)直線(或偏離它)但水平線出現(xiàn),則表示左右聲道異相钢拧。
過濾器接受以下選項(xiàng):
mode, m
設(shè)置矢量示波器模式蟹漓。
可用值如下所示:
值 | 解釋 |
---|---|
lissajous | 利薩如旋轉(zhuǎn)了45度 |
lissajous_xy | 與上述相同但未旋轉(zhuǎn) |
polar | 形狀類似于圓的一半 |
默認(rèn)值是:‘lissajous’
。
size, s
設(shè)置輸出的視頻大小源内。 有關(guān)此選項(xiàng)的語(yǔ)法葡粒,請(qǐng)檢查(ffmpeg-utils)視頻大小語(yǔ)法
。 默認(rèn)值為400x400
膜钓。
rate, r
設(shè)置輸出幀速率嗽交。 默認(rèn)值為25
。
rc
gc
bc
ac
指定紅色颂斜,綠色夫壁,藍(lán)色和Alpha
對(duì)比度。 默認(rèn)值為40
,160
,80
和255
沃疮。允許范圍為[0,255]
盒让。
rf
gf
bf
af
指定紅色,綠色司蔬,藍(lán)色和alpha
淡入淡出邑茄。 默認(rèn)值為15
,10
,5
和5
。允許范圍為[0,255]
葱她。
zoom
設(shè)置縮放系數(shù)撩扒。 默認(rèn)值為1
。允許的范圍為[0,10]
吨些。 低于1
的值將自動(dòng)將縮放系數(shù)調(diào)整為最大可能值搓谆。
draw
設(shè)置矢量示波器繪圖模式。
可用值如下所示:
值 | 解釋 |
---|---|
dot | 為每個(gè)樣本繪制點(diǎn) |
line | 在先前和當(dāng)前樣本之間畫線 |
默認(rèn)值是:‘dot
豪墅。
scale
指定音頻樣本的幅度比例泉手。
可用值如下所示:
值 | 解釋 |
---|---|
lin | 線性 |
sqrt | 平方根 |
cbrt | 立方根 |
log | 對(duì)數(shù) |
swap
用右通道軸交換左通道軸。
mirror
鏡軸偶器。
值 | 解釋 |
---|---|
none | 沒有鏡像 |
x | 僅鏡像x軸 |
y | 僅鏡像y軸 |
xy | 鏡像兩個(gè)軸 |
32.4.1 示例
-
使用
ffplay
的完整示例:ffplay -f lavfi 'amovie=input.mp3, asplit [a][out1]; [a] avectorscope=zoom=1.3:rc=2:gc=200:bc=10:rf=1:gf=8:bf=7 [out0]'
32.5 bench, abench
過濾圖的基準(zhǔn)部分斩萌。
過濾器接受以下選項(xiàng):
action
啟動(dòng)或停止計(jì)時(shí)器。
可用值如下所示:
值 | 解釋 |
---|---|
start | 獲取當(dāng)前時(shí)間屏轰,將其設(shè)置為幀元數(shù)據(jù)(使用密鑰lavfi.bench.start_time )颊郎,并將幀轉(zhuǎn)發(fā)到下一個(gè)過濾器 |
stop | 獲取當(dāng)前時(shí)間并從輸入幀元數(shù)據(jù)中獲取lavfi.bench.start_time 元數(shù)據(jù)以獲取時(shí)差。 然后打印時(shí)間差霎苗,平均值姆吭,最大和最小時(shí)間(分別為t ,avg 唁盏,max 和min )内狸。 時(shí)間戳以秒表示 |
32.5.1 示例
-
基準(zhǔn)選擇性濾色片:
bench=start,selectivecolor=reds=-.2 .12 -.49,bench=stop
32.6 concat
連接音頻和視頻流检眯,將它們一個(gè)接一個(gè)地連接在一起。
過濾器適用于同步視頻和音頻流的片段昆淡。所有段必須具有相同數(shù)量的每種類型的流锰瘸,并且這也將是輸出流的數(shù)量。
過濾器接受以下選項(xiàng):
n
設(shè)置段數(shù)昂灵。默認(rèn)值為2
避凝。
v
設(shè)置輸出視頻流的數(shù)量,也就是每個(gè)段中的視頻流數(shù)量眨补。默認(rèn)值為1
恕曲。
a
設(shè)置輸出音頻流的數(shù)量,即每個(gè)段中的音頻流數(shù)量渤涌。默認(rèn)值為0
。
unsafe
激活不安全模式:如果段具有不同的格式把还,請(qǐng)不要失敗实蓬。
濾波器具有v + a
輸出:第一個(gè)v
視頻輸出,然后是音頻輸出吊履。
有nx(v + a)
個(gè)輸入:首先是第一個(gè)段的輸入安皱,與輸出的順序相同,然后是第二個(gè)段的輸入艇炎,等等酌伊。
由于各種原因(包括編解碼器幀大小或草率創(chuàng)作),相關(guān)流并不總是具有完全相同的持續(xù)時(shí)間缀踪。出于這個(gè)原因居砖,應(yīng)該立即連接相關(guān)的同步流(例如視頻及其音頻軌道)。 concat
過濾器將使用每個(gè)段中最長(zhǎng)流的持續(xù)時(shí)間(除了最后一個(gè))驴娃,并且如果需要奏候,用靜音填充較短的音頻流。
要使此過濾器正常工作唇敞,所有段必須從時(shí)間戳0
開始蔗草。
所有相應(yīng)的流必須在所有段中具有相同的參數(shù);過濾系統(tǒng)將自動(dòng)選擇視頻流的常用像素格式,以及音頻流的常用樣本格式疆柔,采樣率和通道布局咒精,但其他設(shè)置(如分辨率)必須由用戶明確轉(zhuǎn)換。
不同的幀速率是可以接受的旷档,但會(huì)在輸出時(shí)產(chǎn)生可變的幀速率;一定要配置輸出文件來處理它模叙。
32.6.1 示例
-
連接一個(gè)開頭,一集和一個(gè)結(jié)尾彬犯,都是雙語(yǔ)版本(流
0
中的視頻向楼,流1
和2
中的音頻):ffmpeg -i opening.mkv -i episode.mkv -i ending.mkv -filter_complex \ '[0:0] [0:1] [0:2] [1:0] [1:1] [1:2] [2:0] [2:1] [2:2] concat=n=3:v=1:a=2 [v] [a1] [a2]' \ -map '[v]' -map '[a1]' -map '[a2]' output.mkv
-
連接兩部分查吊,分別處理音頻和視頻,使用
(a)
電影源湖蜕,并調(diào)整分辨率:movie=part1.mp4, scale=512:288 [v1] ; amovie=part1.mp4 [a1] ; movie=part2.mp4, scale=512:288 [v2] ; amovie=part2.mp4 [a2] ; [v1] [v2] concat [outv] ; [a1] [a2] concat=v=0:a=1 [outa]
請(qǐng)注意逻卖,如果音頻和視頻流在第一個(gè)文件中的持續(xù)時(shí)間不完全相同,則會(huì)在針跡處發(fā)生異步昭抒。
32.6.2 命令行
此篩選器支持以下命令:
next
關(guān)閉當(dāng)前段并轉(zhuǎn)到下一段评也。
32.7 drawgraph, adrawgraph
使用輸入視頻或音頻元數(shù)據(jù)繪制圖形。
它接受以下參數(shù):
m1
設(shè)置第一幀元數(shù)據(jù)鍵灭返,將使用元數(shù)據(jù)值繪制圖形盗迟。
fg1
設(shè)置第一個(gè)前景色表達(dá)式。
m2
設(shè)置第二幀元數(shù)據(jù)鍵熙含,將使用元數(shù)據(jù)值繪制圖形罚缕。
fg2
設(shè)置第二個(gè)前景色表達(dá)式。
m3
設(shè)置第3
幀元數(shù)據(jù)鍵怎静,將使用元數(shù)據(jù)值繪制圖形邮弹。
fg3
設(shè)置第3
個(gè)前景色表達(dá)式。
m4
設(shè)置第4
幀元數(shù)據(jù)鍵蚓聘,將使用元數(shù)據(jù)值繪制圖形腌乡。
fg4
設(shè)置第4
個(gè)前景色表達(dá)式。
min
設(shè)置元數(shù)據(jù)值的最小值夜牡。
max
設(shè)置元數(shù)據(jù)值的最大值与纽。
bg
設(shè)置圖形背景顏色。 默認(rèn)為白色塘装。
mode
設(shè)置圖形模式急迂。
模式的可用值如下所示:
值 |
---|
bar |
dot |
line |
默認(rèn)值是:line
。
slide
設(shè)置幻燈片模式氢哮。
幻燈片的可用值如下:
值 | 解釋 |
---|---|
frame | 到達(dá)右邊框時(shí)繪制新框架 |
replace | 用新的列替換舊列 |
scroll | 從右向左滾動(dòng) |
rscroll | 從左向右滾動(dòng) |
picture | 畫出單張照片 |
默認(rèn)值是:frame
袋毙。
size
設(shè)置圖形視頻的大小。 有關(guān)此選項(xiàng)的語(yǔ)法冗尤,請(qǐng)檢查(ffmpeg-utils)視頻大小語(yǔ)法
听盖。 默認(rèn)值為900x256
裂七。
前景色表達(dá)式可以使用以下變量:
變量 | 解釋 |
---|---|
MIN | 元數(shù)據(jù)值的最小值 |
MAX | 元數(shù)據(jù)值的最大值 |
VAL | 當(dāng)前元數(shù)據(jù)鍵值 |
顏色定義為0xAABBGGRR
。
使用來自signalstats
過濾器的元數(shù)據(jù)的示例:
signalstats,drawgraph=lavfi.signalstats.YAVG:min=0:max=255
使用來自ebur128
過濾器的元數(shù)據(jù)的示例:
ebur128=metadata=1,adrawgraph=lavfi.r128.M:min=-120:max=5