日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

FFplay文档解读-43-视频过滤器十八

發布時間:2024/1/8 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 FFplay文档解读-43-视频过滤器十八 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

29.170 telecine

將電視電影處理應用于視頻。

此過濾器接受以下選項:

first_field 選項解釋
top, ttop field first
bottom, b底部字段優先默認值為top
pattern

一串數字,表示希望應用的下拉模式。 默認值為23。

Some typical patterns:NTSC output (30i): 27.5p: 32222 24p: 23 (classic) 24p: 2332 (preferred) 20p: 33 18p: 334 16p: 3444PAL output (25i): 27.5p: 12222 24p: 222222222223 ("Euro pulldown") 16.67p: 33 16p: 33333334

29.171 threshold

將閾值效果應用于視頻流。

此過濾器需要四個視頻流才能執行閾值處理。 第一個流是我們正在過濾的流。 第二流保持閾值,第三流保持最小值,最后,第四流保持最大值。

過濾器接受以下選項:

planes

設置要處理的平面,將復制未處理的平面。 默認值為0xf,將處理所有平面。

例如,如果第一流像素的分量值小于來自第二閾值流的像素分量的閾值,則將拾取第三流值,否則將拾取第四流像素分量值。

使用顏色源過濾器可以執行各種類型的閾值處理:

29.171.1 示例

  • 二進制閾值,使用灰色作為閾值:

    ffmpeg -i 320x240.avi -f lavfi -i color=gray -f lavfi -i color=black -f lavfi -i color=white -lavfi threshold output.avi
  • 反轉二進制閾值,使用灰色作為閾值:

    ffmpeg -i 320x240.avi -f lavfi -i color=gray -f lavfi -i color=white -f lavfi -i color=black -lavfi threshold output.avi
  • 截斷二進制閾值,使用灰色作為閾值:

    ffmpeg -i 320x240.avi -f lavfi -i color=gray -i 320x240.avi -f lavfi -i color=gray -lavfi threshold output.avi
  • 閾值為零,使用灰色作為閾值:

    ffmpeg -i 320x240.avi -f lavfi -i color=gray -f lavfi -i color=white -i 320x240.avi -lavfi threshold output.avi
  • 使用灰色作為閾值將反轉閾值設置為零:

    ffmpeg -i 320x240.avi -f lavfi -i color=gray -i 320x240.avi -f lavfi -i color=white -lavfi threshold output.avi

學習地址:音視頻新手快速入門必備系列-FFmpeg+SDL播放器開發實現-學習視頻教程-騰訊課堂
【文章福利】免費領取更多音視頻學習資料包、大廠面試題、技術視頻和學習路線圖,資料包括(C/C++,Linux,FFmpeg webRTC rtmp hls rtsp ffplay srs 等等)有需要的可以點擊1079654574加群領取哦~ ?

??

29.172 thumbnail

在給定的連續幀序列中選擇最具代表性的幀。

過濾器接受以下選項:

n

設置幀批量大小進行分析; 在一組n幀中,過濾器將選擇其中一個,然后處理下一批n幀直到結束。 默認值為100。

由于過濾器會跟蹤整個幀序列,因此較大的n值將導致較高的內存使用量,因此不建議使用較高的值。

29.172.1 示例

  • 每50幀提取一張圖片:

    thumbnail=50
  • 使用ffmpeg創建縮略圖的完整示例:

    ffmpeg -i in.avi -vf thumbnail,scale=300:200 -frames:v 1 out.png

29.173 tile

將幾個連續的幀拼接在一起。

過濾器接受以下選項:

layout

設置網格大小(即行數和列數)。有關此選項的語法,請檢查(ffmpeg-utils)視頻大小語法。

nb_frames

設置給定區域中要渲染的最大幀數。它必須小于或等于wxh。默認值為0,表示將使用所有區域。

margin

設置外邊框邊距(以像素為單位)。

padding

設置內邊框厚度(即幀之間的像素數)。有關更高級的填充選項(例如邊緣的值不同),請參閱填充視頻濾鏡。

color

指定未使用區域的顏色。有關此選項的語法,請檢查(ffmpeg-utils)顏色語法。顏色的默認值為"black"。

overlap

將多個連續幀拼接在一起時,設置要重疊的幀數。該值必須介于0和nb_frames -1之間。

init_padding

在顯示第一個輸出幀之前,將幀數設置為最初為空。這可以控制獲得第一個輸出幀的時間。該值必須介于0和nb_frames -1之間。

