2016-01-24 9 views
0

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

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

Благодаря

ответ

0

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

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

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

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

+0

Я, кажется, не имеют libvlc_media_tracks_get ?? – Entretoize

+0

http://git.videolan.org/?p=vlc.git;a=blob;f=include/vlc/libvlc_media.h;h=262a9368b2e033f7264f89e0b07609773ce0925b;hb=HEAD – caprica

+0

В версии vlc я использую это, кажется, быть вызовом libvlc_media_get_tracks_info, это более старая версия? – Entretoize

0

Я, наконец найти этот путь:

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; 
}