Untertitel zeitlich verschieben

Sound, Digitalkameras, TV+Video und Spiele.
Antworten
fischig
Beiträge: 3640
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Untertitel zeitlich verschieben

Beitrag von fischig » 12.06.2023 10:54:56

Wird wohl wieder auf MaGe hinauslaufen! :wink:

Also: ich habe mir erstmals eine srt-Datei zu einem Spielfilm aus dem Netz gefischt und mit ffmpeg nach ass umformatiert. Die möchte ich jetzt als 2. Subtitelspur dem mkv-Video hinzufügen. Leider stimmen die Zeiten nicht. Ich möchte zunächst mal via Versuch und Irrtum probieren, die Zeiten einmalig um ein paar Sekunden zu verschieben, bis es passt. Wie/womit geht das. Die ass-Datei separat aufheben und gemeinsam mit dem mkv abspielen möchte ich eher nicht. Im Netz taucht da ein Tool auf, dass es auch als Debian-deb gibt, Namen habe ich wieder vergessen. Am liebsten wäre mir was, was ich eh schon auf dem Rechner habe, wie z.B. ffmpeg. :wink:

tobo
Beiträge: 1997
Registriert: 10.12.2008 10:51:41

Re: Untertitel zeitlich verschieben

Beitrag von tobo » 12.06.2023 11:50:56

srt ist doch ein Textformat, wo die Zeiten plain drinstehen. Das kannst du doch einfach textuell direkt in der srt-Datei ändern. Oder geht's um einen grundsätzlichen Offset der Spur?

fischig
Beiträge: 3640
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: Untertitel zeitlich verschieben

Beitrag von fischig » 12.06.2023 12:11:20

Das kannst du doch einfach textuell direkt in der srt-Datei ändern
Nun ja, was ist einfach? Soweit ich das laienmäßig überblicke, müsste ich da eine Tabelle mit ca. 6500 Zeilen zeilenweise händisch anpassen. Meillo hätte da sicherlich in Nullkommanix ein Shell-Kommando entwickelt, mit dem man das mit einem Aufruf erledigt (z.B. in jeder Zeile 5 Sek +- der jeweils angegebenen Zeit), ich leider nicht. :wink:

Ich versteh' auch leider nicht, was ich unter einem „Offset“ zu verstehen habe.

tobo
Beiträge: 1997
Registriert: 10.12.2008 10:51:41

Re: Untertitel zeitlich verschieben

Beitrag von tobo » 12.06.2023 12:14:22

https://trac.ffmpeg.org/wiki/UnderstandingItsoffset

Mit INPUT und OUTPUT als *.srt und einem delay von 1,2 Sekunden:

Code: Alles auswählen

ffmpeg -itsoffset 1.2 -i INPUT.srt OUTPUT.srt

fischig
Beiträge: 3640
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: Untertitel zeitlich verschieben

Beitrag von fischig » 12.06.2023 12:17:02

Danke sehr! Probier ich aus.

fischig
Beiträge: 3640
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: Untertitel zeitlich verschieben

Beitrag von fischig » 12.06.2023 13:10:50

Das war genau das, was ich mir vorgestellt hatte, aber der Zeitversatz (der offset?) scheint leider nicht konstant zu sein.

tobo
Beiträge: 1997
Registriert: 10.12.2008 10:51:41

Re: Untertitel zeitlich verschieben

Beitrag von tobo » 12.06.2023 14:12:31

Nicht konstant bedeutet, unterschiedlich große Zeitverzögerungen oder eine dateispezifisch konstante Verzögerung, aber abweichend zur Angegebenen? Beim Ersten arbeitet ffmpeg wohl nicht korrekt und beim Zweiten könnte die Startzeit des 1. Eintrags 0 unterschreiten (bei negativer Verzögerung).

mludwig
Beiträge: 797
Registriert: 30.01.2005 19:35:04

Re: Untertitel zeitlich verschieben

Beitrag von mludwig » 12.06.2023 14:27:40

