【问题标题】:Run FFMPEG multiple overlay commands in one command在一个命令中运行 FFMPEG 多个覆盖命令
【发布时间】:2016-08-19 02:40:59
【问题描述】:

我正在使用 ffmpeg 对一个视频进行更多操作
我想做的操作是在不同的时间、音频和图像中添加许多文本。 我可以全部完成,但不能在一个命令中完成,单独完成

在一个命令中执行多个文本、叠加图像和音频的任何建议

谢谢

【问题讨论】:

  • 这就是 filter_complex 所允许的。以串行和并行方式链接的多个过滤器。你具体想做什么?
  • 我想用这个命令在视频中插入照片 Ffmpeg –I input.mp4 –I img.png -filter_complex “[0:v][1:v]” overlay=15 :15:enable =between(t,10,20)” output.mp4 然后我想使用这个命令来绘制文本 ffmpeg -i input.mp4 -vf "drawtext=enable='between(t,12,3*60)':fontfile= /usr/share/fonts/truetype/freefont/FreeSerif.ttf: text='Test Text'" -acodec copy output.mp4 我将在视频的不同时间多次绘制文本然后使用这个 ffmpeg 将音频合并到视频-i video.mp4 -i audio.mp4 -map 0.0 -map 1.0 -acodec copy -qscale 4 -vcodec mpeg4 outvideo.mp4
  • 那么我可以将这 3 个命令合并到一个命令中吗?

标签: ffmpeg video-processing drawtext fluent-ffmpeg


【解决方案1】:

要在一次执行中实现 cmets 中提供的命令,请使用

ffmpeg –i input.mp4 –i img.png -i audio.mp4 -filter_complex \
       "[0:v][1:v]overlay=15 :15:enable=between(t,10,20), \
        drawtext=enable='between(t,12,3*60)': \
        fontfile=/usr/share/fonts/truetype/freefon‌​t/FreeSerif.ttf: text='Test Text'[v]" \
       -map "[v]" -map 2:a -acodec copy -qscale 4 -vcodec mpeg4 outvideo.mp4

要添加更多drawtext过滤器,请在第一个drawtext过滤器之后插入它们,例如

ffmpeg –i input.mp4 –i img.png -i audio.mp4 -filter_complex \
       "[0:v][1:v]overlay=15 :15:enable=between(t,10,20), \
        drawtext=enable='between(t,12,3*60)': \
        fontfile=/usr/share/fonts/truetype/freefon‌​t/FreeSerif.ttf: text='Test Text', \
        drawtext=enable='between(t,12,3*60)': \
        fontfile=/usr/share/fonts/truetype/freefon‌​t/FreeSerif.ttf: text='Text2'[v]" \
       -map "[v]" -map 2:a -acodec copy -qscale 4 -vcodec mpeg4 outvideo.mp4

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-31
  • 1970-01-01
  • 2012-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多