1

我试图测量通过网络播放视频时所需的带宽变化。为此,我需要制作视频过程中随时播放视频所需的带宽图。视频编码比特率与播放位置的绘制图

我试着用gstreamer处理视频,但它给了我大致恒定的解码[未编码]视频的比特率。

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

回答

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), 
]