Moin,
ich will eine Videodatei (h264-Datenstrom, Endung *.m2t) in eine mp4-Datei umwandeln.
Duration: 00:57:59.93, start: 76919.482556, bitrate: 11494 kb/s Program 11130 Stream #0:0[0x18a6]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709, progressive), 1280x720 [SAR 1:1 DAR 16:9], 50 fps, 50 tbr, 90k tbn, 100 tbc Stream #0:1[0x18b0](deu): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 256 kb/s Stream #0:2[0x18b1](mis): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 192 kb/s Stream #0:3[0x18b2](deu): Audio: ac3 ([6][0][0][0] / 0x0006), 48000 Hz, stereo, fltp, 448 kb/s Stream #0:4[0x18b3](mul): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 192 kb/s Stream #0:5[0x18ba](deu): Subtitle: dvb_teletext ([6][0][0][0] / 0x0006), 492x250 Stream #0:6[0x18bb](deu): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006) (hearing impaired)
Dazu habe ich mir gem. https://forum.ubuntuusers.de/topic/videokonvertierung-2/ eine passende Batch-Datei gebastelt. Es funktioniert super! Danke.
1 2 3 4 5 6 7 8 9 10 11 | #!/bin/bash for file in *.m2t ;do echo "Konvertiere $file" DIR=$(dirname "$file") FILENAME=$(basename "$file") NAME=`echo $FILENAME | cut -d'.' -f1` ffmpeg -i "$FILENAME" -acodec copy -vcodec copy "$NAME".mp4 ;done echo "Fertig!" |
Mein Problem: Es wird standardmäßig der erste Audiostream kopiert und nicht der "beste", bei mir der Stream #0:3 Audio: ac3 (s.o.), wie es eigentlich laut man-pages ([...] for audio, it is the stream with the most channels [...]
) erfolgen sollte. Wie muss ich meinen Befehl in Zeile 9 ändern, damit immer nur der ac3-Stream kopiert wird?
Vielen Dank,
Jörg
Bearbeitet von sebix:
Forensyntax korrigiert.