Mit mplayer können Sie die aktuelle Uhrzeit in Stunden und Minuten anzeigen

1806
enigmaticPhysicist

Standardmäßig zeigt mplayer die aktuelle Position im Video in Sekunden an, was nicht unbrauchbar ist. Beispiel:

A:4086.2 V:4086.2 A-V: 0.000 ct: 0.039 0/ 0 17% 2% 2.1% 3 0  ^--------^----- This is the current location in seconds. 

Na so was? Mplayer hat schreckliche Vorgaben. Was gibt es sonst Neues? Der mplayer kann jedoch bis ins letzte Detail konfiguriert werden. Daher muss es eine Möglichkeit geben, diese Zeile zu ändern und die gewünschten Informationen dort abzulegen. Ich habe die Manpage jedoch durchforstet und kann keine Option finden, die dies tun wird. Ideales Verhalten:

A:1:08:06.2 V:1:08:06.2 A-V: 0.000 ct: 0.039 0/ 0 17% 2% 2.1% 3 0  ^-----------^----- This is the current location in hours:minutes:seconds. 

Hat jemand einen Weg gefunden, dies zu tun?

4

2 Antworten auf die Frage

3
林果皞

Schauen wir uns den Quellcode von mplayer, mplayer.c an :

... // Audio time if (mpctx->sh_audio) { saddf(line, &pos, width, "A:%6.1f ", a_pos); if (!sh_video) { float len = demuxer_get_time_length(mpctx->demuxer); saddf(line, &pos, width, "("); sadd_hhmmssf(line, &pos, width, a_pos); saddf(line, &pos, width, ") of %.1f (", len); sadd_hhmmssf(line, &pos, width, len); saddf(line, &pos, width, ") "); } }  // Video time if (sh_video) saddf(line, &pos, width, "V:%6.1f ", sh_video->pts);  // A-V sync if (mpctx->sh_audio && sh_video) saddf(line, &pos, width, "A-V:%7.3f ct:%7.3f ", a_v, corr); ... 

Wie Sie sehen, if (mpctx->sh_audio) AND if (!sh_video)wird nur durch das Aufrufen von " Nur Audio" sadd_hhmmssf()das Format " hh: mm: ss" in "stdout" gedruckt. Aber mpctx->sh_audio && sh_videowährend Audio + Video würde nicht.

Wenn Sie also den mplayerBefehl mit der -novideoOption aufrufen, wird das Format hh: mm: ss eingefügt:

[xiaobai@xiaobai example]$ mplayer -novideo example.mkv MPlayer SVN-r37391-5.1.1 (C) 2000-2015 MPlayer Team ... Video: no video Position: 58 % A: 90.5 (01:30.4) of 145.4 (02:25.4) 0.0%  

[MPlayer-dev-eng] [PATCH] Die Gesamtzeit für reine Audiodateien erläuterte den Ursprung von Nur-Audio:

Der angefügte Patch bewirkt, dass MPlayer die Gesamtzeit in der Statuszeile für reine Audiodateien anzeigt. Ich denke, dass dies nur für Audio nützlich ist

1) Die Statuszeile ist immer noch recht klein

2) Sie können das OSD nicht einfach aktivieren, um die Gesamtzeit zu ermitteln

Aus dieser Erklärung wissen wir, dass OSD aktiviert werden kann, um dasselbe Ziel zu erreichen. Lesen man mplayerund suchen Sie nun nach dem OSD-Schlüsselwort:

 ... o Toggle OSD states: none / seek / seek + timer / seek + timer + total time. ... P Show progression bar, elapsed time and total duration on the OSD. ... -osdlevel <0-3> (MPlayer only) Specifies which mode the OSD should start in. 0 subtitles only 1 volume + seek (default) 2 volume + seek + timer + percentage 3 volume + seek + timer + percentage + total time ... 

Dies bedeutet, dass durch Drücken von P die aktuelle Uhrzeit / Gesamtzeit im laufenden Betrieb umgeschaltet wird, oder durch Drücken von aufgerufen wird mplayer -osdlevel 3 file, um die aktuelle Uhrzeit / Gesamtzeit konstant anzuzeigen:

[AKTUALISIEREN]

Denken Sie daran, dass es 4 Zustände gibt, wenn Sie ständig o drücken :

  1. aktuelle Uhrzeit
  2. aktuelle Zeit / Gesamtzeit (wirkt wie -osdlevel 3)
  3. OSD aktiviert (noch keine Zeitanzeige, aber P drücken ist erlaubt)
  4. OSD deaktiviert ( P drücken macht nichts)

-novideoAkzeptieren Sie aus unbekannten Gründen weiterhin den o- Schlüssel und führen Sie nur zwei Zustände ein, dh aktiviertes OSD und deaktiviertes OSD. Ein Fehler tritt auf, wenn Sie o drücken, um OSD zu aktivieren und dann P drücken, und es wird 00: 00: 00 / Gesamtzeit angezeigt .

Interessant. Es scheint also, dass mplayer einen neuen Schalter benötigt, um die Zeitformatierung im Terminal zu ändern. Die OSD-Anzeige ist jedoch eine anständige Problemumgehung. Danke für Ihre Hilfe, Xiaobai. enigmaticPhysicist vor 8 Jahren 1
0
enigmaticPhysicist

Meine eigene Lösung war letztendlich eine Umstellung auf die mplayer-Gabel namens mpv, die die Anzeige der Echtzeitterminzeit standardmäßig wesentlich sinnvoller erledigt. Es scheint, als sei die Entwicklung von mplayer ernsthaft stagniert, daher ist mpv jetzt in jeder erdenklichen Weise besser. Es ist mein primärer Mediaplayer geworden.