Dolby 5/1 als DVD audio track

Aus Linupedia.org
Wechseln zu: Navigation, Suche

Dolby 5.1 Surround Sound als DVD Audio Track

Viele Tools zur DVD Erstellung unterstützen nur 2-channel Stereo Audio Tracks. Professionelle Tools, die diese Technik beherrschen sind dagegen oft so komplex, dass man eine sehr lange Einarbeitungzeit benötigt, um sie richtig nutzen zu können. Allerdings stehen in vielen Wohnzimmern schon ausgewachsende Soundanlagen und viele haben sich schon an diese Klangwelt gewöhnt. In dem folgendem Howto wird die Erstellung von 5.1 surround sound aus vorhandenen Stereoformaten mittels kleiner Scripte für die eigene Video-DVD erklärt.


benötigte Software

folgende Programme werden benötigt:

  • sox das Schweizer Taschenmesser zum Bearbeiten von Audiosound (bei SuSE dabei)
  • multimux - Ein AudioMuxer für bis zu 8 audio channels (Panteltje muss derzeit aus Quellcode installiert werden)multimux-0.2.4.tgz
  • ffmpeg das audio/video Conversions tool (packman)


zu Grunde liegendes Howto

Vorbemerkungen

beim Konvertieren der Soundfile wird temporär eine Menge Platz (je nach Größe der Sequenzen mehrere GB) benötigt. Einige der hier vorgestellten Tools könnten je nach Version auch Beschränkungen der Größe der Soundfiles von 2 oder 4GB haben. In der Praxis hat sich bei der Erstellung von eigenen Videos gezeigt, das sich mehrere einzelne Video-Sequenzen von 10 bis max 15-20 Minuten beim Videoschnitt, der Nachvertonung und des DVD Authoring als einen gut handelbarer Bereich darstellt. Um eine DVD zu erhalten, die wirklich auf einem DVD-Player richtig funktioniert, muss man sich an ein gültiges DVD Format halten.(Nicht alles was man an Video/Audio Formaten zusammenbauen kann und was auf dem PC zT auch problemlos wiedergegeben werden kann, wird auf einem externen DVD-Player auch funktionieren)

Hinweise zum Vorgehen 
in diesem Howto gehen wir auf die angrenzenden Bearbeitungsschritte nicht näher ein, dazu werden auch bestimmte Programme und Tools benötigt, wir werden zu diesen Themen besser demnächst eigene Howtos hier verfassen.
  • Um die Audio-tracks bearbeiten zu können, muß zuerst das fertige Videoformat in seine Video- und Audio-Bestandteile zerlegt werden.
  • Sind mehrere Audiospuren im Video, werden alle einzeln extrahiert und bearbeitet.
  • Befinden sich Untertitelspuren im Video, sind auch diese zu extrahieren damit sie später wieder in das neue Video integriert werden können.
  • Nachdem der Sound fertig bearbeitet ist, muss er wieder mit dem Videoanteil zum fertigen Video multiplext werden.
  • Sollen mehrere Audiospuren in das Video integriert werden, werden alle Audiospuren auf einmal mit dem Videoanteil gemultiplext.
  • Man sollte das Video vor der Zerlegung auf den Zeitversatz der Audiotracks zum Videotrack untersucht haben, um dann beim zusammensetzen auch wieder Bild und Ton richtig synchronisieren zu können.
  • Beim Erstellen eines 5.1 Sounds sollte man bedenken, dass es auch möglich sein sollte, die DVD nur im Stereosoundmodus abzuspielen, ohne dabei Informationsverlust durch fehlende Tonspuren zu erleiden.

der Quell-Audio-track

  • Es werden 6 mono Audio tracks benötigt. Diese werden im Multiplexer zu einer 6 track WAV-File zusammengesetzt. Diese Wave-File wird dann mittels ffmpeg zu einem AC-3 Fileformat konvertiert.
  • Es währe möglich wirklich im Rahmen der Vertonung 6 einzelne Monokanäle abzumischen, allerdings wird man das nur in speziellen Fällen wirklich benötigen.
  • In der Praxis hat sich gezeigt, dass gute Ergebnisse schon zu erzielen sind, wenn man bei der Nachvertonung 2 Stereosounds ausmischt. Einen Front-Stereosound

