Seite 2 von 5

Verfasst: Mo 07 Aug 2006, 21:36
von SpeedyBoo
Einfach die Audiooptionen wiederholen. FFMPEG arbeitet die einzelnen enthaltenen Streams der Reihe nach ab, wobei Stream 0 immer die Videospur ist, Stream 1 die erste Audiospur, Stream die 2. Audiospur.

Man kann sogar mit FFMPEG muxxen. Man muss lediglich vor den jeweiligen Streamoptionen mit -i die unterschiedlichen Quelldateien angeben, also - i quelle.mpv "videooptionen" -i quelle_a1.mp2 "audiooptionen" -i quelle_a2.mp2 "audiooptionen". Eigentlich ganz einfach.

Verfasst: Di 08 Aug 2006, 12:12
von JonWain
Hi SpeedyBoo,

irgendwie ist es mir noch nicht ganz klar, wie das mit dem zweiten Audiostream funktioniert.

Ich habe jetzt probiert, nach dem erfolgreichen Streamen einen zweiten Durchlauf nur mit den Audiodaten durchzuführen. Dabei löscht er mir das zuerst erstellte File.

Dann habe ich den Audiostring in der Befehlszeile verdoppelt, also steht jetzt zweimal -acodec mp2 -ab 128 -ar 44100 in der Befehlszeile. Ebenso ohne Erfolg. (hätte mich auch gewundert).

Wie hattest Du das gemeint?

Ich habe auch keine Möglichkeit gefunden, den Audiochannel zu wählen, gibt es dazu eine Befehlsoption?

Gruß Jon

Verfasst: Di 08 Aug 2006, 12:24
von mcflei
wenn alle die gleichen parameter bekommen sollen:


for %a in (*.mpg) do call ffmpeg "%a" parameter

Verfasst: Di 08 Aug 2006, 13:27
von SpeedyBoo
Jetzt muss Du mir da noch ein bisschen zu erzählen. Wie liegt den der Quellstream vor? In einer Datei oder in getrennten Streams?! Willst Du demuxxen mit FFMPEG oder muxxen?! Wird jetzt irgendwie nicht deutlich.

Verfasst: Di 08 Aug 2006, 13:54
von JonWain
Weder noch. Die Datei Getaway in Stockholm 4 CD2.avi" enthält bereits zwei Tonspuren, Englisch & Deutsch. Diese möchte ich in das TS-Format konvertieren.

Ffmpeg zeigt mir unter Input an:
Stream #0.0 : Video
Stream #0.1 : Audio
Straum #0.2 : Audio

Als Output möchte ich entweder ein TS-File mit dem deutschen Ton,
oder ein Ts-File, wo ich an der D-Box die Sprache selber wählen kann.
Mit dem von Dir genannten Befehl greife ich aber nur die erste Tonspur ab.

Gruß & Danke
Jon

Verfasst: Mi 09 Aug 2006, 12:10
von SpeedyBoo
Okay hab ich verstanden. Dein erster Wunsch klappt soweit, stellt also somit kein Problem dar. Den 2. Wunsch kann ich jetzt so aus der Lameng nicht beantworten, muss ich zu Hause noch mal selber ausprobieren, hier auf der Arbeit geht dat schlecht.

Verfasst: Do 10 Aug 2006, 6:15
von JonWain
Vielen Dank für Deine Mühe, bin gespannt, wie das geht. Muss ehrlich zugeben aus den Syntax-Angaben von ffmpeg nicht wirklich schlau zu werden; habe gedacht, es würde mit -ac channels gehen, aber das übersteigt irgendwie meinen Verstand..

Verfasst: Do 10 Aug 2006, 9:29
von SpeedyBoo
Tja, kriegs auch nicht mehr hin. HAb gestern rumexperementiert. Dabei auch die verschiedenen MAP-Optionen ausprobiert.

Ich hab den dumpfen Verdacht, dass es für die einzelnen Codec-Typen eine Art Definition in FFMPEG gibt, die vorgibt, wieviele Tonspuren je Codec zulässig sind. Das besagen zumindest die Fehlermeldungen, wenn ich versuche die einzelnen Inputfiles über die MAP-Option auf den jeweiligen Stream der Ausgabedatei zu mappen. Dann gibt's immer die Fehlermeldung, dass es zuviele Eingabestreams für die Zieldatei gibt.

Daher gibt's eigentlich nur eine Möglichkeit: mit FFMPEG demutiplexen in das gewünschte Format, dann mit einem anderen Hilfsprogramm muxxen und schliesslich mit ProjectX in TS umwandeln. Beispiel:

ffmpeg -hq -i test.avi -vcodec mpeg2video ... test.m2v -acodec mp2 ... test1.mp2 -acodec mp2 ... test2.mp2

Das sollte im Ergebnis drei Dateien ergeben, die test.m2v den Videostream, die test1.mp2 den 1. Audiostream und demzufolge test2.mp2 den 2. Audiostream.

Was besseres fällt mir im Moment nicht ein.

Verfasst: Fr 11 Aug 2006, 11:29
von JonWain
Alles klar, vielen Dank für die schnelle Hilfe!

