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()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值