Laden...

Videoplayer mit Spurwahl bzw. externen Player fernsteuern

Erstellt von hansnet vor 10 Jahren Letzter Beitrag vor 10 Jahren 1.933 Views
H
hansnet Themenstarter:in
3 Beiträge seit 2013
vor 10 Jahren
Videoplayer mit Spurwahl bzw. externen Player fernsteuern

Hallo,

ich möchte mir eine Software zur Verwaltung meiner Seriensammlung entwickeln. Dabei möchte ich gerne wissen, welche Dateien bereits abgespielt wurden und bis zu welchem Punkt sie abgespielt wurden.

Die einfachste Lösung wäre, die Datei mit einem externen Player wie VLC, MPHC, etc zu öffnen, aber ich habe leider keine Ahnung, wie man die externe Software dazu nötigen könnte, dem Hauptprogramm mitzuteilen, bis zu welchem Punkt die Datei abgespielt wurde. Falls hier jemand eine Idee hat, wäre ich dafür sehr dankbar.

Ich denke aber das dieser Lösungsweg nicht möglich ist, deswegen möchte ich in meiner Software selbst einen Player integrieren. Dazu möchte ich ihn aber nicht vollständig neu programmieren müssen. Ich habe schon verschiedene Dinge wie das ActiveX Control des VLC, diverse VLC-.NET Wrapper probiert und auch Wrapper für FFMPEG, Gstreamer, etc gesucht, aber das alles erfüllte nicht meine Anforderungen, bzw. sah nicht sehr hübsch aus oder war zu viel Aufwand.

Was denkt ihr wäre hier das "best practice" Vorgehen? Bei der Realisierung eines eigenen Players wäre es mir wichtig, dass die Audiospur und Untertitelspur ausgewählt werden kann, der Player Rückmeldung über Start/Stop und aktuellen Zeitpunkt des Videos gibt und viele Formate unterstützt werden.

Danke und Gruß
Hans

16.842 Beiträge seit 2008
vor 10 Jahren

Also VLC.NET Wrapper ist die so ziemlich einfachste Möglichkeit an Deine Infos zu kommen. WMP wird Dir nicht viel helfen, da er viele Formate gar nich abspielen kann, auch wenn er von Haus aus an Board ist.

Entweder Du wirst Deine Anforderungen etwas runterschrauben müssen, oder Dir einen komplett eigenen Weg basteln.
Letzteres wird aber sehr aufwändig; und Du solltest hier vor allem mal die Grundlagen bzgl. Audio und Video-Programmierung lernen. Es ist ja nicht einfach nur "Datei öffnen und fertig".

U
189 Beiträge seit 2011
vor 10 Jahren

Es gibt ein Plugin für den VLC Player, das die Position speichert, an dem das Video beendet wurde und dann später beim erneuten Öffnen des Videos wieder hinspult. Man kann diese Positionen in folgender Datei auslesen:


C:\Users\%username%\AppData\Roaming\vlc\srpos.ini

Vielleicht kannst du damit etwas anfangen.

H
hansnet Themenstarter:in
3 Beiträge seit 2013
vor 10 Jahren

@Abt
Danke, hast du einen Link zu dem Wrapper, die heißen alle gleich 😉
"Datei öffnen und fertig" hätte ich ganz gut gefunden, ich will mich ja auf meine Kernkompetenzen konzentrieren und nicht gleichzeitig allen Videoplayer Konkurrenz machen 😁

@UZI
Das wäre auch eine Möglichkeit, vielen Dank!

Ich habe jetzt noch entdeckt, das VLC ein "remote control" interface besitzt:

http://wiki.videolan.org/Console

Hier könnte man über eine lokale telnet Verbindung ebenfalls sehr sehr viele Daten von VLC abfragen, was eigentlich schon sehr gut ist. Einzigster Nachteil ist, das ich keine Rückmeldung erhalte, wenn VLC geschlossen wird, d.h., ich müsste alle paar Sekunden eine neue Anfrage starten.

Leider gibt es scheinbar auch keine integrierte Telnet-Library in .NET, also müsste ich mir wohl selbst etwas mit Sockets basteln oder eine externe Bibliothek verwenden.

49.485 Beiträge seit 2005
vor 10 Jahren

Hallo hansnet,

telnet ist im Grunde auch nicht mehr als eine einfache TCP/IP-Verbindung über die die Befehle und deren Ausgaben als plain text gesetzt werden.

herbivore

1.346 Beiträge seit 2008
vor 10 Jahren

Und für eine Nachricht das VLC beenden wurde kannst du ja auf die Process Klasse zurückgreifen und dich informieren lassen wenn ein Prozess beendet wurde.

LG pdelvo

H
hansnet Themenstarter:in
3 Beiträge seit 2013
vor 10 Jahren

Stimmt danke, aber da ich gerne wissen möchte, ob das Video ganz oder nur teilweise (und dann mit Sekundenangabe) wiedergegeben wurde, müsste ich trotzdem öfters den Status abfragen - und ob dann die Telnet-Verbindung abbricht oder ich den Prozess überwache, ist dann eigentlich schon fast egal 😃