Как получить битрейт мультимедиа с помощью Libvlc

Я использую libvlc для воспроизведения видеофайлов при их загрузке. Моя проблема в том, что libvlc_media_player_get_length ничего не возвращает. Также я думал о расчете приближения с использованием битрейта и размера файла, но я не нашел, как получить битрейт с помощью libvlc.

Есть ли функция для этого?

Спасибо


person Entretoize    schedule 24.01.2016    source источник


Ответы (2)


Я наконец нахожу этот путь:

libvlc_media_stats_t stats;
if (libvlc_media_get_stats(vlcmedia, &stats))
{
    long p=libvlc_media_player_get_time(vlcmediaplayer);

    if (p)
        bitrate=stats.i_read_bytes/p;
}
person Entretoize    schedule 24.01.2016

libvlc_media_tracks_get возвращает одну или несколько структур, содержащих информацию о дорожке.

Если тип дорожки аудио или видео, то соответственно libvlc_audio_track_t.i_bitrate или libvlc_video_track_t.i_bitrate.

Этот API был добавлен в LibVLC версии 2.1.0, см. http://git.videolan.org/?p=vlc.git;a=commit;h=cd5345a00009f2fc571c23509a025331ad24fc87.

VLC 2.1.0 был выпущен в сентябре 2013 года.

person caprica    schedule 24.01.2016
comment
Кажется, у меня нет libvlc_media_tracks_get ?? - person Entretoize; 24.01.2016
comment
comment
В версии vlc, которую я использую, кажется, что это libvlc_media_get_tracks_info, это более старая версия? - person Entretoize; 25.01.2016