GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Bearbeiten von Untertiteln in Linux

Ich bin seit Jahrzehnten ein Liebhaber von Weltfilmen und regionalen Filmen. Untertitel sind das wesentliche Werkzeug, das es mir ermöglicht hat, die besten Filme in verschiedenen Sprachen und aus verschiedenen Ländern zu genießen.

Wenn Sie gerne Filme mit Untertiteln ansehen, ist Ihnen vielleicht aufgefallen, dass die Untertitel manchmal nicht synchronisiert oder nicht korrekt sind.

Wussten Sie, dass Sie Untertitel bearbeiten und verbessern können? Lassen Sie mich Ihnen einige grundlegende Untertitelbearbeitungen in Linux zeigen.

Extrahieren von Untertiteln aus Untertiteldaten

Um 2012, 2013 herum lernte ich ein Tool namens CCEextractor kennen. Im Laufe der Zeit wurde es zu einem der wichtigsten Werkzeuge für mich, besonders wenn ich auf eine Mediendatei stoße, in die der Untertitel eingebettet ist.

CCExtractor analysiert Videodateien und erstellt unabhängige Untertiteldateien aus den Untertiteldaten.

CCExtractor ist ein plattformübergreifendes, kostenloses Open-Source-Tool. Das Tool ist seit seinen Gründungsjahren ziemlich gereift und war Teil von GSOC und Google Code-in hin und wieder.

Das Tool ist, um es einfach auszudrücken, mehr oder weniger eine Reihe von Skripten, die nacheinander in einer fortlaufenden Reihenfolge arbeiten, um Ihnen einen extrahierten Untertitel zu geben.

Sie können den Installationsanweisungen für CCExtractor auf dieser Seite folgen.

Wenn Sie nach der Installation Untertitel aus einer Mediendatei extrahieren möchten, gehen Sie wie folgt vor:

ccextractor <path_to_video_file>

Die Ausgabe des Befehls sieht in etwa so aus:

$ ccextractor $something.mkv
CCExtractor 0.87, Carlos Fernandez Sanz, Volker Quetschke.
Teletext-Teile aus Petr Kutaleks telxcc
————————————————— ———————–
Eingabe:$something.mkv
[Extract:1] [Stream mode:Autodetect]
[Programm:Auto] [Hauppage-Modus:Nein] [MythTV-Code verwenden:Auto ]
[Timing-Modus:Auto] [Debug:Nein] [Puffereingabe:Nein]
[pic_order_cnt_lsb für H.264 verwenden:Nein] [CC-Decoder-Traces drucken:Nein ]
[Zielformat:.srt] [Kodierung:UTF-8] [Verzögerung:0] [Trimmlinien:Nein]
[Schriftfarbendaten hinzufügen:Ja] [Schriftsatz hinzufügen:Ja]
[Groß-/Kleinschreibung konvertieren:Nein] [Video-Bearbeitungsteilnahme:Nein]
[Startzeit der Extraktion:nicht festgelegt (vom Start)]
[Extraction end time:not set (to end)]
[Livestream:Nein] [Taktfrequenz:90000]
[Teletext page:Autodetect]
[Start-Credits-Text:None]
[Quantisierungsmodus:CCExtractors interne Funktion]
————————————————— ————–
Öffnungsdatei:$something.mkv
Datei scheint ein Matroska/WebM-Container zu sein
Analysieren von Daten im Matroska-Modus
Dokumenttyp:matroska
Timecode-Skalierung:1000000
Muxing-App:libebml v1.3.1 + libmatroska v1.4.2
Schreib-App:mkvmerge v8.2.0 ('World of Adventure') 64bit
Titel:$etwas
Track-Eintrag:
Titelnummer:1
UID:1
Typ:video
Codec-ID:V_MPEG4/ISO/AVC
Sprache:mal
Name:$something
Track-Eintrag:
Titelnummer:2
UID:2
Typ:audio
Codec-ID:A_MPEG/L3
Sprache:mal
Name:$something
Track-Eintrag:
Titelnummer:3
UID:irgendeine Nummer
Typ:Untertitel
Codec-ID:S_TEXT/UTF8
Name:$something
99 % | 144:34
100 % | 144:34
Ausgabedatei:$something_eng.srt
Fertig, Verarbeitungszeit =6 Sekunden
Probleme? Eröffnen Sie hier ein Ticket
https://github.com/CCExtractor/ccextractor/issues
sehen Sie sich rawccextractor-output.txt an, das mit ❤ von GitHub gehostet wird

Es scannt im Grunde die Mediendatei. In diesem Fall wurde festgestellt, dass sich die Mediendatei in malyalam und dass der Mediencontainer an ist .mkv Container. Es extrahierte die Untertiteldatei mit demselben Namen wie die Videodatei und fügte ihr _eng hinzu.

