gpt4 book ai didi

python - 在python中使用vid.stab将ffmpeg的输出文件捕获到一个变量中

转载 作者:行者123 更新时间:2023-12-04 23:08:02 26 4
gpt4 key购买 nike

我正在尝试编写一个 python 脚本来使用 ffmpeg 和 vid.stab 库来稳定视频。
我的问题是输出文件似乎没有通过标准输出,所以使用 subprocess.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()

问题是 vibstabdetect 采用名为 result 的过滤器,并将文件输出到那里指定的任何内容,而 stdout 保持为空。 (如果没有指定结果,则默认为 transforms.trf。)

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

最佳答案

您需要为过滤器记录数据指定标准输出,而不是 ffmpeg 的转码输出,这是您当前的 -f null pipe:1。做。

但是,与大多数其他使用内部 avio_open 的过滤器不同,vidstabdetect 过滤器使用 POSIX fopen 打开转换数据的目标。对于 fopen,pipe:1是不能接受的。对于 Windows,CON ,对于 linux,/dev/stdout ,正如您所确认的,是必需的。

关于python - 在python中使用vid.stab将ffmpeg的输出文件捕获到一个变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55323852/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com