python - 如何使用 gstreamer 查找媒体的长度?

标签 python video media gstreamer

如何使用 gstreamer 查找媒体的播放时间?

最佳答案

这是一个简单的 Python 脚本,用于获取 gstreamer 可以解码的任何内容的持续时间。请注意,gstreamer 中的所有时间都以纳秒为单位。

持续时间.py:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
from __future__ import division

import sys
import gobject
gobject.threads_init()
import pygst
pygst.require("0.10")
import gst
d = gst.parse_launch("filesrc name=source ! decodebin2 ! fakesink")
source = d.get_by_name("source")
source.set_property("location", sys.argv[1])
d.set_state(gst.STATE_PLAYING)
d.get_state()
format = gst.Format(gst.FORMAT_TIME)
duration = d.query_duration(format)[0]
d.set_state(gst.STATE_NULL)

import datetime
delta = datetime.timedelta(seconds=(duration / gst.SECOND))
print delta

例子:

$ python duration.py VIDEO_TS/VTS_03_1.VOB
0:20:10.528000
$ python duration.py ~/Movies/BigBuckBunny_640x360.m4v
0:09:56.461667

关于python - 如何使用 gstreamer 查找媒体的长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2440554/

相关文章:

python - 自定义Python切片,请指教

javascript - 使用 Internet Explorer 缩放的视频

javascript - JScript Windows 媒体播放器 API

ios - 如何在合并音频和视频时循环音频

python - Google App Engine 上的多人游戏

python - Webapp2导入错误: cannot import name _thread

css - 在 IE7 或 IE8 中查看打印 CSS

asp.net-mvc - 在 Sitecore MVC 的 View 中获取媒体 url

java - 使用 PATH 列出 MediaStore 中的所有音乐

dynamic - 是否可以在 Python 脚本中生成和执行 Python 代码? [动态 Python 代码]