CCExtractor ist ein wunderbares Tool, das verwendet werden kann, um Untertitel zusammen mit Subtitle Edit zu verbessern, das ich im nächsten Abschnitt vorstellen werde.

Interessante Lektüre:Es gibt eine interessante Zusammenfassung der Untertitel bei vicaps die erzählt und teilt, warum uns Untertitel wichtig sind. Für diejenigen, die sich für solche Themen interessieren, geht es auch ziemlich detailliert auf das Filmemachen ein.

Bearbeiten von Untertiteln mit dem SubtitleEditor Tool

Sie wissen wahrscheinlich, dass die meisten Untertitel im Format sind . Das Schöne an diesem Format ist und war, dass Sie es in Ihren Texteditor laden und kleine Korrekturen daran vornehmen konnten.

Ein srt Datei sieht etwa so aus, wenn sie in einem einfachen Texteditor gestartet wird :

1
00:00:00,959 –> 00:00:13,744
"THE CABINET
OF DR. CALIGARI"
2
00:00:40,084 –> 00:01:02,088
EINE GESCHICHTE über das moderne Wiederauftauchen eines Mythos aus dem 11. Jahrhundert
der den seltsamen und mysteriösen Einfluss aufruft
eines Mountebank-Mönchs gegenüber einem Schlafwandler.
siehe rawsample-subtitle.txt, gehostet mit ❤ von GitHub

Der von mir geteilte Untertitelauszug stammt aus einem hübschen altdeutschen Film namens The Cabinet of Dr. Caligari (1920)

Subtitleeditor ist ein wunderbares Werkzeug, wenn es um die Bearbeitung von Untertiteln geht. Der Untertitel-Editor ist und kann verwendet werden, um die Zeitdauer, die Bildrate der Untertiteldatei so zu manipulieren, dass sie mit der Mediendatei synchronisiert ist, die Dauer der Pausen dazwischen und vieles mehr. Ich werde hier einige der grundlegenden Untertitelbearbeitungen teilen.

Installieren Sie zuerst subtitleeditor auf die gleiche Weise wie ccextractor, indem Sie Ihre bevorzugte Installationsmethode verwenden. In Debian können Sie diesen Befehl verwenden:

sudo apt install subtitleeditor

Wenn Sie es installiert haben, sehen wir uns einige der häufigsten Szenarien an, in denen Sie einen Untertitel bearbeiten müssen.

Manipulieren von Bildraten zum Synchronisieren mit Mediendateien

Wenn Sie feststellen, dass die Untertitel nicht mit dem Video synchronisiert sind, könnte einer der Gründe der Unterschied zwischen den Bildraten der Videodatei und der Untertiteldatei sein.

Woher kennen Sie dann die Bildraten dieser Dateien?

Um die Bildrate einer Videodatei zu ermitteln, können Sie das Mediainfo-Tool verwenden. Möglicherweise müssen Sie es zuerst mit dem Paketmanager Ihrer Distribution installieren.

Die Verwendung von mediainfo ist einfach:

$ mediainfo somefile.mkv | grep Frame
 Format settings                          : CABAC / 4 Ref Frames
 Format settings, ReFrames                : 4 frames
 Frame rate mode                          : Constant
 Frame rate                               : 25.000 FPS
 Bits/(Pixel*Frame)                       : 0.082
 Frame rate                               : 46.875 FPS (1024 SPF)

Jetzt können Sie sehen, dass die Bildrate der Videodatei 25.000 FPS beträgt. Die andere Bildrate, die wir sehen, ist für das Audio. Obwohl ich mitteilen kann, warum bestimmte fps bei der Video-Codierung, Audio-Codierung usw. verwendet werden, wäre dies ein anderes Thema. Es ist viel Geschichte damit verbunden.

Als nächstes müssen Sie die Bildrate der Untertiteldatei herausfinden, und das ist etwas kompliziert.

Normalerweise sind die meisten Untertitel in einem gezippten Format. Entpacken des .zip-Archivs zusammen mit der Untertiteldatei, die auf something.srt endet. Daneben gibt es in der Regel auch eine .info-Datei mit dem gleichen Namen, die manchmal die Bildrate des Untertitels enthalten kann.

Wenn nicht, ist es normalerweise eine gute Idee, zu einer Website zu gehen und den Untertitel von einer Website herunterzuladen, die diese Bildrateninformationen enthält. Für diese spezielle deutsche Datei werde ich verwenden Opensubtitle.org

Wie Sie im Link sehen können, beträgt die Bildrate des Untertitels 23.976 FPS. Ganz offensichtlich funktioniert es nicht gut mit meiner Videodatei mit einer Bildrate von 25.000 FPS.