Es gibt Subtitle-Editoren, die das Video mit Untertiteln anzeigen und es dabei erlauben, die Untertitel zu bearbeiten, verschieben löschen etc

Debiangnome-subtitles
Debiangaupol

MaGe
Beiträge: 1717
Registriert: 01.06.2014 17:12:16

Re: Untertitel zeitlich verschieben

Beitrag von MaGe » 12.06.2023 14:29:54

fischig hat geschrieben: Das war genau das, was ich mir vorgestellt hatte

# Nur als hinweis,du darfst statt -itsoffset 1.2 auch 00:00:00.000 verwenden

# Verzögert alle Eingabeströme um x Sekunden.

Code: Alles auswählen

 ffmpeg -itsoffset 00:00:01.016 -i Tagesschau.ass Tagesschau-001.ass 
# Rückt alle Eingabeströme um x Sekunden vor

Code: Alles auswählen

 ffmpeg -itsoffset -00:00:01.016 -i Tagesschau.ass Tagesschau-001.ass 
## Wichtig! das minuszeichen nicht vergessen ( -00:00:05.000 )




gruss MaGe
Wir müssen uns vor der Klimaerwärmung nicht fürchten.
Uns rottet die soziale Kälte viel früher aus.

michaa7
Beiträge: 4632
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Re: Untertitel zeitlich verschieben

Beitrag von michaa7 » 12.06.2023 16:11:32

Mach das auf dem srt file mit Debiangaupol. Hat ne GUI! Dort hast du Werkzeuge zum Quetschen, Strecken und/oder verschieben von Untertitelfiles inkl. Vorschau.
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

Benutzeravatar
Steve1
Beiträge: 570
Registriert: 21.09.2022 16:42:47
Kontaktdaten:

Re: Untertitel zeitlich verschieben

Beitrag von Steve1 » 13.06.2023 04:30:17

Guten Morgen,

Ich habe "früher" viel sowas gemacht mit Subtitlen in aller Form. Das beste Tool was sich da für mich herausgestellt hat war oder ist Subtitle Edit. Ich kann ja immer alle Non-GUI ffmpeg Puristen verstehen, aber sowas würde ich auch mit einer vernünftigen GUI machen und das hat SE!

Link:
https://www.nikse.dk/subtitleedit/help#linux

Gruß, Steve
Dell 7480:
Debian 12 Bookworm GNOME

MaGe
Beiträge: 1717
Registriert: 01.06.2014 17:12:16

Re: Untertitel zeitlich verschieben

Beitrag von MaGe » 13.06.2023 09:10:16

Steve1 hat geschrieben: Das beste Tool was sich da für mich herausgestellt hat war oder ist Subtitle Edit.
Die Software Subtitle Edit benutze ich seit Jahren, als Non-GUI ffmpeg Purist unter ( Wine ).
Aber bei kleineren Untertitel ( Forced ), nehme ich doch lieber die konsole, mit

Code: Alles auswählen

 wine /opt/SE3613/SubtitleEdit.exe /convert "de5.sub" "srt" 
Funktioniert das auch.



gruss MaGe
Wir müssen uns vor der Klimaerwärmung nicht fürchten.
Uns rottet die soziale Kälte viel früher aus.

fischig
Beiträge: 3640
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: Untertitel zeitlich verschieben

Beitrag von fischig » 13.06.2023 09:25:02

mit einem Versatz von -11,5sec sind die ersten Untertitel ziemlich synchron mit dem Ton (00:03:14,884 --> 00:03:17,717), aber bereits bei 00:04:40,769 --> 00:04:42,293 ist der Ton den Untertiteln wieder deutlich voraus. Dann wird das wohl nix mit -itoffset. Ich schau mir mal Debiangaupol an, aber viel Hoffnung habe ich nicht, dass da was mit für mich akzeptablem Zeitaufwand zu reißen wäre.

subtitleedit erfordert wine - richtig? Dann werde ich mir das sicherlich nicht antun.

tobo
Beiträge: 1997
Registriert: 10.12.2008 10:51:41

Re: Untertitel zeitlich verschieben

Beitrag von tobo » 13.06.2023 10:11:55