29.173.1 示例

  • 在電影中制作所有關鍵幀('-skip_frame nokey')的8x8 PNG圖塊:

    ffmpeg -skip_frame nokey -i file.avi -vf 'scale=128:72,tile=8x8' -an -vsync 0 keyframes%03d.png

'-vsync 0'是必要的,以防止ffmpeg復制每個輸出幀以適應最初檢測到的幀速率。

  • 使用混合平面和命名選項在3x2幀的區域中顯示5張圖片,其間有7個像素,初始邊距為2像素:

    tile=3x2:nb_frames=5:padding=7:margin=2

29.174 tinterlace

執行各種類型的時域隔行掃描。

幀從1開始計數,因此第一個輸入幀被視為奇數。

過濾器接受以下選項:

mode

指定隔行掃描的模式。 此選項也可以單獨指定為值。 請參閱下文,了解此選項的值列表。

可用值包括:

merge, 0

將奇數幀移動到上部字段,甚至移動到下部字段,以半幀速率生成雙倍高度幀。

------> time Input: Frame 1 Frame 2 Frame 3 Frame 411111 22222 33333 44444 11111 22222 33333 44444 11111 22222 33333 44444 11111 22222 33333 44444Output: 11111 33333 22222 44444 11111 33333 22222 44444 11111 33333 22222 44444 11111 33333 22222 44444

drop_even, 1

僅輸出奇數幀,偶數幀被丟棄,生成半幀速率不變的幀。

------> time Input: Frame 1 Frame 2 Frame 3 Frame 411111 22222 33333 44444 11111 22222 33333 44444 11111 22222 33333 44444 11111 22222 33333 44444Output: 11111 33333 11111 33333 11111 33333 11111 33333

drop_odd, 2

僅輸出偶數幀,丟棄奇數幀,生成半幀速率不變的幀。

------> time Input: Frame 1 Frame 2 Frame 3 Frame 411111 22222 33333 44444 11111 22222 33333 44444 11111 22222 33333 44444 11111 22222 33333 44444Output:22222 4444422222 4444422222 4444422222 44444

pad, 3

將每個幀擴展到全高,但用黑色填充交替行,以相同的輸入幀速率生成具有雙倍高度的幀。

------> time Input: Frame 1 Frame 2 Frame 3 Frame 411111 22222 33333 44444 11111 22222 33333 44444 11111 22222 33333 44444 11111 22222 33333 44444Output: 11111 ..... 33333 ..... ..... 22222 ..... 44444 11111 ..... 33333 ..... ..... 22222 ..... 44444 11111 ..... 33333 ..... ..... 22222 ..... 44444 11111 ..... 33333 ..... ..... 22222 ..... 44444

interleave_top, 4

將奇數幀的上場與偶數幀的下場交錯,生成半幀率不變的幀。

------> time Input: Frame 1 Frame 2 Frame 3 Frame 411111<- 22222 33333<- 44444 11111 22222<- 33333 44444<- 11111<- 22222 33333<- 44444 11111 22222<- 33333 44444<-Output: 11111 33333 22222 44444 11111 33333 22222 44444

interleave_bottom, 5

將奇數幀的下部場與偶數幀的上部場交織,生成半幀速率不變的幀。

------> time Input: Frame 1 Frame 2 Frame 3 Frame 411111 22222<- 33333 44444<- 11111<- 22222 33333<- 44444 11111 22222<- 33333 44444<- 11111<- 22222 33333<- 44444Output: 22222 44444 11111 33333 22222 44444 11111 33333

interlacex2, 6

雙幀速率,高度不變。 插入幀,每個幀包含來自前一輸入幀的第二時間字段和來自下一輸入幀的第一時間字段。 此模式依賴于top_field_first標志。 對于沒有字段同步的隔行掃描視頻顯示很有用。

------> time Input: Frame 1 Frame 2 Frame 3 Frame 411111 22222 33333 44444 11111 22222 33333 44444 11111 22222 33333 44444 11111 22222 33333 44444Output: 11111 22222 22222 33333 33333 44444 44444 11111 11111 22222 22222 33333 33333 44444 11111 22222 22222 33333 33333 44444 44444 11111 11111 22222 22222 33333 33333 44444

mergex2, 7

將奇數幀移動到上部字段,甚至移動到下部字段,以相同的幀速率生成雙倍高度的幀。

