【发布时间】:2020-05-14 20:19:56
【问题描述】:
在命令行上运行时,我使用以下代码:
ffmpeg -i video-frame-%06d.png -c:v libx264 -vf "fps=25,format=yuv420p" out.mp4
但我试图在 python 脚本中运行它,我得到 没有这样的文件或目录错误,我认为是因为图像文件名数字的格式类型@ 987654322@
如何连接或使用我在命令行中运行的相同文件模式以在我的 python 脚本中使用它
subprocess.Popen(['ffmpeg -i dir/video-frame-%06d.png -c:v libx264 -vf "fps=25,format=yuv420p" out.mp4', shell=True])
文件夹内的示例图像文件名是:
- video-frame-00001.png
- video-frame-00002.png
- video-frame-00003.png
【问题讨论】:
-
您应该使用完整路径而不是相对路径。例如:基于您的 Python 文件的路径:
dir_of_imgs = os.path.join(os.path.realpath(os.path.dirname(__file__)), "dir")并使用此变量来定义图像的路径:os.path.join(dir_of_imgs, "video-frame-%06d.png") -
ffmpeg 不会 如果目录不存在,则创建该目录。并使用@milanbalazs 提到的完整路径。
-
@milanbalazs 谢谢你的作品:)
-
不客气!
-
我根据我的评论创建了一个答案。如果它解决了您的问题,您可以接受。谢谢!
标签: python regex ffmpeg subprocess