我有組合濾波器問題的DrawText和drawbox 2個過濾器。我試圖把視頻從攝像機,它採用一個計時器,並在該中心覆蓋一個盒子。我可以把時間碼(本地時間和PTS)使用的DrawText室顫命令沒有問題:如何申請使用FFMPEG
ffmpeg -f video4linux2 -input_format mjpeg -s 1280x720 -i /dev/video0 \
-vf "drawtext=fontfile=/usr/share/fonts/truetype/freefont/FreeSerif.ttf: \
text='%{localtime} %{pts\:hms}': fontcolor=white: fontsize=24: box=1: \
[email protected]: boxborderw=5: x=0: y=0" -vcodec libx264 \
-preset ultrafast -f mp4 -pix_fmt yuv420p -y output.mp4
然後,我有一個繪製使用drawbox一個小盒子:
ffmpeg -f video4linux2 -input_format mjpeg -s 1280x720 -i /dev/video0 \
-filter_complex " drawbox=x=iw/2:y=0:w=10:h=ih:[email protected]": \
-vcodec libx264 -preset ultrafast -f mp4 -pix_fmt yuv420p -y output.mp4
我認爲我可以與filter_complex開關組合這些和使用這樣
ffmpeg -f video4linux2 -input_format mjpeg -s 1280x720 -i /dev/video0 -filter_complex "drawtext=fontfile=/usr/share/fonts/truetype/freefont/FreeSerif.ttf: text='%{localtime} %{pts\:hms}': fontcolor=white: fontsize=24: box=1: [email protected];drawbox=x=iw/2:y=0:w=10:h=ih:[email protected]": -vcodec libx264 -preset ultrafast -f mp4 -pix_fmt yuv420p -y output.mp4
分號隔開他們,但它未能找到第二濾波器的輸入流:
輸入#0,video4linux2,用v412,從 '的/ dev/video0的':
時間:N/A,啓動:10651.720690,比特率:N/A
流#0:0:視頻:MJPEG,yuvj422p(PC,bt470bg /未知/未知),1280×720,-5 kb/s的,每秒30幀,30 TBR,1000K TBN,1000K TBC
無法找到在過濾器上的未標記的輸入墊0的匹配流Parsed_drawbox_1
我試圖像這樣將它指向[0]:
ffmpeg -f video4linux2 -input_format mjpeg -s 1280x720 -i /dev/video0 -filter_complex " \
drawtext=fontfile=/usr/share/fonts/truetype/freefont/FreeSerif.ttf: \
text='%{localtime} %{pts\:hms}': fontcolor=white: fontsize=24: box=1: \
[email protected];[0] drawbox=x=iw/2:y=0:w=10:h=ih:[email protected]": \
-vcodec libx264 -preset ultrafast -f mp4 -pix_fmt yuv420p -y output.mp4
但它無法將輸出框放在框中。
於是,我就拆流這樣
ffmpeg -f video4linux2 -input_format mjpeg -s 1280x720 -i /dev/video0 -filter_complex " \
split [main][tmp];\
[main] drawtext=fontfile=/usr/share/fonts/truetype/freefont/FreeSerif.ttf: \
text='%{localtime} %{pts\:hms}': fontcolor=white: fontsize=24: box=1: [email protected] [tmp];\
[main] drawbox=x=iw/2:y=0:w=10:h=ih:[email protected] [tmp2]; [tmp][tmp2] overlay": \
-vcodec libx264 -preset ultrafast -f mp4 -pix_fmt yuv420p -y output.mp4
但我的體型沒有與它符合的覆蓋過濾器。此時,我決定停下來,問我是否比應該做得更難。最終的結果是我只想在視頻上畫一個計時器和一個盒子。有沒有更好的方法或格式化技巧來做到這一點?
謝謝
謝謝你的工作,但我的印象是分號應該這樣做,而不是逗號。 – user6972
查看https://ffmpeg.org/ffmpeg-filters.html#Filtering-Introduction – Mulvya
我做過。這就是它指出使用分號使用多個過濾器的地方。 – user6972