栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何使用Python和Gstreamer创建视频缩略图

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使用Python和Gstreamer创建视频缩略图

为了详细说明ensonic的答案,下面是一个示例:

import osimport sysimport gstdef get_frame(path, offset=5, caps=gst.Caps('image/png')):    pipeline = gst.parse_launch('playbin2')    pipeline.props.uri = 'file://' + os.path.abspath(path)    pipeline.props.audio_sink = gst.element_factory_make('fakesink')    pipeline.props.video_sink = gst.element_factory_make('fakesink')    pipeline.set_state(gst.STATE_PAUSED)    # Wait for state change to finish.    pipeline.get_state()    assert pipeline.seek_simple(        gst.FORMAT_TIME, gst.SEEK_FLAG_FLUSH, offset * gst.SECOND)    # Wait for seek to finish.    pipeline.get_state()    buffer = pipeline.emit('convert-frame', caps)    pipeline.set_state(gst.STATE_NULL)    return bufferdef main():    buf = get_frame(sys.argv[1])    with file('frame.png', 'w') as fh:        fh.write(str(buf))if __name__ == '__main__':    main()

这将生成一个PNG图像。您可以使用

gst.Caps("video/x-raw-rgb,bpp=24,depth=24")
或类似方式获取原始图像数据。

请注意,在GStreamer 1.0(而不是0.10)中,

playbin2
已重命名为
playbin
convert-frame
信号被命名为
convert-sample

在GStreamer应用程序开发手册的这一章中介绍了寻找的方法。0.10

playbin2
文档似乎不再在线,但是1.0的文档在这里。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/659708.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号