1

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

我尝试用 gstreamer 处理视频,但它给了我解码[未编码]视频的比特率,它或多或少是恒定的。

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

4

1 回答 1

1

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

Vlc python 绑定将 python api 暴露给 vlc 媒体播放器。它们还提供了一个 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),
]
于 2012-02-01T14:03:19.937 回答