Überschneidungen bei exportierten .srt-Untertiteln

  • Hallo zusammen,
    im Rahmen eines Universitätsprojektes bin ich momentan dabei DVD's mit Untertiteln zu erstellen.
    Die Untertitel-Dateien (.srt) werden aus einem Programm zur Archivierung von Sprachen (ELAN) exportiert, bei dem die Dialoge bereits vollständig annotiert sind.
    Mit ELAN ist es möglich, Zwischenrufe oder kurze Einschübe überlappen einzutragen. Man kann sich das in etwa so vorstellen:

    Code
    Zeitstrang A: <----------------------------------------------->
    Sprecher A  : lorem ipsum dolor sit amet, consectetuer adipiscing
    Zeitstrang B:                     <----------->
    Sprecher B  :                      lorem ipsum

    Beim Export der srt-Files kommt es dabei zu Fehlern mit den Timestamps. Sprecher A bekommt den Timestamp (00:14:23 - 00:17:45) und Sprecher B bekommt - da er ja "später" zu sprechen beginnt - den Timestamp (00:17:46 - 00:15:58). Logischerweise wird beim Export also streng chronologisch vorgegangen und der nachfolgende Sprecher beginnt erst nach der Vollendung des vorhergehenden Abschnitts.

    Meine Fragen wären nun:
    A) Gibt es eine Möglichkeit die SRT-Files nachträglich zu "fixen" ohne manuell die ganzen Timestamps umschreiben zu müssen. Klartext: quick and dirty!!

    B) Gibt es Untertitel-Formate die nicht streng chronologisch sind und Überlappungen zulassen (durch Einblenden von zwei Untertiteln beispielsweise) oder ist das eher Unsinn.

    C) Gibt es irgendwo eine Dokumentation zu SRT oder anderen Subtitle-Formaten? Eventuell basiert das Ganze ja auf XML und ich kann selber rumbasteln. ;)

    Danke schonmal im Voraus
    Liebe Grüße
    Florian

  • :welcome:

    Untertitel-Dateiformate an sich bestimmen eigentlich nicht darüber, ob Überlappungen zulässig sind, sondern eher das Anwendungsgebiet. Wenn man in einer SRT-Datei überlappende Untertitel speichern möchte - nur zu! Nur werden sie sich dann wohl auf vielen Playern nicht so abspielen lassen, bzw. nicht so auf DVD übertragbar sein. Es liegt dabei jeweils an den Playern, ob sie mit Überlappungen umgehen können, und wie sie das tun.

    Sicherlich wird es zu den Aufgaben typischer Untertitelungstools gehören, Überlappungen zu entdecken und Lösungen anzubieten. Mir fehlt jedoch zur Zeit die Praxis, um auswendig sagen zu können, welche Tools es gibt und was sie können. So könnte ich mir durchaus vorstellen, dass dein Beispiel in eine Folge von drei Untertiteln zerlegbar wäre, wobei der mittlere noch eine zweite Zeile hat. Dann wäre nur noch zu beachten, dass DVDs Untertitel nicht völlig nahtlos darstellen können, kleine Blitzer dazwischen wären also zu erwarten.

    SRT ist ein sehr einfach aufgebautes Format, das in jedem Texteditor lesbar und bearbeitbar wäre: Laufende Nummer, Timecodebereich (HH:MM:SS,zht --> HH:MM:SS,zht), 1-3 Untertitel-Textzeilen, eine Leerzeile -- nächster Block... Zur Signalisierung, dass eine Zeile von einem anderen Sprecher stammt, sollte sie mit einem Bindestrich beginnen; dann wird sie häufig deshalb kursiv dargestellt.

    "Mal eben schnell" korrigieren wird deshalb nicht möglich sein, weil der Zeitpunkt, zu dem Sprecher B einsetzt, in dem fehlerhaften Export nicht mehr enthalten ist. Ich denk mir gerade mal Nummern und einen Zeitpunkt aus (00:15,14), dann wäre das Ergebnis wohl so sinnvoll:

    Code
    ...16700:00:14,230 --> 00:00:15,139lorem ipsum dolor sit amet, consectetuer adipiscing16800:00:15,140 --> 00:00:15,589lorem ipsum dolor sit amet, consectetuer adipiscing-lorem ipsum16900:00:15,590 --> 00:00:17,459lorem ipsum dolor sit amet, consectetuer adipiscing...

    Die Frage wäre hierbei, ob man sich die Mühe macht, bei Überlappungen die einzelnen Texte überhaupt getrennt voneinander darzustellen, oder ob hier auch "zwei in einem" angezeigt werden, und gut:

    Code
    ...
    
    
    167
    00:00:14,230 --> 00:00:17,459
    lorem ipsum dolor sit amet, consectetuer adipiscing
    -lorem ipsum
    
    
    ...
  • Vielen Dank für die schnelle und hilfreiche Antwort. Der Aufbau der .srt-Files ist mir natürlich bekannt. Du triffst den Nagel aber auf den Kopf - es ist weniger das Problem der .srt-Files sondern eher das Problem des von mir bentutzen TMPGEnc DVD Author. Dieser bricht nämlich die Untertitelung ab sobald der "Timestamp"-Fehler auftritt.

    Der "Fehler" in den .srt-Files sieht fogendermaßen aus:

    Nach Untertitel Nr.167 wird abgebrochen. Selbiges passiert übrigens auch, wenn "leere" Untertitel exportiert werden. Was in ELAN ohne Weiteres möglich ist (wenn auch nicht sinnvoll) wird beim .srt-Export zum Problem und die Untertitelung bricht ab.

    Du hast also vollkommen recht mit deinem Tipp, die Zwischenrufe in einen Block zusammenzufassen bzw. in drei Blöcke aufzuteilen.
    Leider ändert sich nichts an meinem eigentlichen Problem. Ich habe zwei Alternativen:

    A) Ich sage dem Projektleiter, dass die Annotation im ELAN geändert werden muss, d.h. Entfernen der leeren Blöcke und (wie von Dir vorgeschlagen) Aufteilung in drei separate Blöcke bei Zwischenrufen. Der Vorteil liegt auf der Hand: konsistente Annotation + wiederholbarer Export von Untertitel-Files.
    Der Nachteil: alle ca. 400 ELAN-Dateien müssen sehr zügig überarbeitet werden und die zuständigen SHK's hängen mich am nächsten Baum auf. :D

    B) Ich finde ein Tool, dass die "fehlerhaften" Timestamps und die leeren Blöcke findet und optimalerweise korrigiert. Mit den korrigierten Files fange ich mit der Erstellung der DVD's an und die SHK's beginnen nach und nach mit der Korrektur der ELAN-Annotationen. Ich bleibe vorerst am Leben und die SHK's sind glücklich!

    Falls es also ein Tool gibt, das Inkonsistenzen in .srt-Files findet und korrigiert wäre es gut zu wissen wie es heißt. Für andere Ratschläge bin ich natürlich ebenso dankbar.

    In diesem Sinne
    Vielen Dank für die schnelle Hilfe
    Florian

  • Schau mal hier:
    http://www.videohelp.com/tools/sections/subtitle
    Insbesondere Subtitle Workshop und SubtitleCreator werden öfter mal gelobt.

    Zitat

    Beim Export der srt-Files...


    Kann das ELAN auch andere Untertitel-Formate exportieren? AFAIK geht so was (Überschneidungen) in SSA

    Noch was: Steht da wirklich 'unlogisches Timestamping' in der SRT Datei? Dann wäre eine Quick&Dirty Lösung (Löschen des 'kaputten' Untertitels) recht einfach zu machen...

  • ...
    Noch was: Steht da wirklich 'unlogisches Timestamping' in der SRT Datei? Dann wäre eine Quick&Dirty Lösung (Löschen des 'kaputten' Untertitels) recht einfach zu machen...

    Schön wär's!!! ;D

    Nö, ich wollte es nur hervorheben.

    Danke für den Link. Ich mach mich schlau und melde mich dann wieder!

    Gruß
    Florian

  • Ein paar Tipps am Rande (bin allerdings auch kein Experte für Untertitel):

    Das derzeit beliebteste Untertitelformat für Text-Subs ist ASS, welches auch die von die beschriebenen Mehrfacheinblendungen unterstützen sollte. Aegisub wird für das Erstellen der Subs gern genutzt. Das Projekt hat eine recht große Community sowie Wiki und Docs. Aegisub nutzt VSFilter (aka. DirectVobSub) als Renderer für die Untertitel und konvertiert auch zw. verschiedenen Formaten.

    Wenn ich mich nicht ganz täusche, ist in dem Paket von VobSub auch die Dokumentation zu verschiedenen Untertitel-Formaten enthalten. Könnte auch hilfreich sein.

    Es gibt auch ein XML-artiges Format: USF (Universal Subtitle Format). Aber mit der Unterstützung dafür sieht es sehr schlecht aus. Nicht empfehlenswert für die praktische Nutzung.

  • Hi,

    kurz zur Info, soweit ich das noch aus meinen eigenen Programmierungen zum Thema VOB demuxen zusammenkriege (folgendes gilt für DVDs): Auf DVDVideo werden überlappende Untertitel nicht unterstützt. Ein Untertitel wird auf einer DVD durch ein RLE compressed Bitmap repräsentiert, d.h., beim Muxen werden aus den Texten Bitmaps erzeugt, die in die VOBs eingebaut werden. In der dabei entstehenden Struktur ist im Prinzip nur ein einzelner Timestamp, nämlich der des Beginns der Anzeige, enthalten. Die Anzeigedauer wird durch einen zweiten Wert festgelegt, der aber kein Timestamp-Format hat (genauer gesagt, ist das ein durch einen Delay-Wert gesteuertes Command).

    Im Prinzip müsste also ein Programm verwendet werden, dass bei überlappenden Zeiten aus den beiden Textzeilen ein einzelnes Bitmap erzeugt, in dem beide Texte drin sind. Damit fängt die Anzeige des "eingeschobenen" Textes natürlich zu früh an, aber daran lässt sich nichts ändern.

    Was man da nun programmtechnisch verwenden kann, kann ich leider nicht sagen. Ich war schon zufrieden, dass mein Programm die Bitmaps extrahieren kann.

    Grüße

    darkframe

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!