使用捕获ffmpeg的输出文件视距刺在python中转换成变量

2024-10-01 02:23:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试编写一个python脚本来使用ffmpeg和视距刺图书馆。 我的问题是输出文件似乎没有通过stdout,所以使用子流程.Popen()返回空变量。在

cmd1=["ffmpeg", "-i","./input.MOV", "-vf", "vidstabdetect=stepsize=6:shakiness=10:accuracy=15", "-f","null","pipe:1"]
p = subprocess.Popen(cmd1, stdout=subprocess.PIPE)
vectors, err = p.communicate()

问题是vibstabdect接受一个名为result的过滤器,并将一个文件输出到其中指定的任何地方,而stdout仍然是空的。(如果没有指定结果,则默认为变换.trf。)

有没有办法获取结果文件的内容? 当使用上面的代码运行脚本时,它执行时不会出错,但文件是用默认名称创建的,变量保持为空。在


Tags: 文件脚本input图书馆stdout流程ffmpegsubprocess
1条回答
网友
1楼 · 发布于 2024-10-01 02:23:50

您需要为过滤器日志数据指定stdout,而不是ffmpeg的转码输出,这是当前的-f null pipe:1所做的。在

但是,vidstabdecute过滤器使用posixfopen来打开转换数据的目的地,这与大多数使用内部avio_open的过滤器不同。对于fopen,pipe:1是不可接受的。对于Windows,CON,对于linux,/dev/stdout,如您所确认的,是必需的。在

相关问题 更多 >