2016-02-29 96 views
0

比方說,我想用特殊的字體,顏色等將視頻中的時鐘疊加到視頻中,時間長達30分鐘。我結束了命令:ffmpeg - filter_complex list too long

ffmpeg -y -i in.mp4 -filter_complex " 
[0:v]drawtext=fontfile=/var/www/sites/manage/elements/digital-7.ttf:text='00\:00':[email protected]:fontsize=26:x=100:y=65:enable='between(t,0,7)'[tmp]; 
[tmp]drawtext=fontfile=/var/www/sites/manage/elements/digital-7.ttf:text='00\:01':[email protected]:fontsize=26:x=100:y=65:enable='between(t,7,8)'[tmp]; 
[tmp]drawtext=fontfile=/var/www/sites/manage/elements/digital-7.ttf:text='00\:02':[email protected]:fontsize=26:x=100:y=65:enable='between(t,8,9)'[tmp]; 
[tmp]drawtext=fontfile=/var/www/sites/manage/elements/digital-7.ttf:text='00\:03':[email protected]:fontsize=26:x=100:y=65:enable='between(t,9,10)'[tmp]; 
[tmp]drawtext=fontfile=/var/www/sites/manage/elements/digital-7.ttf:text='00\:04':[email protected]:fontsize=26:x=100:y=65:enable='between(t,10,11)'[tmp]; 
......." 
-map "[tmp]" -map 0:a -acodec copy -c:v h264 out.mp4 

這個時鐘是不是唯一的疊加我有這麼終於我有命令216KB長結束了,但是這個我甚至無法在bash運行,因爲的參數列表太長。

我想對視頻重新編碼一次。有沒有其他辦法可以做到這一點?

謝謝!

+0

你可以在時鐘下面有一個純色邊界框嗎? – Mulvya

+0

是的,我可以擁有。你在想什麼? – Baumi

+1

在drawtext中使用時間代碼生成器。如果可以使用完整的HH:MM:SS.ffff讀數,則不需要使用框,否則使用彩色框,在頂部繪製TC,裁剪僅顯示MM:SS並將結果疊加到基本視頻上。您也可以拆分基本視頻 - 在一個輸入上疊加完整的TC,裁剪並覆蓋第二個輸入。但這可能會導致幀丟失和錯位。將不得不測試和檢查。 – Mulvya

回答

1

使用

ffmpeg -y -i in.mp4 
-vf "drawtext=fontfile=/var/www/sites/manage/elements/digital-7.ttf: \ 
text='%{eif\:trunc((t-7)/60)\:d\:2}\:%{eif\:trunc(mod(t-7\,60))\:d\:2}': \ 
[email protected]:fontsize=26:x=100:y=65:enable='gte(t,7)'" \ 
-map "[tmp]" -map 0:a -acodec copy -c:v h264 out.mp4 

t在seconds.milliseconds濾波的幀的時間戳,

7期望TC顯示的start time

2是輸出場寬度即零填充。

+0

事實上,這是我如何底部,它工作正常! – Baumi

相關問題