------> time Input: Frame 1 Frame 2 Frame 3 Frame 411111 22222 33333 44444 11111 22222 33333 44444 11111 22222 33333 44444 11111 22222 33333 44444Output: 11111 33333 33333 55555 22222 22222 44444 44444 11111 33333 33333 55555 22222 22222 44444 44444 11111 33333 33333 55555 22222 22222 44444 44444 11111 33333 33333 55555 22222 22222 44444 44444

不推薦使用數字值,但出于向后兼容性原因,將接受這些值。

合并默認模式。

flags

指定影響過濾器進程的標志。

標志的可用值是:

low_pass_filter,vlfp

在濾波器中啟用線性垂直低通濾波。 從包含高頻垂直細節的漸進源創建隔行目標時,需要垂直低通濾波。 過濾將減少交錯'twitter'和莫爾圖案。

complex_filter,cvlfp

啟用復雜的垂直低通濾波。 這將略微減少交織’twitter’和莫爾圖案,但更好地保留細節和主觀銳度印象。

垂直低通濾波只能用于'mode'interleave_top和interleave_bottom。

29.175 tonemap

來自不同動態范圍的色調圖顏色。

此過濾器需要單精度浮點數據,因為它需要對(并且可以輸出)超出范圍的值進行操作。 需要另一個過濾器(如zscale)將結果幀轉換為可用格式。

實現的色調映射算法僅適用于線性光,因此輸入數據應預先線性化(并且可能正確標記)。

ffmpeg -i INPUT -vf zscale=transfer=linear,tonemap=clip,zscale=transfer=bt709,format=yuv420p OUTPUT

29.175.1 選項

過濾器接受以下選項。

tonemap

設置要使用的色調映射算法。

可能的值如下:

值解釋
none不要應用任何色調映射,只能去飽和過亮像素
clip硬剪輯任何超出范圍的值。 使用它可以獲得范圍內值的完美顏色精度,同時扭曲超出范圍的值
linear將整個參考色域拉伸到顯示器的線性倍數
gamma在色調曲線之間進行對數轉換
reinhard使用非線性對比度,通過簡單的曲線保持整體圖像亮度,從而使細節變平并降低色彩精度
hable比reinhard更好地保留黑暗和明亮的細節,代價是略微變暗一切。 當細節保存比顏色和亮度準確性更重要時使用它
mobius平滑地繪制超出范圍的值,同時盡可能保留范圍內材料的對比度和顏色。 當顏色準確性比細節保存更重要時使用它

默認值是:none。

param

調整色調映射算法。

這會影響以下算法:

算法解釋
none忽視
linear指定拉伸時使用的比例因子。 默認為1.0
gamma指定函數的指數。 默認為1.8
clip指定一個額外的線性系數,在剪切前乘以信號。 默認為1.0
reinhard在顯示峰值處指定局部對比度系數。 默認為0.5,這意味著色域內值約為剪切時的一半
hable忽視
mobius指定從線性到mobius變換的過渡點。 低于此點的每個值都保證以1:1映射。 值越高,結果越準確,代價是丟失明亮的細節。 默認為0.3,由于陡峭的初始斜率仍然相當準確地保留了范圍內的顏色
desat

對超過此亮度級別的高光應用去飽和度。 參數越高,保留的顏色信息就越多。 此設置有助于防止超高光的不自然地被吹掉的顏色,通過(平滑地)變成白色。 這使得圖像感覺更自然,但代價是減少了關于超出范圍顏色的信息。

默認值2.0有點保守,主要適用于天空或直接陽光照射的表面。 設置為0.0將禁用此選項。

僅當輸入框架具有受支持的顏色標記時,此選項才有效。

peak

使用此值覆蓋signal/nominal/reference峰值。 當顯示元數據中的嵌入峰值信息不可靠或者從較低范圍到較高范圍的色調映射時有用。

29.176 transpose

在輸入視頻中轉置包含列的行,并可選擇將其翻轉。

它接受以下參數:

dir

指定轉置方向。

可以假設以下值:

0, 4, cclock_flip

??逆時針旋轉90度并垂直翻轉(默認),即:

????L.R L.l
????. . -> . .
????l.r R.r

1, 5, clock

??順時針旋轉90度,即:

????L.R l.L
????. . -> . .
????l.r r.R

2, 6, cclock

??逆時針旋轉90度,即:

????L.R R.r
????. . -> . .
????l.r L.l

3, 7, clock_flip

??順時針和垂直翻轉旋轉90度,即:

????L.R r.R
????. . -> . .
????l.r l.L