In solchen Fällen können Sie die Bildrate der Untertiteldatei mit dem Untertitel-Editor-Tool ändern:

Wählen Sie den gesamten Inhalt der Untertiteldatei aus, indem Sie STRG+A ausführen. Gehen Sie zu Timings -> Change Framerate und ändern Sie die Frameraten von 23.976 fps auf 25.000 fps oder was auch immer gewünscht wird. Speichern Sie die geänderte Datei.

Ändern der Startposition einer Untertiteldatei

Manchmal kann die obige Methode ausreichen, manchmal jedoch nicht.

Möglicherweise finden Sie einige Fälle, in denen sich der Start der Untertiteldatei von dem im Film oder einer Mediendatei unterscheidet, während die Bildrate die gleich .

Gehen Sie in solchen Fällen wie folgt vor:

Wählen Sie den gesamten Inhalt der Untertiteldatei aus, indem Sie STRG+A ausführen. Gehen Sie zu Timings -> Wählen Sie Untertitel verschieben.

Ändern Sie die neue Startposition der Untertiteldatei. Speichern Sie die geänderte Datei.

Wenn Sie genauer sein möchten, verwenden Sie mpv, um den Film oder die Mediendatei anzuzeigen, und klicken Sie auf das Timing. Wenn Sie auf die Zeitleiste klicken, die anzeigt, wie viel der Film oder die Mediendatei verstrichen ist, wird durch Klicken darauf auch angezeigt Mikrosekunde.

Normalerweise mag ich es, genau zu sein, also versuche ich, so genau wie möglich zu sein. Bei MPV ist es sehr schwierig, da die menschliche Reaktionszeit ungenau ist. Wenn ich supergenau sein will, benutze ich so etwas wie Audacity, aber das ist ein ganz anderes Ballspiel, da man so viel mehr damit machen kann. Das könnte auch etwas sein, das in einem zukünftigen Blogbeitrag untersucht werden sollte.

Manipulieren der Dauer

Manchmal reicht es nicht aus, beides zu tun, und Sie müssen sogar die Dauer verkleinern oder hinzufügen, um sie mit der Mediendatei zu synchronisieren. Dies ist eine der mühsameren Arbeiten, da Sie die Dauer jedes Satzes einzeln festlegen müssen. Dies kann insbesondere passieren, wenn Sie variable Bildraten in der Mediendatei haben (heutzutage selten, aber Sie erhalten immer noch solche Dateien).

In einem solchen Szenario müssen Sie die Dauer möglicherweise manuell bearbeiten, und eine Automatisierung ist nicht möglich. Der beste Weg ist entweder, die Videodatei zu reparieren (ohne Verschlechterung der Videoqualität nicht möglich) oder das Video von einer anderen Quelle in höherer Qualität zu beziehen und es dann mit den von Ihnen bevorzugten Einstellungen zu transcodieren. Auch dies ist zwar ein großes Unterfangen, das ich in einem zukünftigen Blogbeitrag beleuchten könnte.

Schlussfolgerung

Was ich oben mitgeteilt habe, betrifft mehr oder weniger die Verbesserung bestehender Untertiteldateien. Wenn Sie mit einem Scratch beginnen würden, brauchen Sie viel Zeit. Ich habe das überhaupt nicht geteilt, weil ein Film oder irgendein Videomaterial von sagen wir einer Stunde leicht zwischen 4 und 6 Stunden oder sogar mehr dauern kann, abhängig von den Fähigkeiten des Untertitelers, der Geduld, dem Kontext, dem Jargon, den Akzenten, dem englischen Muttersprachler, Übersetzer usw., was sich auf die Qualität des Untertitels auswirkt.

Ich hoffe, Sie finden das interessant und werden von nun an etwas besser mit Ihren Untertiteln umgehen. Wenn Sie Vorschläge zum Hinzufügen haben, hinterlassen Sie bitte unten einen Kommentar.



Linux
  1. Linux-Grundlagen:Ein Anfängerleitfaden zur Textbearbeitung mit vim

  2. Die 10 besten Medienbearbeitungsanwendungen für Linux

  3. Linux-mv-Befehl

  4. Linux-Du-Befehl

  5. Öffnen Sie externe Untertitel auf mpv unter Linux ohne Terminal

Beste Foto-Editoren für Linux

Bearbeiten von Bildern in der Linux-Befehlszeile mit ImageMagick

Beste Tools zum Aufnehmen und Bearbeiten von Screenshots unter Linux

Linux gegen Unix

15 beste Videobearbeitungssoftware für Linux-Systeme

Welche Videobearbeitungsanwendungen sind unter Linux verfügbar?