und einen Back-Stereosound. Die restlichen Kanäle können dann mittels Sox erzeugt werden.

Angenommen man hat bei der Nachvertonung zB mit Audacity 3 Sterospuren erstellt,
  1. Orginalton von der Aufnahme
  2. Musikuntermalung
  3. nachvertonte Spachmoderation

Jetzt Könnte man mittels Audacity davon 2 Stereosounds abmischen, wobei die einzelnen Quellen mit unterschiedlicher Balance zwischen Front und Back abgemischt werden. Das bevorzugte Format für einen solchen Export sollte Wave sein. ( möglich sind alle Formate die sox unterstützt, mp3 nur wenn sox mit dieser Option kompiliert wurde, aber da in diesen Beispielen gleich wieder in wave wandelt wird, sind andere Formate als wave hier ungeschickt)

Beispiel:

Orginalton mit -6db im Frontsound +6db im Backsound
Musikuntermalung +6db im Frontsound -9db im Backsound
Sprache 0db im Frontsound und -3db im Backsound
  • In einigen Fällen gibt es allerdings nur eine Stereoquelle, die zB. aus dem Video extrahiert wird und die nicht mehr nachvertont wird, oder es soll einer Videosequenz nur eine Musikunterlegung als Soundtrack beigefügt werden. Hier müssen aus diesem Stereosound die 6 Monokanäle erzeugt werden.

Aus Stereo wird 5.1 Surround

Mit diesem Script kann aus einer Stereosoundfile ein 5.1 Surround erzeugt werden. Als Quellformate werden fast alle gängigen Formate unterstützt. Das Script benötigt im aktuellem Verzeichnis Platz zum erzeugen von temporären Dateien.

  • Beispielaufruf des Scriptes : ./stereo2surround soundfile.ac3
  • erzeugtes File: soundfile.ac3.ac3


#!/bin/bash
# Scriptname: stereo2surround 
# Diese Script erzeugt aus Stereosoundfile eine 5.1 Surround File
# Eingabeformate : multible      Ausgabeformat : ac3
# SYNTAX : stereo2surround soundfile

if [ -z "$1" ]; then
 echo "Usage -> $0 soundfile"
 exit
fi

ffmpeg -i $1 -f wav $1.wav
echo "Normalize File"
normalize -a -10dB $1.wav
sox -V $1.wav -r 48000 -c1 left1.wav avg -l
sox -V $1.wav -r 48000 -c1 right1.wav avg -r
cp  left1.wav left_surround.wav
cp  right1.wav right_surround.wav
soxmix -V  -v 0.5 left1.wav right1.wav -r 48000 -c1 centre1.wav
sox -V -v 0.75 centre1.wav lfe.wav lowp 150
sox -V -v 0.85 centre1.wav centre.wav 
sox -V -v 1.1 left1.wav  left.wav highp 750
sox -V -v 1.1 right1.wav  right.wav highp 750
rm left1.wav right1.wav centre1.wav

multimux -d 0,0,0,15,15,0 left.wav centre.wav right.wav left_surround.wav right_surround.wav lfe.wav -o $1_final.wav
echo ""
ffmpeg -i $1_final.wav -ab 384 -ar 48000 -ac 6 $1.ac3
echo ""
rm left.wav centre.wav right.wav left_surround.wav right_surround.wav lfe.wav $1.wav $1_final.wav 
echo "Done!"


Aus Vorder- und Backgroundsound wird 5.1 Surround

Mit diesem Script kann aus 2 Stereosoundfile ein 5.1 Surround erzeugt werden. Als Quellformate können alle von sox unterstützten Formate genutzt werden, aber es ist vorzugsweise WAVE vorgesehen. Das Script benötigt im aktuellem Verzeichnis Platz zum erzeugen von temporären Dateien.

  • Beispielaufruf des Scriptes: ./mksurround.sh finalsound front.wav back.wav
  • erzeugtes File: finalsound.ac3
#!/bin/bash
# Scriptname: mksurround.sh
# Dieses Script erzeugt aus in Stereo abgemischten Front-Sound und Back-Sound
# ein 5.1 Surround File
# Eingabeformate : multible      Ausgabeformat : ac3
# SYNTAX : mksurround.sh finalfile frontfile backfile

