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

Alt*_*ife 22 python video thumbnails

我上传到运行python的webapp后,我需要为视频文件创建缩略图.

我将如何解决这个问题...我需要一个基本上可以为我执行此操作的库,或者可以自动从视频文件(多种格式)中读取图像帧的库.

Tob*_*nst 12

我无法在OSX Sierra上安装ffvideo所以我决定使用ffmpeg.

OSX:

brew install ffmpeg
Run Code Online (Sandbox Code Playgroud)

Linux的:

apt-get install ffmpeg
Run Code Online (Sandbox Code Playgroud)

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])
Run Code Online (Sandbox Code Playgroud)

  • 这是2019年的有效答案 (2认同)

小智 11

你可以使用ffvideo

from ffvideo import VideoStream
pil_image = VideoStream('0.flv').get_frame_at_sec(5).image()
pil_image.save('frame5sec.jpeg')
Run Code Online (Sandbox Code Playgroud)


Pet*_*sen 8

PyMediaPIL的简单组合可以实现AVI,ASF或MPEG文件的技巧.PyMedia允许你提取帧(使用decoder()例程),而PIL有一个简单的thumbnail()例程.


sur*_*e10 5

使用pyffmpeg

安装

pip install pyffmpeg
Run Code Online (Sandbox Code Playgroud)

使用

from pyffmpeg import FFmpeg

inf = 'vid.mp4'
outf = 'thumb.jpg'

ff = FFmpeg()
ff.convert(inf, outf)
Run Code Online (Sandbox Code Playgroud)