Ich suche VLC als Grundlage für einen Video-Player innerhalb meiner Anwendung in C# geschrieben (da VLC ist einer der wenigen Spieler, die das Format, mit dem ich arbeite, richtig decodieren kann), aber die primären Aufgaben, die ich müssen Sie es ausführen:Ist es möglich, genaue Zeitstempel für Frames in Videodateien von VLC zu erhalten?
- Möglichkeit, zwischen separaten Frames in einer Videodatei, sowohl vorwärts und zurück zu durchsuchen.
- Anzeige eines präzisen Zeitstempels für jeden Frame bis auf Millisekunden und die Möglichkeit, den Zeitstempel an eine -Anwendung weiterzuleiten.
Gerade jetzt das ich tue mittels einer Erweiterung LUA Script VLC, aber die Zeit VLC kehrt über vlc.var.get (Eingang, „Zeit“) fehlt Präzision und kann für die gleiche unterscheiden Frame in der gleichen Videodatei über mehrere Datei Lesungen. Das Frame-Browsing funktioniert auch nicht zuverlässig. Außerdem können die auf diese Weise erhaltenen Werte nicht automatisch an eine andere Anwendung weitergeleitet werden.
Ich habe versucht, die LibVLC.NET Wrapper für libVLC, aber ich konnte immer noch nicht zwischen den Frames durchsuchen, und die Millisekunde Zählerwerte waren ziemlich ungerade. Es ist fast so, als ob VLC (libVLC) keinen tatsächlichen Zeitwert während der Wiedergabe zurückgibt, sondern eher einen gerundeten Wert, einen Wert mit beträchtlicher Verzögerung, wenn mit Genauigkeit bis in die Millisekunde gelesen wird. Die Standard-VLC-Schnittstelle kann weder präzise Zeitwerte bis in die Millisekunde anzeigen noch zwischen Frames blättern.
Gibt es einen praktikablen Weg, um die beiden oben genannten Aufgaben mit VLC durchzuführen, indem Sie VLC irgendwie aus einer Anwendung ausführen, die mit .NET geschrieben wurde? Oder sollte ich nach anderen Möglichkeiten suchen?