Star Trek: Continues: ffmeg dvdsub: überlappende Untertitel

Star Trek: Continues: ffmeg dvdsub: überlappende Untertitel

Ich habe mir also die kostenlose, von Fans erstellteStar Trek geht weiterBlue-Ray ISO fürFolgen 1-3und ich versuche, FHD 1920 x 1080 in SD 960 x 540 umzuwandeln, um es auf meinem Telefon ansehen zu können:

ffmpeg -canvas_size 960x540 \
-i /media/STC_VOL1_BR/BDMV/STREAM/00000.m2ts \
-map_metadata -1 \
-c:v libx264 -map 0:0 -strict -2 -r 24 -s 960x540 \
-c:a libmp3lame -map 0:1 -b:a 384K \
-metadata:s:s:0 language=EN -c:s dvdsub -map 0:2 \
/media/Videos/Star\ Trek\ Continues/S01E01\ Pilgrim\ Of\ Eternity.mkv

aber nach ein paar Sekunden Ansehen der konvertierten MKV-Datei lauten die Untertitel:

  • unlesbar aufgrund von Überlappung
  • sind etwas groß (kein Problem)
  • nach rechts und unten auf dem Bildschirm verschoben

VLC-Screenshot

Vollständige ffmpeg-Ausgabe hier

Was mache ich falsch?

Anmerkung 1:Ich habe immer nur mit srtUntertiteln gearbeitet und weiß, dass DVD-Untertitel Bilder sind. Deshalb dachte ich, der canvas_sizeParameter könnte hilfreich sein, aber es macht keinen Unterschied.
Anmerkung 2:Ja, es ist nicht wirklich eine reine Ubuntu OS Frage, aber drübenvideo.senicht bekommenjede Aufmerksamkeit, selbst mit einem Kopfgeldalso versuchen Sie es hier, falls jemand Videokonvertierungen durchführt und in die gleiche Situation geraten ist.

Antwort1

Technisch gesehen ist diesauberstemit diesen Untertiteln aussehen würde:

  1. Extrahieren Sie die Untertitel
  2. Wandeln Sie sie mit Ihrer bevorzugten OCR-Anwendung in Text um
  3. Überprüfen und bearbeiten Sie den Text sorgfältig
  4. Brennen Sie sie in der Größe, Farbe, Ausrichtung und im Format Ihrer Wahl wieder in den Medienstrom ein

Dies ist eine große und zeitaufwändige Arbeit, dieIch habe in der Vergangenheit persönlichaber ist wahrscheinlichOverkillin diesem Fall.

DerbesserMöglichkeit ist, einfach die FFmpeg-Option hinzuzufügen -fix_sub_duration(platziertVordie Eingabedatei) und dadurch werden die doppelten Untertitel behoben, wie ich unten zeige, und die Untertitel leicht lesbar gemacht:

Bildbeschreibung hier eingeben

Die Einzelheiten zu dieser -fix_sub_durationOption finden Sie in den Manpages von FFmpeg-all, ich habe mir jedoch erlaubt, diese Einzelheiten hier zu zitieren:

-fix_sub_duration

Untertiteldauer korrigieren. Warten Sie bei jedem Untertitel auf das nächste Paket im selben Stream und passen Sie die Dauer des ersten an, um Überlappungen zu vermeiden. Dies ist bei einigen Untertitel-Codecs erforderlich, insbesondere bei DVB-Untertiteln, da die Dauer im Originalpaket nur eine grobe Schätzung ist und das Ende tatsächlich durch einen leeren Untertitelrahmen markiert ist. Wenn diese Option bei Bedarf nicht verwendet wird, kann dies zu übertriebenen Dauern oder Multiplexfehlern aufgrund nicht-monotoner Zeitstempel führen.

Beachten Sie, dass diese Option die Ausgabe aller Daten verzögert, bis das nächste Untertitelpaket dekodiert ist. Dies kann den Speicherverbrauch und die Latenz erheblich erhöhen.

Sie werden feststellen, dass dies dieErsteder erweiterten Untertiteloptionen, diezweitedas ist das -canvas_size, was Sie bereits verwendet haben ...

verwandte Informationen