Verstehe, ffmpeg arbeitet korrekt, aber der Versatz im Film ist unterschiedlich. Solche Filme/Serien habe ich auch schon gesehen - der Versatz wechselt dann häufig mit Beginn einer neuen Szene. Der ffmpeg-Weg dafür wäre jetzt, ab dem (neuen falschen) Zeitpunkt, die Datei abzutrennen, den neuen falschen Versatz zu finden und ffmpeg auf den Rest des Films loszulassen. Und das dann wiederholend bis zum Filmende. Und zum Schluss die "richtigen" Versatzstücke mit cat zusammenfügen. Kommt natürlich auf die Anzahl der Wiederholungen an, ob das noch sinnvoll ist.

MaGe
Beiträge: 1717
Registriert: 01.06.2014 17:12:16

Re: Untertitel zeitlich verschieben

Beitrag von MaGe » 13.06.2023 10:49:01

fischig hat geschrieben: Dann wird das wohl nix mit -itoffset.
Meine Idee ist,
Du hast dir eine srt-Datei zu einem Spielfilm aus dem Netz gefischt.

Gehörte die ( SRT ) Datei zu einem Spielfilm mit eine Framerate
von 23, 25,30,50,60 fps.
Mir scheint es so zu sein, das Filme, die mit 23, 25,30,50,60 fps gespeichert sind,
unterschiedlich lang sind.

Passen beispielsweise die Framerate des Videos und die der
Untertiteldatei nicht zusammen, wird der Versatz stetig größer.



gruss MaGe
Wir müssen uns vor der Klimaerwärmung nicht fürchten.
Uns rottet die soziale Kälte viel früher aus.

michaa7
Beiträge: 4632
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Re: Untertitel zeitlich verschieben

Beitrag von michaa7 » 13.06.2023 14:50:12

fischig hat geschrieben: ↑ zum Beitrag ↑
13.06.2023 09:25:02
...
Ich schau mir mal Debiangaupol an, aber viel Hoffnung habe ich nicht, dass da was mit für mich akzeptablem Zeitaufwand zu reißen wäre.
Das ist mit gaupol keine Kunst:

