【发布时间】:2012-03-03 07:49:45
【问题描述】:
我正在尝试调用 ffmpeg 从视频中的帧创建图像,我正在使用 python 在 mac 上使用 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 获得标准信息屏幕,并显示用户/bimemployee/Movies/ski\ commute.m4v: No such file or directory
为什么这条路径在命令行中可以正常工作,但在 python 中却不行?
其次,他们有一个更好的库来处理这个问题,我能找到的那些似乎不是活跃的项目,或者不能直接使用 python,但需要 cython 之类的东西。
谢谢, CG
【问题讨论】:
-
在 python 字符串中,空格前不需要反斜杠
-
嗯,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"] 仍然给我 Users/bimemployee/Movies/ski commute.m4v: 否这样的文件或目录
标签: python ffmpeg subprocess