Dolby 5/1 als DVD audio track

Aus Linupedia.org
Version vom 15. September 2006, 18:54 Uhr von Robi (Diskussion | Beiträge) (Änderung-Erweiterung)
Wechseln zu: Navigation, Suche
Höhe=24px
Achtung dieser Artikel ist noch in Arbeit und dient vorläufig nur als Vorlage. Dieser Beitrag zu Linux oder der Abschnitt ist in Bearbeitung. Weitere Informationen findest du hier. Der Ersteller arbeitet an dem Beitrag oder Abschnitt und entsorgt den Wartungsbaustein spätestens 3 Tage nach der letzten Bearbeitung. Änderungen außer Rechtschreibkorrekturen ohne Absprache mit dem Urspungsautor sind möglichst zu vermeiden, solange dieser Baustein noch innerhalb der genannten Frist aktiviert ist.

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

Vorsicht: ist hier alles noch unvollständig und noch nicht auf Richtigkeit geprüft


Dolby 5.1 Surround Sound als DVD Audio Track

Die meisten Tools zur DVD Erstellung unterstützen nur 2-channel Stereo Audio Track. 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 für die eigene 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 Programme haben auch Beschränkungen der Größe der Soundfiles von 2 oder 4GB. In der Praxis hat sich bei der Erstellung von eigenen Videos gezeigt, das sich 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 Balnce 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üss aus diesem Stereosound 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 sind einige gängige Formate aber 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. Es können also durchaus die letzten Zeilen der Scripte ersteinmal auskommentiert werden. Dann könnte man die sound_final.wav zB in Audacity laden und dort die 6 Monokanäle einzeln noch einmal nachbearbeiten oder in einzelne Kanäle noch spezielle Effekte einbauen. Danach wieder abspeichern und den Rest des Scripte durchlaufen lassen.


fertige AC-3 File testen

  • die erstellt AC-3 File auf dem PC abspielen
xine -H soundfile.ac3
  • ein Video testen ob es 5.1 AC-3 Sound enthält
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 zufriedenstellend ist, dann können die anderen Soundfiles der DVD mit den selben Optionen im Script 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 und 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)