我有一个名为video_files
的文件夹,其中存储了一堆视频文件,例如100.mp4, 101.mp4...
。我已经编写了一个python脚本,该脚本在每个视频文件上进行迭代。使用subprocess
调用ffmpeg
提取帧,然后将帧保存到名为frames
的输出目录中。这是我的示例代码:
def frame_extractor(video_files_path):
video_files = sorted(glob.glob(video_files_path + "**/*.mp4", recursive=True))
print("Number of video files found: ", len(video_files))
for i, video in enumerate(video_files):
subprocess.call(["ffmpeg", "-i", video, "%04d.png"]
print("Extracted frames from all the videos")
问题是它从我运行此脚本的位置提取当前目录中的帧,但我希望将这些帧提取到frames
文件夹中。
PS:frames/%04d.png
不起作用。
有人可以告诉我该怎么做吗?
答案 0 :(得分:0)
您可以在函数完成后添加一个调用以移动所有输出文件。
import os
import glob
for img in glob.glob(video_files_path + '**/*.png', recursive=True):
img_out = os.path.join('frames', os.path.split(img)[-1])
os.rename(img, img_out)