Gruß Jon

Verfasst: Mi 13 Sep 2006, 17:55
von WAVez
Hallo SpeedyBoo

ich habe auch mal ne Frage zu dem FFMPEG?!

Ich möchte eine .vob datei mit ac3-Inhalt (5.1) von NTSC nach PAL umwandeln. leider gibt mir FFMPEG immer folgende Fehlermeldung aus:

Code: Alles auswählen

ffmpeg -i "DD 5.1 Test.vob" -vcodec mpeg2video -r 25 -s 720x576 -aspect 4:3 -sameq -hq -acodec ac3 "D:\DD.vob"
ffmpeg version 0.4.9-pre1, build 4743, Copyright (c) 2000-2004 Fabrice Bellard configuration: --enable-mp3lame --enable-vorbis --enable-faad --enable-faac --enable-xvid --enable-mingw32 --enable-a52 --enable-dts --enable-pp --enable-gpl --enable-memalign-hack
built on Feb 22 2005 04:58:29, gcc: 3.4.2 (mingw-special)
Input #0, mpeg, from 'DD 5.1 Test.vob':
 Duration: 00:00:48.5, start: 0.233567, bitrate: 6543 kb/s
 Stream #0.0: Video: mpeg2video, 720x480, 29.97 fps
 Stream #0.1: Audio: ac3
 Stream #0.2: Audio: ac3, 48000 Hz, 5:1, 448 kb/s
Resampling with input channels greater than 2 unsupported.Can't resample. Aborting
Abort at ffmpeg.c:1573

This application has requested the Runtime to terminate it in an unusual way.
Pleas contact the application's support team for more information.
Würde mich über Hilfe freuen!

Gruß Oli

Verfasst: Do 14 Sep 2006, 10:08
von SpeedyBoo
Die Fehlermeldung besagt es schon: Im Inputstream, also der VOB-Datei, befinden sich mehr als 2 Streams. FFMPEG kann aber laut Meldung lediglich 2 Input Streams (1 Video und 1 Audio) resamplen / neukodieren. Nichts anderes machst Du ja, wenn Du von NTSC nach PAL konvertieren willst. Ich würde folgenden Weg vorschlagen: Demuxxen mit z.B. ProjectX, danach mit FFMPEG wie beschrieben wieder den Stream muxxen. sähe dann ungefähr so aus:
ffmpeg -i "DD 5.1 Test.mpv" -vcodec mpeg2video -r 25 -s 720x576 -aspect 4:3 -sameq -hq -i "DD 5.1 Test_1.ac3" -acodec copy -i "DD 5.1 Test_2.ac3" -acodec copy "D:\DD.vob"
Das sollte gehen.

Verfasst: Fr 15 Sep 2006, 13:29
von WAVez
Ich habe die datei mit ProjectX "demultiplext", dabei kommen ja 3 Dateien raus
DD 5.1 Test.dts
DD 5.1 Test.m2v
DD 5.1 Test[1].ac3
(ohne Fehlermeldungen)

Dann habe ich es mit deiner Zeile probiert, aber dabei gibt mir ffmpeg folgende Meldung aus:
DD 5.1 Test_1.ac3 -acodec copy -i DD: I/O error occured
Usually that means that input file is truncated and/or corrupted.
Es hat auch nichts gebracht die *.m2v datei in *.mpv umzunennen.

Woran kann das liegen?

Gruß Oli

Verfasst: Fr 15 Sep 2006, 13:35
von jmittelst
DD 5.1 Test_1.ac3 ist nicht identisch mit DD 5.1 Test[1].ac3
Benenn Die Dinger mal um, einfach nur Test.mpv für Video und Test.ac3 für Audio.

cu
Jens

Verfasst: Fr 15 Sep 2006, 13:44
von WAVez
Bringt leider nichts...
Immernoch der gleiche Fehler.
was hat das eigentlich zu bedeuten mit dem "DD 5.1 Test_1.ac3" und "..._2.ac3" ? (aus SpeedyBoos Zeile)

Gruß Oli

Verfasst: Mo 18 Sep 2006, 9:35
von SpeedyBoo
Zunächst einmal würde ich Leerzeichen vermeiden, dass macht auf der Kommandozeile immer Probleme. Man kann zwar Hochkommatas verwenden, aber oft vergisst man das auch, was sehr wahrscheinlich nach der Fehlermeldung zu urteilen hier der Fall ist beim zweiten Audiostream. Ich hab das zwar in meiner Zeile verwendet, weil Deine Quelldatei so hiess und ich irgendwie klarmachen wollte, dass die einzelnen Streamdateien ja anders heissen müssen.

Wenn Du die oben genannten Dateien rausbekommst, musst Du natürlich auch dementsprechend die Zeile aufbauen (ich lass jetzt mal "DD 5.1 " weg):
ffmpeg -i Test.m2v -vcodec mpeg2video -r 25 -s 720x576 -aspect 4:3 -sameq -hq -i Test.dts -acodec copy -i Test[1].ac3 -acodec copy D:\DD.vob