绘制视频编码比特率与播放位置的关系图

时间:2012-01-28 09:39:06

标签: video-streaming gstreamer video-encoding decoding python-gstreamer

我正在尝试测量通过网络播放视频时所需带宽的变化。为此,我需要制作视频中随时连续播放视频所需带宽的图表。

我尝试使用gstreamer处理视频,但它给出了解码后的[未编码]视频的比特率,或多或少不变。

有没有办法随时间获得视频的编码比特率?

1 个答案:

答案 0 :(得分:1)

由于我在这里没有答案,我会发布我为自己找到的解决方案,以便它可以帮助其他人。

Vlc python bindings向vlc媒体播放器公开python api。它们还提供可用于确定视频统计信息的MediaStats类。

class MediaStats(_Cstruct):
_fields_ = [
    ('read_bytes',          ctypes.c_int  ),
    ('input_bitrate',       ctypes.c_float),
    ('demux_read_bytes',    ctypes.c_int  ),
    ('demux_bitrate',       ctypes.c_float),
    ('demux_corrupted',     ctypes.c_int  ),
    ('demux_discontinuity', ctypes.c_int  ),
    ('decoded_video',       ctypes.c_int  ),
    ('decoded_audio',       ctypes.c_int  ),
    ('displayed_pictures',  ctypes.c_int  ),
    ('lost_pictures',       ctypes.c_int  ),
    ('played_abuffers',     ctypes.c_int  ),
    ('lost_abuffers',       ctypes.c_int  ),
    ('sent_packets',        ctypes.c_int  ),
    ('sent_bytes',          ctypes.c_int  ),
    ('send_bitrate',        ctypes.c_float),
]