我正在尝试使用带有 FFmpeg 的 Python 自动剪切视频,因此每次我想要新的视频剪切时都不必输入命令。我不确定我做错了什么,这是代码:
导入操作系统
path = r'C:/Users/user/Desktop/folder'
for filename in os.listdir(path):
if (filename.endswith(".mp4")):
command = "ffmpeg - i" + filename + "-c copy -map 0 -segment_time 00:00:06 -f segment -reset_timestamps 1 output%03d.mp4"
os.system(command)
else:
continue
最佳答案
错别字
首先,语法中有一个错字,正如您所写的 - i
而正确的语法是-i
.
语法 " + filename + "
是正确的,但是前后必须有空格
command = "ffmpeg -i " + filename + " -c copy -map 0 -segment_time 00:00:06 -f segment -reset_timestamps 1 output%03d.mp4"
否则,您会收到类似的错误Unrecognized option 'iC:\Users\user\Desktop\folder\filename.mp4-c'.
Error splitting the argument list: Option not found
解决方案我认为其他所有论点都是正确的,对我来说,起初它不起作用,我只需要添加
-fflags +discardcorrupt
但也许这只是我的文件。这是正确的代码,但我建议您阅读 this .
注意:我使用了
os.path.join()
将输出文件保存在同一目录中,因为我的 python 文件在另一个目录中。import os
path = r'C:\Users\user\Desktop\folder'
for filename in os.listdir(path):
if filename.endswith(".mp4"):
command = "ffmpeg -fflags +discardcorrupt -i " + os.path.join(path, filename) + " -c copy -map 0 -segment_time 00:00:03 -f segment -reset_timestamps 1 " + os.path.join(path, "output%03d.mp4")
os.system(command)
else:
continue
关于python - 如何使用带有 FFmpeg 的 Python 自动剪切视频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68398729/