问题描述
我正在尝试使用 ffmpeg-python
为视频添加水印。我的管道非常简单,但我一直无法弄清楚语法:
new_input = ffmpeg.input(file_name).filter('overlay','overlay.png').output(fout).run()
这会引发错误 Cannot find a matching stream for unlabeled input pad 1 on filter Parsed_overlay_7
,可能是因为覆盖过滤器的语法不正确。
解决方法
由于叠加过滤器需要两个输入,所以语法有点混乱。
有很好的例子here。
这是一个代码示例:
import ffmpeg
file_name = 'input.mp4'
fout = 'output.mp4'
(
ffmpeg
.filter([ffmpeg.input(file_name),ffmpeg.input('overlay.png')],'overlay',10,10)
.output(fout)
.run()
)
,
试试这个代码:(把你需要的值放在字符串中)
from pyffmpeg import FFmpeg
ffmpeg = FFmpeg()
ffmpeg.options("-i file_name.mp4 -i overlay.png -filter_complex overlay=000:00 output.mp4")