Das Digitalisieren von Blu-Ray Discs (BDs) ermöglicht das Erstellen von eigenen, nie im Heimatland veröffentlichten, Fassungen. Dieses Vorgehen wird Dubbing genannt und in der folgenden Anleitung erläutert.
Es ist zu beachten, dass das Erstellen dieser Fassungen eine Bearbeitung eines Werkes nach § 23 Abs. 1 UrhG darstellt und somit nach § 23 Abs. 2 UrhG der Zustimmung des Urhebers bedarf.
Der Film der für die exemplarische Beschreibung der Vorgehensweise herangezogen wird, erschien auf deutscher BD in der Kinofassung (KF). Der Unrated Director’s Cut (UDC) blieb dem US-amerikanischen Markt vorenthalten.
Die beiden Fassungen haben mit 7 Schnitten eine zeitliche Differenz von 3 min 41 s 557 ms.
1. Schnittpunkte identifizieren:
Als erstes müssen die Einzelbilder der Schnittpunkte identifiziert werden. Diese befinden sich immer zwischen zwei Einstellungen (als Einstellung wird eine Folge von Einzelbildern bezeichnet, die ohne Unterbrechung mit einer Filmkamera aufgenommen wurde).
Die Funktion „Springen zu“ des Mediaplayers Media Player Classic – Home Cinema eignet sich hierfür besonders (siehe Abb. 1).
Abbildung 1: „Springen zu“-Funktion des Mediaplayers Media Player Classic – Home Cinema
Im vorliegenden Beispiel laufen beide Fassungen bis zum Schnittpunkt mit Einzelbild 25.373 synchron. Danach beginnt jeweils eine neue Einstellung mit unterschiedlicher Länge. Die Einstellung der KF umfasst 43 Einzelbilder. Der Einstellung des UDCs folgen weitere Einstellungen mit insgesamt 665 Einzelbildern, bis die beiden Fassungen wieder synchron laufen. Die Differenz der beiden Fassungen beträgt mit dem 1. Schnitt 622 Einzelbilder. Mit dieser Differenz können nun weitere Schnittpunkte identifiziert werden, indem die Differenz der Einzelbiler bei Beginn einer identischen Einstellung der beiden Fassungen ermittelt und mit der Differenz von 622 Einzelbildern verglichen wird. Unterscheiden sich die Differenzen, liegt vor der geprüften Einstellung ein Schnitt vor.
Der 2. Schnitt beginnt für die KF mit Einzelbild 31.442 und für den UDC mit Einzelbild 32.064. Für die KF folgt eine Einstellung mit 41 Einzelbildern und der UDC zeigt wieder mehrere Einstellungen mit insgesamt 165 Einzelbildern. Die neue Differenz der beiden Fassungen beträgt 746 Einzelbilder. Anschließend laufen beide Fassungen bis Einzelbild 45.021 (KF) und Einzelbild 45.767 (UDC) synchron. Es folgt der 3. Schnitt. Dieser umfasst beim UDC mehrere Einstellungen mit insgesamt 912 Einzelbildern. Die KF läuft mit der nachfolgenden Einstellung wieder synchron zum UDC, sodass hier kein Zeitunterschied berücksichtigt werden muss. Die Differenz beträgt nun 1.658 Einzelbilder. Die restlichen 4 Schnitte können folgender Tabelle entnommen werden (auf die Methode wird in Schritt 3 eingegangen):
Schnitt | Länge (KF) | Länge (UDC) | Differenz | Methode |
---|---|---|---|---|
1 | 25374–25416 | 25374–26038 | 622 | Ersetzen |
2 | 31443–31483 | 32065–32229 | 746 | Ersetzen |
3 | 45021 / 45022 | 45768–46679 | 1658 | Hinzufügen |
4 | 54950–55124 | 56608–58180 | 3056 | Ersetzen |
5 | 64890–64944 | 67946–68828 | 3884 | Ersetzen |
6 | 65570–65591 | 69454–69793 | 4202 | Ersetzen |
7 | 75239 / 75240 | 79442–80509 | 5270 | Hinzufügen |
2. Auftrennungspunkte ermitteln und Schnitte extrahieren:
Nachdem die Schnittpunkte identifiziert wurden, können die entsprechenden Schnitte aus dem Audiostream der ungeschnittenen Fassung extrahiert und an entsprechender Stelle im Audiostream der geschnittenen Fassung eingefügt werden.
Hierzu muss der Audiostream der geschnittenen Fassung aufgetrennt werden. Die Auftrennungspunkte werden wie folgt ermittelt (da der Ton des letzten Bildes eines Schnittes ebenfalls berücksichtigt werden muss, wird jeweils dem Ende eines Schnittes ein Einzelbild hinzugefügt):
Bezeichnung | Formel | Einzelbild | Dauer |
---|---|---|---|
Teil 1 | T1 = 25374 | 25374 | 1058,30725 |
Rest 1 | R1 = T1 | 25374 | 1058,30725 |
Teil 2 | T2 = 25417 − T1 | 43 | 1,793458333 |
Rest 2 | R2 = T2 + T1 | 25417 | 1060,100708 |
Teil 3 | T3 = 31443− T2 − T1 | 6026 | 251,3344167 |
Rest 3 | R3 = T3 + T2 + T1 | 31443 | 1311,435125 |
Teil 4 | T4 = 31484 − T3 − T2 − T1 | 41 | 1,710041667 |
Rest 4 | R4 = T4 + T3 + T2 + T1 | 31484 | 1313,145167 |
Teil 5 | T5 = 45022 − T4 − T3 − T2 − T1 | 13538 | 564,6474167 |
Rest 5 | R5 = T5 + T4 + T3 + T2 + T1 | 45022 | 1877,792583 |
Teil 6 | T6 = 54950 − T5 − T4 − T3 − T2 − T1 | 9928 | 414,0803333 |
Rest 6 | R6 = T6 + T5 + T4 + T3 + T2 + T1 | 54950 | 2291,872917 |
Teil 7 | T7 = 55125 − T6 − T5 − T4 − T3 − T2 − T1 | 175 | 7,298958333 |
Rest 7 | R7 = T7 + T6 + T5 + T4 + T3 + T2 + T1 | 55125 | 2299,171875 |
Teil 8 | T8 = 64890 − T7 − T6 − T5 − T4 − T3 − T2 − T1 | 9765 | 407,281875 |
Rest 8 | R8 = T8 + T7 + T6 + T5 + T4 + T3 + T2 + T1 | 64890 | 2706,45375 |
Teil 9 | T9 = 64945 − T8 − T7 − T6 − T5 − T4 − T3 − T2 − T1 | 55 | 2,293958333 |
Rest 9 | R9 = T9 + T8 + T7 + T6 + T5 + T4 + T3 + T2 + T1 | 64945 | 2708,747708 |
Teil 10 | T10 = 65570 − T9 − T8 − T7 − T6 − T5 − T4 − T3 − T2 − T1 | 625 | 26,06770833 |
Rest 10 | R10 = T10 + T9 + T8 + T7 + T6 + T5 + T4 + T3 + T2 + T1 | 65570 | 2734,815417 |
Teil 11 | T11 = 65592 − T10 − T9 − T8 − T7 − T6 − T5 − T4 − T3 − T2 − T1 | 22 | 0,917583333 |
Rest 11 | R11 = T11 + T10 + T9 + T8 + T7 + T6 + T5 + T4 + T3 + T2 + T1 | 65592 | 2735,733 |
Teil 12 | T12 = 75240 − T11 − T10 − T9 − T8 − T7 − T6 − T5 − T4 − T3 − T2 − T1 | 9648 | 402,402 |
Rest 12 | R12 = T12 + T11 + T10 + T9 + T8 + T7 + T6 + T5 + T4 + T3 + T2 + T1 | 75240 | 3138,135 |
Anschließend werden die beiden Audiostreams aus den Containern der Fassungen extrahiert werden:
ffmpeg.exe -i output_KF.mkv -map 0:4 -c:a flac -sample_fmt:a s16 audio_cut.flac
ffmpeg.exe -i output_UDC.mkv -map 0:1 -c:a flac -sample_fmt:a s16 audio_uncut.flac
Ist die Quelle der geschnittenen Fassung keine BD sondern eine DVD, muss das Tempo des Audiostreams mit folgendem Kommando angepasst werden:
ffmpeg.exe -i audio_cut_DVD.flac -filter:a "atempo=0.959040959" audio_cut.flac
Die Länge des geschnittenen Audiostreams wird ermittelt:
ffprobe.exe -v 0 -sexagesimal -show_entries format^=duration -of compact^=p^=0^:nk^=1 audio_cut.flac
1:48:13.664000
Daraus ergeben sich nun die folgenden Kommandozeilen zum Auftrennen der geschnittenen Fassung:
Teil 1:
ffmpeg.exe -y -i audio_cut.flac -t 1058.30725 -codec flac audio_cut_T1.flac
Rest 1:
ffmpeg.exe -y -i audio_cut.flac -ss 1058.30725 -to 6493.664 -codec flac audio_cut_R1.flac
Teil 2:
ffmpeg.exe -y -i audio_cut_R1.flac -t 1.793458333 -codec flac audio_cut_T2.flac
Rest 2:
ffmpeg.exe -y -i audio_cut.flac -ss 1060.100708 -to 6493.664 -codec flac audio_cut_R2.flac
Teil 3:
ffmpeg.exe -y -i audio_cut_R2.flac -t 251.3344167 -codec flac audio_cut_T3.flac
Rest 3:
ffmpeg.exe -y -i audio_cut.flac -ss 1311.435125 -to 6493.664 -codec flac audio_cut_R3.flac
Teil 4:
ffmpeg.exe -y -i audio_cut_R3.flac -t 1.710041667 -codec flac audio_cut_T4.flac
Rest 4:
ffmpeg.exe -y -i audio_cut.flac -ss 1313.145167 -to 6493.664 -codec flac audio_cut_R4.flac
Teil 5:
ffmpeg.exe -y -i audio_cut_R4.flac -t 564.6474167 -codec flac audio_cut_T5.flac
Rest 5:
ffmpeg.exe -y -i audio_cut.flac -ss 1877.792583 -to 6493.664 -codec flac audio_cut_R5.flac
Teil 6:
ffmpeg.exe -y -i audio_cut_R5.flac -t 414.0803333 -codec flac audio_cut_T6.flac
Rest 6:
ffmpeg.exe -y -i audio_cut.flac -ss 2291.872917 -to 6493.664 -codec flac audio_cut_R6.flac
Teil 7:
ffmpeg.exe -y -i audio_cut_R6.flac -t 7.298958333 -codec flac audio_cut_T7.flac
Rest 7:
ffmpeg.exe -y -i audio_cut.flac -ss 2299.171875 -to 6493.664 -codec flac audio_cut_R7.flac
Teil 8:
ffmpeg.exe -y -i audio_cut_R7.flac -t 407.281875 -codec flac audio_cut_T8.flac
Rest 8:
ffmpeg.exe -y -i audio_cut.flac -ss 2706.45375 -to 6493.664 -codec flac audio_cut_R8.flac
Teil 9:
ffmpeg.exe -y -i audio_cut_R8.flac -t 2.293958333 -codec flac audio_cut_T9.flac
Rest 9:
ffmpeg.exe -y -i audio_cut.flac -ss 2708.747708 -to 6493.664 -codec flac audio_cut_R9.flac
Teil 10:
ffmpeg.exe -y -i audio_cut_R9.flac -t 26.06770833 -codec flac audio_cut_T10.flac
Rest 10:
ffmpeg.exe -y -i audio_cut.flac -ss 2734.815417 -to 6493.664 -codec flac audio_cut_R10.flac
Teil 11:
ffmpeg.exe -y -i audio_cut_R10.flac -t 0.917583333 -codec flac audio_cut_T11.flac
Rest 11:
ffmpeg.exe -y -i audio_cut.flac -ss 2735.733 -to 6493.664 -codec flac audio_cut_R11.flac
Teil 12:
ffmpeg.exe -y -i audio_cut_R11.flac -t 402.402 -codec flac audio_cut_T12.flac
Rest 12:
ffmpeg.exe -y -i audio_cut.flac -ss 3138.135 -to 6493.664 -codec flac audio_cut_R12.flac
Die Kommandozeilen zum Extrahieren der Schnitte aus der ungeschnittenen Fassung lauten wie folgt (da der Ton des letzten Bildes eines Schnittes ebenfalls berücksichtigt werden muss, wird jeweils dem Ende eines Schnittes ein Einzelbild hinzugefügt):
Schnitt 1:
ffmpeg.exe -y -i audio_uncut.flac -ss [25374/(24000/1001)] -to [26039/(24000/1001)] -codec flac audio_uncut_S1.flac
Schnitt 2:
ffmpeg.exe -y -i audio_uncut.flac -ss [32065/(24000/1001)] -to [32230/(24000/1001)] -codec flac audio_uncut_S2.flac
Schnitt 3:
ffmpeg.exe -y -i audio_uncut.flac -ss [45768/(24000/1001)] -to [46680/(24000/1001)] -codec flac audio_uncut_S3.flac
Schnitt 4:
ffmpeg.exe -y -i audio_uncut.flac -ss [56608/(24000/1001)] -to [58181/(24000/1001)] -codec flac audio_uncut_S4.flac
Schnitt 5:
ffmpeg.exe -y -i audio_uncut.flac -ss [67946/(24000/1001)] -to [68829/(24000/1001)] -codec flac audio_uncut_S5.flac
Schnitt 6:
ffmpeg.exe -y -i audio_uncut.flac -ss [69454/(24000/1001)] -to [69794/(24000/1001)] -codec flac audio_uncut_S6.flac
Schnitt 7:
ffmpeg.exe -y -i audio_uncut.flac -ss [79442/(24000/1001)] -to [80510/(24000/1001)] -codec flac audio_uncut_S7.flac
3. Teile zusammenfügen und Container erstellen:
Im letzten Schritt werden die einzelnen Teile der Audiostreams wieder zusammengefügt. Beim Ersetzen werden die Auftrennungsteile des geschnittenen Audiostreams (T2, T4, T7, T9 & T11) durch die entsprechenden extrahierten Schnitte des ungeschnittenen Audiostreams (S1, S2, S4, S5 & S6) ersetzt. Beim Hinzufügen werden die extrahierten Schnitte des ungeschnittenen Audiostreams (S3 & S7) zwischen den entsprechenden Auftrennungsteilen des geschnittenen Audiostreams (T5 & T6, T12 & R12) eingefügt:
mylist.txt:
file 'audio_cut_T1.flac'
file 'audio_uncut_S1.flac'
file 'audio_cut_T3.flac'
file 'audio_uncut_S2.flac'
file 'audio_cut_T5.flac'
file 'audio_uncut_S3.flac'
file 'audio_cut_T6.flac'
file 'audio_uncut_S4.flac'
file 'audio_cut_T8.flac'
file 'audio_uncut_S5.flac'
file 'audio_cut_T10.flac'
file 'audio_uncut_S6.flac'
file 'audio_cut_T12.flac'
file 'audio_uncut_S7.flac'
file 'audio_cut_R12.flac'
ffmpeg -y -f concat -i mylist.txt -c flac audio_final.flac
Der erstellte Audiostream wird mit dem Videostream der ungeschnittenen Fassung dem Container hinzugefügt:
ffmpeg -y^
-i output_UDC.mkv -i audio_final.flac^
-map 0:0 -map 1:0^
-codec copy^
final.mkv
Anschließend kann, wie in Schritt 2 und 3 dieser Anleitung beschrieben, die M4V-Datei erstellt und die Metadaten dem Container hinzugefügt werden.
Schreibe einen Kommentar