首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用Python提取视频文件的比特率和其他统计信息

如何用Python提取视频文件的比特率和其他统计信息
EN

Stack Overflow用户
提问于 2010-10-05 12:05:03
回答 2查看 4.9K关注 0票数 0

在正常回放的情况下,我正在尝试提取视频文件(例如,包含电影的.mkv文件)的普遍比特率,采样间隔在1-10秒之间。就像您在vlc中看到的那样,在统计数据窗口中回放文件。

有人能提出最好的方法来引导这样一个分析器的编码吗?是否有一个库可以为人们所知道的这些信息提供API?可能是用于、ffmpeg、或类似工具的Python包装器,它处理视频文件,从而提取此类统计信息。

我真正想要的是一个CSV格式文件,其中包含秒偏移量和在该偏移量处的平均或实际比特率。

更新:

我构建了pyffmpeg并编写了以下代码:

代码语言:javascript
复制
import pyffmpeg

reader = pyffmpeg.FFMpegReader(False)
reader.open("/home/mark/Videos/BBB.m2ts", pyffmpeg.TS_VIDEO)
tracks=reader.get_tracks()

# Called for each frame
def obs(f):
  pass

tracks[0].set_observer(obs)
reader.run()

但是,在回调中观察帧信息(f)似乎没有给我任何挂钩来计算每秒的比特率。事实上,pyffmpeg中的比特率计算贯穿整个文件(文件大小/持续时间),因此库中的处理非常肤浅。显然,它的重点是提取I-帧和其他帧/GOP的具体工作。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-10-05 18:53:47

你应该可以用gstreamer做这件事。http://pygstdocs.berlios.de/pygst-tutorial/seeking.html有一个简单媒体播放器的例子。它叫

代码语言:javascript
复制
pos_int = self.player.query_position(gst.FORMAT_TIME, None)[0]

周期性的。你所要做的就是第二次用gst.FORMAT_BYTES打电话给gst.FORMAT_BYTES,做一些简单的数学,然后瞧!比特率和时间。

票数 0
EN

Stack Overflow用户

发布于 2010-10-05 12:21:06

就像这样:

http://code.google.com/p/pyffmpeg/

http://pymedia.org/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3863432

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档