- Du suchst den ersten und den letzten Eintrag in der srt Datei und notierst dir diesen den Text + NR, meist 1 und eben der letzte. (es müssen nicht zwingend der erste und letzte Eintrag sein. Wenn du eindeutigere Einträge hast deren Startzeit besonders gut im Video erkennbar ist so ist es manchmal besser diese zu nehmen. Aber sie sollten jeweils möglichst weit voneinander entfernt sein, also immer wenigstens nah am Anfang und am Ende.
- Du schaust das Video um den ersten und letzten Sprachtext bzw die von dir gewählten Stellen wie er/sie in der srt Datei vorkomm/t/en und notierst dir akkurat die jeweilige Startzeit im Video. Die 100stel sec darfst du so ungefähr schätzen. Man vertut sich leicht, weil man ja auch immer etwas Reaktionzeit benötigt. Mit etwas Übung und Ausprobieren gelingt das schnell.
- In gaupol (video und srt Datei sind in gaupol schon geöffnet) gehst du nach "Werkzeuge/Positionen umwandeln" und trägst beim ersten und letzten Eintrag (oder ggf. davon abweichende Einträge; kontolliere dass es tatsächlich der entsprechende Text ist und nicht irgenwelche header oder footer) die Zeiten ein wie du sie aus dem video herausgehört hast und achtest darauf dass unten in diesem Menüfenster "aktuelles Projekt umwandeln" gewählt ist.
-Dann klickst du auf "umwandeln" und gaupol verschiebt, dehnt oder quetscht alle Untertitel proportional zu den Zeitunterschieden. Du kannst das ergebnis dann anschauen/anhören. Dabei kann es passieren dass das erst richtig funktioniert wenn du das Ergebnis abgespeichert hast (obwohl das auch anders funktioneren sollte)

Du solltes als srt file das zuvor noch unveränderte file benutzen. Fall du schon verschiebungen vorgenommen hast stimmen meist die proportionen bei dem umwandlungswerkzeug nicht mehr.
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

fischig
Beiträge: 3640
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: Untertitel zeitlich verschieben

Beitrag von fischig » 25.07.2023 15:42:07

So, ich habe mir Debiangaupol mal installiert, aber noch nicht angewendet.
Ich habe eine m2t-TV-Aufnahme (arte) für den Film „Der dritte Mann“. Es gibt in dieser Datei deutschsprachige Teletext-Untertitel. die ich mit ffmpeg in einer Textdatei (srt) isoliert habe. Aus dem Netz habe ich hier eine französischsprachige srt-Datei heruntergeladen. Wenn ich beide Text-Dateien vergleiche, bin ich mir nicht so sicher, ob die - abgesehen von der unterschiedlichen Film„länge“ - die Dialoge desselben Films beinhalten.
deutschsprachige Untertitel der TV-Aufnahme
heruntergeladene französischsprachige Untertitel

Benutzeravatar
hikaru
Moderator
Beiträge: 13594
Registriert: 09.04.2008 12:48:59

Re: Untertitel zeitlich verschieben

Beitrag von hikaru » 25.07.2023 16:29:41

fischig hat geschrieben: ↑ zum Beitrag ↑
25.07.2023 15:42:07
Wenn ich beide Text-Dateien vergleiche, bin ich mir nicht so sicher, ob die - abgesehen von der unterschiedlichen Film„länge“ - die Dialoge desselben Films beinhalten.
Die ersten 5 Minuten der beiden Untertiteldateien beschreiben sinngemäß (aber nicht wortwörtlich) die gleiche Handlung, und um die 1h-Marke gibt es auch äquivalente Dialoge.
Ich würde sagen, die gehören zum selben Film.

Auf die Gefahr hin, hier Bekanntes zu wiederholen:
Synchronisationen sind nicht immer Deckungsgleich zum Original. Wortspiele lassen sich mitunter nicht sinnerhaltend übersetzen, oder drängen sich in der Übersetzung geradezu auf. Manchmal werden auch absichtlich die Dialoge verändert. So hat z.B. das ZDF bei der Synchronisation von Raumschiff Enterprise (TOS) absichtlich flache Witzchen in die Dialoge eingebaut, um die Serie als Kindersendung platzieren zu können.
Idealerweise sollte die Sprache zum Bild passen (Lippenbewegungen). Deutsches Star Trek erfindet für diesen Zweck schon mal neue Charaktere [1], die es im Englischen Original gar nicht gibt.
Untertitel unterliegen dann nochmal zusätzlichen Limitierungen, denn die sollen im Zeitrahmen der ablaufenden Handlung auch noch erfassbar sein, weshalb sie im Vergleich zum Ton tendenziell verkürzend sind.

Lange Rede kurzer Sinn: Betrachte Untertitel eher als Spickzettel, um dir die Handlung zu erschließen! Aber klebe nicht an ihnen, denn dadurch wirst du möglicherweise mehr von der Handlung (Szene) verpassen, als durch mangelnde Fremdsprachenkenntnisse.


[1] https://memory-alpha.fandom.com/de/wiki/Thorndike

fischig
Beiträge: 3640
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: Untertitel zeitlich verschieben

Beitrag von fischig » 25.07.2023 17:36:29

Es geht mir nicht darum, die Handlung zu erschließen. Mir ist auch klar, dass auch die deutschen Untertitel nicht immer hundertprozentig wortgleich mit dem deutschen Ton sind. Aber davon abgesehen sind Ton und Untertitel im Prinzip identisch. in meiner Muttersprache vermag ich das zu beurteilen, denke ich. Wenn ich das nicht erwarten kann, machen die französischen Untertitel für mich keinen Sinn. Und wenn ich dann noch die Untertitel irgendwie verdichten muss Darum geht's mir: Das Französisch Gehörte notfalls mit den französischen Untertiteln zu verifizieren. Platt ausgedrückt: Französisch zu üben.

Aber vergesst es, was das zuletzt genannte Beispiel angeht: Das m2t-Video habe ich zeitlich zu kurz geschnitten, ist halt schon 'n Weilchen her (03.2023) und fällt mir deswegen leider erst jetzt auf. Ich habe den Film noch als VDR-Aufnahme. Mal schauen, wie's da aussieht.

michaa7
Beiträge: 4632
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Re: Untertitel zeitlich verschieben

Beitrag von michaa7 » 26.07.2023 12:02:51

fischig hat geschrieben: ↑ zum Beitrag ↑
25.07.2023 17:36:29
...Darum geht's mir: Das Französisch Gehörte notfalls mit den französischen Untertiteln zu verifizieren. Platt ausgedrückt: Französisch zu üben.
Ich gebe dir in dem Punkt recht, dass das gesprochene/synchronisierte Wort mit dem Text übereinstimmen sollte. Und soweit es meine Beobachtungen betrifft ist das auch weit überwiegend so der Fall.

Aber es gibt fast in jedem Film Stellen wo der übersetzte Text entweder zu lang oder die Textfolge zu schnell abläuft und dann die Subtitel um ein, zwei Wörter gekürzt werden um sie kompakter und schneller erfassbarer zu machen. Dennoch sollte der Text dem gesprochenen/gehörten Wort folgen. Da hast du recht.

Ob jedoch ein im Original amerikanisch-englischer Film sich sonderlich gut in der französischen Synchronisation als Übungsmaterial eignet bezweifle ich. Aber ich verstehen dass man manchmal nimmt was man bekommt ...
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

fischig
Beiträge: 3640
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: Untertitel zeitlich verschieben

Beitrag von fischig » 27.07.2023 08:59:03

Operation gelungen, Patient ziemlich tot! :wink:

Das VDR-Video hatte deutsche und französische Untertitel Spuren - allerdings nur als Bilder (dvdsub).
Benutzt habe ich, wie immer bei mir: Debianffmpeg

Zuerst habe ich mal die aus dem Netz besorgten französischen Text-Untertitel von srt nach ass konvertiert:

Code: Alles auswählen

ffmpeg -i 3-mann-fra.srt 3-mann-fra.ass
Danach das Video ohne ohne alle Subtitel kopiert:

Code: Alles auswählen

ffmpeg -i 3_mann.mkv -map 0:0 -map 0:1 -map 0:2 -vcodec copy -acodec copy 3_mann-oUt.mkv
Anschließend die deutsche Untertitel-Spur extrahiert:

Code: Alles auswählen

 ffmpeg -i 3_mann.mkv -vn -an -map 0:3 -c:s copy 3_mann_dvdsub.mkv
Final:

Code: Alles auswählen

ffmpeg -i 3_mann-oUt.mkv -i 3_mann_dvdsub.mkv -i 3-mann-fra.ass -map 0 -c copy -map 1:0 -map 2:0 3_mann_mUt.mkv
Im Prinzip hat's funktioniert. Bild und Ton sind synchron, die „fremden“ französischen Unteritel passen also auch ohne Bemühen von Debiangaupol zum VDR-Video. Vergleicht man allerdings die französischen Untertitel mit dem deutschen gesprochenen Wort, dann ist das schon eine eher freie Übersetzung, womit ich überhaupt nichts gegen diese Untertitel sagen will: Das Original-Video ist schließlich englisch. Für Sprachübungen hat sich der Aufwand also eher nicht gelohnt. :wink:

MaGe
Beiträge: 1717
Registriert: 01.06.2014 17:12:16

Re: Untertitel zeitlich verschieben

Beitrag von MaGe » 27.07.2023 10:37:21

fischig hat geschrieben: Für Sprachübungen hat sich der Aufwand also eher nicht gelohnt.
Aber für die Lernkurve mit FFmpeg. :THX:

Am ende wird alles gut, und wenn es nicht gut ist, ist es nicht das ende.




gruss MaGe
Wir müssen uns vor der Klimaerwärmung nicht fürchten.
Uns rottet die soziale Kälte viel früher aus.

Antworten