我是靠谱客的博主 现代画板,最近开发中收集的这篇文章主要介绍python获取视频宽高_Python:如何从Gst视频播放盒中获取视频分辨率?,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

我有以下代码可以工作并在窗口中显示视频。有人可以帮助我,并提供一个简单的python示例,了解如何提取视频文件的视频分辨率(宽度x高度)?

我被困在这几天...和任何帮助将不胜感激。

import os

import Tkinter as tkinter

import gi

gi.require_version('Gst', '1.0')

gi.require_version('GstVideo', '1.0')

from gi.repository import Gst, GObject, GstVideo

def set_frame_handle(bus, message, frame_id):

if not message.get_structure() is None:

if message.get_structure().get_name() == 'prepare-window-handle':

display_frame = message.src

display_frame.set_property('force-aspect-ratio', True)

display_frame.set_window_handle(frame_id)

window = tkinter.Tk()

window.title('')

window.geometry('400x300-30-100')

Gst.init(None)

GObject.threads_init()

display_frame = tkinter.Frame(window, bg='')

display_frame.place(relx = 0, rely = 0, anchor = tkinter.NW, relwidth = 1, relheight = 1)

frame_id = display_frame.winfo_id()

player = Gst.ElementFactory.make('playbin', None)

filepath = os.path.realpath('kbps.mp4')

filepath2 = "file:///" + filepath.replace('\', '/').replace(':', '|')

print filepath2

player.set_property('uri', filepath2)

player.set_state(Gst.State.PLAYING)

bus = player.get_bus()

bus.enable_sync_message_emission()

bus.connect('sync-message::element', set_frame_handle, frame_id)

window.geometry('400x300+30+300')

window.update

window.mainloop()

最后

以上就是现代画板为你收集整理的python获取视频宽高_Python:如何从Gst视频播放盒中获取视频分辨率?的全部内容,希望文章能够帮你解决python获取视频宽高_Python:如何从Gst视频播放盒中获取视频分辨率?所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(61)

评论列表共有 0 条评论

立即
投稿
返回
顶部