使用可用库生成Python视频缩略图(不使用PyMedia!)

4 投票
3 回答
949 浏览
提问于 2025-04-17 00:08

我想在我的Python应用程序中加入视频缩略图。不过,我希望能方便地在Ubuntu上使用(当然也希望能在其他版本上用,但Ubuntu是我的主要目标)。

但是!我知道的情况是,常常被推荐的PyMedia在默认的软件库里找不到。那么,有没有其他的选择呢?我注意到nautilus可以截图,所以应该有办法实现这个功能。

3 个回答

1

我修改了这个脚本,在这里,并且成功让它在Natty上运行了:

import gnome.ui
import gnomevfs

#~ path = "jump.png"
#~ uri = gnomevfs.get_uri_from_local_path(path) # gives err
uri = 'file:///home/username/Desktop/jump.png'
mime = gnomevfs.get_mime_type(uri)

thumbFactory = gnome.ui.ThumbnailFactory(gnome.ui.THUMBNAIL_SIZE_LARGE)
if thumbFactory.can_thumbnail(uri ,mime, 0):
    thumbnail = thumbFactory.generate_thumbnail(uri, mime)
    if thumbnail != None:
        print 'saving'
        thumbFactory.save_thumbnail(thumbnail, uri, 0)

接下来在控制台输入:

cd ~/.thumbnails/normal
ls -lrt  # show last modified
gnome-open 055ff069f4a9f6521e4363cea6cd3cce.png  # use last file
6

MoviePy可以很简单地生成视频缩略图:

from moviepy.editor import *
clip = VideoFileClip("example.mp4")
clip.save_frame("thumbnail.jpg",t=1.00)

http://zulko.github.io/moviepy/index.html

1

Nautilus使用的是GStreamer这个工具。你可以在Ubuntu系统上通过安装python-gst这个软件包来使用Python与它进行互动。更多的使用说明可以查看这里的文档

撰写回答