2017-10-29 48 views
0

フレームレートhtml5プレーヤーをテストするためのビデオを作成しようとしています このビデオは、最初の10フレームの各フレームの矩形を含む必要があります 私は動的にする必要があります。今のffmpegでビデオにn個の矩形を描く方法

私は、次のコマンドを持っている:

ffmpeg -loop 1 -i black.png -c:v libx264 -t 15 -r 30 -vcodec h264 -pix_fmt yuv420p \ 
     -vf "[in]drawtext=fontfile=/usr/share/fonts/open-sans/OpenSans-Regular.ttf : text=%{n}:x=(w-tw): y=h-(lh): fontcolor=white: box=1: boxcolor=0x00000099, \ 
      drawbox=x='mod(t\,10)*32':w=16:h=16:[email protected][out]" \ 
     -y out123.mp4 

が再びそうのような画像にフレーム毎に矩形を描画しようとしているイム:X * 1 X = 16 * 0、X = 16 = 16 * 2 ...

ここでは唯一の羽ばたきパターはxパラメータであり、その移動はありません いずれかの助けができますか?

答えて

0

描画ボックスの式は時間を参照できません。代わりにボックスをオーバーレイします。

ffmpeg -loop 1 -i black.png -filter_complex \ 
    "drawtext=fontfile=/usr/share/fonts/open-sans/OpenSans-Regular.ttf:text=%{n}:x=(w-tw):y=h-(lh):fontcolor=white:box=1:boxcolor=0x00000099[txt]; \ 
    color=white:s=16x16:r=30:d=0.35[box]; \ 
    [txt]box]overlay=x='16*n':y=0:enable='lt(n,10)'" \ 
    -c:v libx264 -t 15 -r 30 -vcodec h264 -pix_fmt yuv420p -y out123.mp4 

これは、最初の10フレームでx = 0,16,32,48 ..のボックスをオーバーレイして消えます。

入力イメージは25fpsと解釈されるため、-r 30を設定すると、5つの入力フレームごとに1つのフレームが複製されます。これを避けるにはを-i black.pngの前に追加し、-r 30を入力してください。

+0

ありがとうございます! – taltal115