2016-04-30 25 views
0

Ich benutze die vlc-qt lib und versuche auf die Frames pro Sekunde Information einer geöffneten Videodatei zuzugreifen.VLC-QT bekomme die Framerate der aktuellen Videodatei

Der Spieler:

_instance = new VlcInstance(VlcCommon::args(), this); 
_player = new VlcMediaPlayer(_instance); 
_media = new VlcMedia(file, true, _instance); 
_player->openOnly(_media); 

der Spieler hat eine öffentliche Funktion playbackRate() aber es gibt nur die aktuelle Wiedergabe Ration, so dass es 1 ist, wenn keine Zeitlupe angewendet wird.

float playbackRate = _player->playbackRate(); 

Ich habe auch versucht, es über den Codec zu bekommen, aber der Codec selbst ist keine Klasse, sondern nur eine Enumeration mit möglichen codecnames.

Wie kann ich auf die fps zugreifen, also zurück wie 30 Bilder pro Sekunde?

Antwort

0

mit Python vlc.py:
Wo self.player ist:

self.Instance = vlc.Instance() 
self.player = self.Instance.media_player_new() 

es eine Funktion hat get_fps()

def mspf(self):# Milliseconds per frame. 
    return int(1000 // (self.player.get_fps() or 25)) 

EDIT: tiefer gegraben haben, scheint es keine zu sein Referenz auf fps in den Quellen vlc-qt, außer wo es fps als experimentelle Eingabe für die Media::duplicate und Media::record bietet Funktionen innerhalb von VlcMedia.cpp, obwohl fps in vlc

verfügbar ist