我正在尝试调用 ffmpeg 从视频中的帧创建图像,我在 Mac 上使用 python 和 subprocess.Popen 来执行此操作,最终这将移动到 unix 服务器。
我可以使用此行从命令行成功创建视频
ffmpeg -i /Users/bimemployee/Movies/ski\ commute.m4v -r .5 -vframes 1 -ss 00:01:14 /Users/bimemployee/Movies/untitled\ folder/image-%d.jpeg
然后我将其转换为 python 可迭代对象并将其传递给 Popen
s=["ffmpeg","-i","Users/bimemployee/Movies/ski\ commute.m4v","-r","1","-vframes","1","-ss","00:01:14","/Users/bimemployee/Movies/untitled\ folder/image-%d.jpeg"]
subprocess.Popen(s)
当我这样做时,我从 ffmpeg 获得标准信息屏幕,并显示一条错误,指出 Users/bimemployee/Movies/ski\commute.m4v:没有这样的文件或目录
为什么这条路径在命令行中可以正常工作,但在 python 中却不能?
其次是他们有一个更好的库来处理这个问题,我能找到的库似乎不是活跃的项目,或者不能直接使用 python,但需要像 cython 这样的东西。
谢谢, CG
最佳答案
您缺少开头的正斜杠:
/Users/bimemployee/Movies/ski_commute.m4v
不等于
Users/bimemployee/Movies/ski_commute.m4v
关于Python 和 ffmpeg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9234623/