wax*_*cal 5 video ffmpeg video-processing transcoding
我使用的DrawText和drawbox上FFmpeg的两个人类已知的最糟糕记录功能avfilters.
我正在努力研究是否以及如何在一个帧上使用它们,即第22帧上的drawtext.
当前命令:
ffmpeg -i test.wmv -y -b 800k -f flv -vcodec libx264 -vpre default -s 768x432 \
-g 250 -vf drawtext="fontfile=/home/Cyberbit.ttf:fontsize=24:text=testical:\
fontcolor=green:x=100:y=200" -qscale 8 -acodec libfaac -sn -vstats out.flv
Run Code Online (Sandbox Code Playgroud)
文档中提到的两个元素是n和t.但是,我似乎只能在x和y中使用它们.不在文本中,甚至不在其他参数中.
我们将非常感谢您提供任何帮助或FFmpeg指导.
FFmpeg 总是让您保持警惕,这是一个很好的例子,这对于做起来来说是微不足道的drawtext
,而且是非常痛苦的drawbox
。
关键是drawtext
包含draw
参数:
设置
一个表达式,指定是否应绘制文本。如果表达式的值为 0,则不绘制文本。这对于指定仅在满足特定条件时才绘制文本非常有用。
因此只在第 22 帧上显示文本:
ffmpeg -i in.wmv -vf drawtext="fontfile=font.ttf:text='blah':draw='eq(n,22)'" out.flv
Run Code Online (Sandbox Code Playgroud)
drawbox
没有draw
参数,也没有通用的方法来模拟它,所以你只能做一些事情,比如提取你想要放置盒子的视频部分,然后用偏移量覆盖它:
ffmpeg -i in.wmv -t 1 -ss 10 -vf drawbox=10:10:20:20:red boxed.flv
ffmpeg -i in.wmv -itsoffset 10 -i boxed.flv -filter_complex overlay out.flv
Run Code Online (Sandbox Code Playgroud)
(尽管这会留下永远可见的最后一帧boxed.flv
)或将视频分成多个部分,绘制适当的部分,然后重新组合。
归档时间: |
|
查看次数: |
6017 次 |
最近记录: |