Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops 如何用ffmpeg在视频上绘制n个矩形_Loops_Ffmpeg_Draw - Fatal编程技术网

Loops 如何用ffmpeg在视频上绘制n个矩形

Loops 如何用ffmpeg在视频上绘制n个矩形,loops,ffmpeg,draw,Loops,Ffmpeg,Draw,我正在尝试创建一个视频来测试framrate html5播放器 此视频需要包含前10帧中每帧的矩形 我需要它是动态的 目前,我有以下命令: 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

我正在尝试创建一个视频来测试framrate html5播放器 此视频需要包含前10帧中每帧的矩形 我需要它是动态的

目前,我有以下命令:

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:color=white@1[out]" \
       -y out123.mp4
我再次尝试为to图像中的每一帧绘制一个矩形,如下所示: x=16*0,x=16*1,x=16*2

这里唯一的移动头是x参数,它不移动
有人能帮忙吗?

drawbox中的表达式不能表示时间。覆盖框:

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
这将在x=0,16,32,48处覆盖长方体。。前10帧,然后消失

注意,输入图像被解释为25fps,因此通过设置-r30,每5个输入帧将复制一帧。在-i black.png之前添加-framerate 30并删除-r 30以避免出现这种情况