使用Python从视频文件创建缩略图

35 投票
9 回答
46533 浏览
提问于 2025-04-15 16:13

我需要在把视频文件上传到一个用Python做的网页应用后,生成缩略图。

我该怎么做呢……我需要一个库,能够帮我自动生成缩略图,或者能从各种格式的视频文件中读取出图像帧。

9 个回答

14

你可以使用 ffvideo 这个工具。

from ffvideo import VideoStream
pil_image = VideoStream('0.flv').get_frame_at_sec(5).image()
pil_image.save('frame5sec.jpeg')
34

我在OSX Sierra上无法安装ffvideo,所以我决定使用ffmpeg来处理。

OSX系统的相关代码:

brew install ffmpeg

Linux系统的相关代码:

apt-get install ffmpeg

Python 3的代码:

import subprocess
video_input_path = '/your/video.mp4'
img_output_path = '/your/image.jpg'
subprocess.call(['ffmpeg', '-i', video_input_path, '-ss', '00:00:00.000', '-vframes', '1', img_output_path])
12

PyMediaPIL 这两个工具结合起来,就可以处理AVI、ASF或MPEG格式的视频文件了。PyMedia可以帮你提取视频中的每一帧(用decoder()这个功能),而PIL则有一个简单的thumbnail()功能,可以用来生成缩略图。

撰写回答