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

Die "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):

SchnittLänge (KF)Länge (UDC)DifferenzMethode
125374–2541625374–26038622Ersetzen
231443–3148332065–32229746Ersetzen
345021 / 4502245768–466791658Hinzufügen
454950–5512456608–581803056Ersetzen
564890–6494467946–688283884Ersetzen
665570–6559169454–697934202Ersetzen
775239 / 7524079442–805095270Hinzufü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):

BezeichnungFormelEinzelbildDauer
Teil 1T1 = 25374253741058,30725
Rest 1R1 = T1253741058,30725
Teil 2T2 = 25417 − T1431,793458333
Rest 2R2 = T2 + T1254171060,100708
Teil 3T3 = 31443− T2 − T16026251,3344167
Rest 3R3 = T3 + T2 + T1314431311,435125
Teil 4T4 = 31484 − T3 − T2 − T1411,710041667
Rest 4R4 = T4 + T3 + T2 + T1314841313,145167
Teil 5T5 = 45022 − T4 − T3 − T2 − T113538564,6474167
Rest 5R5 = T5 + T4 + T3 + T2 + T1450221877,792583
Teil 6T6 = 54950 − T5 − T4 − T3 − T2 − T19928414,0803333
Rest 6R6 = T6 + T5 + T4 + T3 + T2 + T1549502291,872917
Teil 7T7 = 55125 − T6 − T5 − T4 − T3 − T2 − T11757,298958333
Rest 7R7 = T7 + T6 + T5 + T4 + T3 + T2 + T1551252299,171875
Teil 8T8 = 64890 − T7 − T6 − T5 − T4 − T3 − T2 − T19765407,281875
Rest 8R8 = T8 + T7 + T6 + T5 + T4 + T3 + T2 + T1648902706,45375
Teil 9T9 = 64945 − T8 − T7 − T6 − T5 − T4 − T3 − T2 − T1552,293958333
Rest 9R9 = T9 + T8 + T7 + T6 + T5 + T4 + T3 + T2 + T1649452708,747708
Teil 10T10 = 65570 − T9 − T8 − T7 − T6 − T5 − T4 − T3 − T2 − T162526,06770833
Rest 10R10 = T10 + T9 + T8 + T7 + T6 + T5 + T4 + T3 + T2 + T1655702734,815417
Teil 11T11 = 65592 − T10 − T9 − T8 − T7 − T6 − T5 − T4 − T3 − T2 − T1220,917583333
Rest 11R11 = T11 + T10 + T9 + T8 + T7 + T6 + T5 + T4 + T3 + T2 + T1655922735,733
Teil 12T12 = 75240 − T11 − T10 − T9 − T8 − T7 − T6 − T5 − T4 − T3 − T2 − T19648402,402
Rest 12R12 = T12 + T11 + T10 + T9 + T8 + T7 + T6 + T5 + T4 + T3 + T2 + T1752403138,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.