對于介于4-7之間的值,僅在輸入視頻幾何體為縱向而非橫向時才進行換位。 不推薦使用這些值,而應使用passthrough選項。

不推薦使用數值,應該刪除它們以支持符號常量。

passthrough

如果輸入幾何與指定值指定的幾何匹配,則不應用轉置。 它接受以下值:

none

始終應用換位。

portrait

保留縱向幾何體(當高度>=寬度時)。

landscape

保留橫向幾何體(當寬度>=高度時)。

默認值為none。

例如,順時針旋轉90度并保留縱向布局:

transpose=dir=1:passthrough=portrait

上面的命令也可以指定為:

transpose=1:portrait

29.177 trim

修剪輸入,使輸出包含輸入的一個連續子部分。

它接受以下參數:

start

指定保留部分的開始時間,即具有時間戳開始的幀將是輸出中的第一幀。

end

指定將被丟棄的第一幀的時間,即緊接在具有時間戳結束的幀之前的幀將是輸出中的最后一幀。

start_pts

這與start相同,但此選項以時基單位而不是秒為單位設置開始時間戳。

end_pts

這與end相同,但此選項以時基單位而不是秒為單位設置結束時間戳。

duration

輸出的最大持續時間(以秒為單位)。

start_frame

應傳遞給輸出的第一幀的編號。

end_frame

應刪除的第一幀的編號。

'start','end'和'duration'表示為持續時間規范;請參閱(ffmpeg-utils)接受語法的持續時間語法。

請注意,前兩組開始/結束選項和'duration'選項查看幀時間戳,而_frame變體只計算通過過濾器的幀。另請注意,此過濾器不會修改時間戳。如果希望輸出時間戳從零開始,請在修剪濾波器后插入一個setpts過濾器。

如果設置了多個開始或結束選項,則此過濾器會嘗試貪婪并保留與至少一個指定約束匹配的所有幀。要僅保留一次匹配所有約束的零件,請鏈接多個修剪過濾器。

默認值是保留所有輸入。所以可以設置例如只是最終值,以保持指定時間之前的一切。

例子:

  • 刪除除輸入的第二分鐘以外的所有內容:

    ffmpeg -i INPUT -vf trim=60:120
  • 只保留第一秒:

    ffmpeg -i INPUT -vf trim=duration=1

29.178 unpremultiply

使用第二個流的第一個平面作為alpha,將alpha不成倍增效應應用于輸入視頻流。

兩個流必須具有相同的尺寸和相同的像素格式。

過濾器接受以下選項:

planes

設置要處理的平面,將復制未處理的平面。 默認值為0xf,將處理所有平面。

如果格式有1或2個分量,則亮度為0。如果格式有3或4個分量:對于RGB格式,位0為綠色,位1為藍色,位2為紅色; 對于YUV格式,位0是亮度,位1是色度-U,位2是色度-V。 如果存在,alpha通道始終是最后一位。

inplace

不需要第二個輸入進行處理,而是使用輸入流中的alpha平面。

29.179 unsharp

銳化或模糊輸入視頻。

它接受以下參數:

luma_msize_x,lx

設置亮度矩陣水平尺寸。它必須是3到23之間的奇數。默認值為5。

luma_msize_y,ly

設置亮度矩陣垂直大小。它必須是3到23之間的奇數。默認值為5。

luma_amount,la

設置亮度效果強度。它必須是浮點數,合理的值介于-1.5和1.5之間。

負值會使輸入視頻模糊,而正值會使其銳化,零值將禁用效果。

默認值為1.0。

chroma_msize_x,cx

設置色度矩陣水平尺寸。它必須是3到23之間的奇數。默認值為5。

chroma_msize_y,cy

設置色度矩陣垂直大小。它必須是3到23之間的奇數。默認值為5。

chroma_amount,ca

設置色度效果強度。它必須是浮點數,合理的值介于-1.5和1.5之間。

負值會使輸入視頻模糊,而正值會使其銳化,零值將禁用效果。

默認值為0.0。

所有參數都是可選的,默認為字符串'5:5:1.0:5:5:0.0'的等效值。

29.179.1 示例

  • 應用強烈的亮度銳化效果:

    unsharp=luma_msize_x=7:luma_msize_y=7:luma_amount=2.5
  • 應用亮度和色度參數的強烈模糊:

    unsharp=7:7:-2:7:7:-2

總結

以上是生活随笔為你收集整理的FFplay文档解读-43-视频过滤器十八的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。