ERROR=0
if [ $# != 3 ]; then ERROR=1 
else
 if [ ! -f "$2" ]; then 
  echo "kein Frontsoundfile gefunden"
  ERROR=1 ;
 fi
 if [ ! -f "$3" ]; then
  echo "kein Backsoundfile gefunden"
  ERROR=1 ;
 fi
fi
if [ $ERROR = 1 ]; then
 echo "Syntax: mksourround.sh finalfilename frontsoundfile backsoundfile"
 exit $ERROR
fi

sox -V $2 -r 48000 -c1 left1.wav avg -l
sox -V $2 -r 48000 -c1 right1.wav avg -r
soxmix -V  -v 0.5 left1.wav right1.wav -r 48000 -c1 centre1.wav
sox -V -v 1.1 left1.wav  left.wav highp 750
sox -V -v 1.1 right1.wav  right.wav highp 750
sox -V -v 0.75 centre1.wav lfe.wav lowp 150
sox -V -v 0.85 centre1.wav centre.wav 
rm left1.wav right1.wav centre1.wav
sox -V $3 -r 48000 -c1 left_surround.wav avg -l
sox -V $3 -r 48000 -c1 right_surround.wav avg -r
multimux -d 0,0,0,15,15,0 left.wav centre.wav right.wav left_surround.wav right_surround.wav lfe.wav -o $1_final.wav
echo ""
ffmpeg -i $1_final.wav -ab 384 -ar 48000 -ac 6 $1.ac3
echo ""
rm left.wav centre.wav right.wav left_surround.wav right_surround.wav lfe.wav $1_final.wav
echo "Done!" 


Sound Nachbearbeitung

Die Scripte laufen ohne Schleifen sequentiell ab. Das Script kann also an jeder Stelle unterbrochen werden. Dann könnte man die zu diesem Zeitpunkt existierenden Mono oder den 6-Kanals wave zB in Audacity laden und dort die Kanäle einzeln noch einmal nachbearbeiten oder in einzelne Kanäle noch spezielle Effekte einbauen. Danach wieder abspeichern und den Rest des Scripte ablaufen lassen. Auch das Einfügen weiterer sox Befehle ist problemlos möglich.


fertige AC-3 File testen

die erstellt AC-3 File auf dem PC abspielen 

hierzu kann xine genutzt werden.

xine -H soundfile.ac3


ein Video testen ob es 5.1 AC-3 Sound enthält 

einige Tools zB tcprobe behaupten beharrlich es läge ein 2 Kanalton vor. Zum Test kann man aber auch den MPlayer aus der Kommandozeile heraus benutzen

mplayer -vo dummy -identify original.avi 2> /dev/null | grep 5.1
eine Positive Antwort sollte so aussehen :
AC3: 5.1 (3f+2r+lfe) 48000 Hz 384.0 kbit/s
  • Um sich einen besseren Höreindruck und das Gelingen der erstellten Soundfile zu testen, sollte man die erstellte File wieder mit einem Videostream multiplexen und auf eine Probe DVD+-RW brennen. Ein externer DVD-Player sollte diese File jetzt ohne Probleme abspielen können und aus den Lautsprechern sollte unser erzeugte 5.1 Sound kommen. Wenn das Ergebniss zufrieden stellt, dann können die anderen Soundfiles der DVD, soweit sie ähnliche Soundmerkmalen besitzen, dann mit den selben Optionen durch diese Scripte erstellt werden. Ansonsten kann man weiterexperentieren. Hilfe zu sox man sox


Anmerkungen: Der Autor hat die Scripte mit einigen Soundfiles und Videos getestet und hat dabei durchaus brauchbare Ergebnisse auf der eigenen Soundanlage hervorgebraucht. Er betont aber ausdrücklich, weder die beste Soundanlage noch ein "Absolutes Gehör" noch spezielles Fachwissen in Akustik oder Kunst zu besitzen. Die in den Scripten verwendeten Optionen sollen nur auf Möglichkeiten dieser Methode aufmerksam machen, testen und experementieren darf jetzt jeder selbst.


--Robi 00:55, 15. Sep 2006 (CEST)