Wie kann ich MPlayer oder VLC dazu bringen, die Videowiedergabe zu einer bestimmten Zeit zu starten?

Wie kann ich MPlayer oder VLC dazu bringen, die Videowiedergabe zu einer bestimmten Zeit zu starten?

Ich möchte, dass mplayer und VLC zur exakt gleichen Zeit mit der Wiedergabe beginnen. Der Player sollte:

  1. Videodatei laden, puffern, alles vorbereiten;
  2. Warten Sie, bis die UNIX-Zeit N Sekunden und M Millisekunden beträgt
  3. Starten Sie das Spiel entsprechend der Framerate (ohne langfristige Abweichungen).

Wie lässt sich dies besser erreichen?

Antwort1

Sie könnten in MPlayer einen FIFO als Eingabe verwenden und die Wiedergabe zum angegebenen Zeitpunkt starten.

Ich habe einige minimale Codebeispiele kopiert und eingefügt, die ich vor Jahren in einem Skript verwendet habe und die aus Skriptgründen zum Überspringen von Videos verwendet wurden.

  1. Erstellen Sie ein FIFO:

    [ ! -p /tmp/mplayer-fifo ] && mkfifo /tmp/mplayer-fifo
    
  2. Starten Sie MPlayer mit zB

    mplayer myfile.avi -input /tmp/mplayer-fifo
    
  3. Senden Sie den Skip-Befehl aus einem anderen Skript mit

    echo "seek 10" > /tmp/mplayer-fifo
    

Sie können stattdessen das FIFO verwenden, um das Video zu starten und anzuhalten. Verwenden Sie es, atum den Wiedergabebefehl zu einem bestimmten Zeitpunkt auszuführen.

Wenn das Video gestartet und dann sofort pausiert wird und dann nur noch auf die "play"Anweisung gewartet wird, sollte jegliches Puffern vermieden werden.

verwandte Informationen