把文件夹里所有视频两秒截一次图用python写一个脚本
时间: 2024-12-11 22:35:18 浏览: 10
你可以使用Python的`os`库来遍历文件夹,`ffmpeg`库来处理视频并截图,以及PIL(Python Imaging Library)来保存图片。这里是一个基本的脚本示例,假设你已经安装了FFmpeg:
```python
import os
import subprocess
def take_screenshot(video_path, output_dir, interval=2):
# 使用ffmpeg截取视频帧,并保存到指定目录
frame_cmd = f"ffmpeg -i {video_path} -vf fps={interval} {output_dir}/frame_%04d.jpg"
try:
subprocess.check_call(frame_cmd, shell=True)
print(f"成功从{video_path}每{interval}秒截图并保存至{output_dir}")
except subprocess.CalledProcessError as e:
print(f"错误:{e}")
# 替换为你需要操作的视频文件夹路径
folder_path = "/path/to/your/video/folder"
# 检查目标输出目录是否存在,如果不存在则创建
if not os.path.exists(folder_path + '/screenshots'):
os.makedirs(folder_path + '/screenshots')
# 遍历文件夹中的每个视频文件
for filename in os.listdir(folder_path):
if filename.endswith(('.mp4', '.avi', '.mkv')): # 只处理常见的视频文件类型
video_file = os.path.join(folder_path, filename)
output_folder = os.path.join(folder_path + '/screenshots', filename.split('.')[0])
take_screenshot(video_file, output_folder)
#
阅读全文