没有这样的过滤器“拆分”:在 Python 中使用 ffmpeg 进行 ffplay
No such filter '"split': ffplay with ffmpeg in Python
我正在尝试在 Python 上使用 ffmpeg 可视化与视频叠加的视频的 YUV 直方图。我使用的代码如下:
subprocess.call(['ffplay','video.mp4','-vf','"split=2[a][b],[b]histogram,format=yuva444p[hh],[a][hh]overlay"'])
但是当我执行代码时,出现了这个错误:
有点奇怪,因为如果 运行 在命令 window 的同一行,它可以正常工作。
删除过滤器周围的双引号 - subprocess.call
自动在带有特殊字符的参数周围添加引号,例如 [
、]
、=
.
以下命令应该有效:
subprocess.call(['ffplay','video.mp4','-vf','split=2[a][b],[b]histogram,format=yuva444p[hh],[a][hh]overlay'])
为了观看实际的命令行,您可以添加 -report
参数,并检查日志文件。
subprocess.call(['ffplay','video.mp4','-vf','split=2[a][b],[b]histogram,format=yuva444p[hh],[a][hh]overlay', '-report'])
适用:
ffplay video.mp4 -vf "split=2[a][b],[b]histogram,format=yuva444p[hh],[a][hh]overlay" -report
.
上面的命令语法正确。
subprocess.call(['ffplay','video.mp4','-vf','"split=2[a][b],[b]histogram,format=yuva444p[hh],[a][hh]overlay"', '-report']
适用:
ffplay video.mp4 -vf "\"split=2[a][b],[b]histogram,format=yuva444p[hh],[a][hh]overlay\"" -report
如您所见,子流程添加了额外的 "\
和 \"
,这就是导致错误的原因。
我正在尝试在 Python 上使用 ffmpeg 可视化与视频叠加的视频的 YUV 直方图。我使用的代码如下:
subprocess.call(['ffplay','video.mp4','-vf','"split=2[a][b],[b]histogram,format=yuva444p[hh],[a][hh]overlay"'])
但是当我执行代码时,出现了这个错误:
有点奇怪,因为如果 运行 在命令 window 的同一行,它可以正常工作。
删除过滤器周围的双引号 - subprocess.call
自动在带有特殊字符的参数周围添加引号,例如 [
、]
、=
.
以下命令应该有效:
subprocess.call(['ffplay','video.mp4','-vf','split=2[a][b],[b]histogram,format=yuva444p[hh],[a][hh]overlay'])
为了观看实际的命令行,您可以添加 -report
参数,并检查日志文件。
subprocess.call(['ffplay','video.mp4','-vf','split=2[a][b],[b]histogram,format=yuva444p[hh],[a][hh]overlay', '-report'])
适用:
ffplay video.mp4 -vf "split=2[a][b],[b]histogram,format=yuva444p[hh],[a][hh]overlay" -report
.
上面的命令语法正确。subprocess.call(['ffplay','video.mp4','-vf','"split=2[a][b],[b]histogram,format=yuva444p[hh],[a][hh]overlay"', '-report']
适用:
ffplay video.mp4 -vf "\"split=2[a][b],[b]histogram,format=yuva444p[hh],[a][hh]overlay\"" -report
如您所见,子流程添加了额外的"\
和\"
,这就是导致错误的原因。