ffmpeg ganzen Ordner .mkv zu wav / o.ä Audio konvertieren

Sound, Digitalkameras, TV+Video und Spiele.
Antworten
senex
Beiträge: 1
Registriert: 23.04.2023 21:35:53

ffmpeg ganzen Ordner .mkv zu wav / o.ä Audio konvertieren

Beitrag von senex » 23.04.2023 21:42:30

Hallo,
Habe mich jetzt etwas länger mit ffmpeg auseinander gesetzt , komme aber nicht weiter.
Ich will den ganzen Ordner Videos vom .mkv Format in ein Audio Format umwandeln mit möglichst hoher Qualität.

Ich öffne die Powershell im Ordner, Wechsel auf cmd & gebe den Befehl ein:

Code: Alles auswählen

for %i in (*.*) do ffmpeg -i "i%" -vn ar 4410 -ac 2 -ab 192 -f aiff ton.aiff "newfiles"\%~n1.wav
Die Konvertierung startet zwar, aber es wird jede Datei %~n1 genannt & überschrieben.
Wäre super wenn mir jemand den Code fixxen könnte, bin mit meiner Recherche am Ende. :D

wanne
Moderator
Beiträge: 7466
Registriert: 24.05.2010 12:39:42

Re: ffmpeg ganzen Ordner .mkv zu wav / o.ä Audio konvertieren

Beitrag von wanne » 24.04.2023 00:58:49

Ich öffne die Powershell im Ordner, Wechsel auf cmd & gebe den Befehl ein:
Meinst du, dass du da nicht evenutell im falschen Forum bist?
Böse:

Code: Alles auswählen

$script=@'
find . -type f -iname '*mkv' -maxdepth 1 -exec ffmpeg -i "{}" -vn ar 4410 -ac 2 -ab 192 -f aiff ton.aiff "newfiles{}.wav" \;
rename .mkv.wav .wav "newfiles*.mkv.wav"
'@
bash -c $script
Bitte verstehen, bevor du das ausführst.
rot: Moderator wanne spricht, default: User wanne spricht.

MaGe
Beiträge: 1717
Registriert: 01.06.2014 17:12:16

Re: ffmpeg ganzen Ordner .mkv zu wav / o.ä Audio konvertieren

Beitrag von MaGe » 24.04.2023 09:54:03

senex hat geschrieben: Ich will den ganzen Ordner Videos vom .mkv Format in ein Audio Format umwandeln mit möglichst hoher Qualität.
Bitte auch hier, erst verstehen, dann ausführen.
Der folgende Code durchläuft alle Dateien im aktuellen
Verzeichnis, und konvertiert die Audio-Datei in der MKV zu wav-Dateien.
Hinweis: Ich würde das erstmal in einem anderen Verzeichnis testen

Code: Alles auswählen

 for i in *.mkv; do ffmpeg -i "$i" -vn -c:a pcm_s16le "${i%.mkv}.wav"; done 
wanne hat geschrieben: Bitte verstehen, bevor du das ausführst.
Du hast da einen kleinen Fehler in deinem script.

Unable to find a suitable output format for 'ar'
ar: Invalid argument



gruss MaGe
Wir müssen uns vor der Klimaerwärmung nicht fürchten.
Uns rottet die soziale Kälte viel früher aus.

Benutzeravatar
MSfree
Beiträge: 10777
Registriert: 25.09.2007 19:59:30

Re: ffmpeg ganzen Ordner .mkv zu wav / o.ä Audio konvertieren

Beitrag von MSfree » 24.04.2023 11:26:14

MaGe hat geschrieben: ↑ zum Beitrag ↑
24.04.2023 09:54:03
Du hast da einen kleinen Fehler in deinem script.
Unable to find a suitable output format for 'ar'
Die Audio Samplerate sollte wohl 44100 sein und nicht 4410 (Null vergessen).

Benutzeravatar
GregorS
Beiträge: 2629
Registriert: 05.06.2008 09:36:37
Wohnort: Freiburg
Kontaktdaten:

Re: ffmpeg ganzen Ordner .mkv zu wav / o.ä Audio konvertieren

Beitrag von GregorS » 24.04.2023 12:03:23

senex hat geschrieben: ↑ zum Beitrag ↑
23.04.2023 21:42:30
Wäre super wenn mir jemand den Code fixxen könnte, bin mit meiner Recherche am Ende. :D
Um die Audio-Spur aus Filmen zu extrahieren, habe ich mir vor ein paar Jahren ein Scriptchen geschrieben:

Code: Alles auswählen

#!/bin/bash

echo "Quelldatei: $1"
DESTFILE=`basename $1 | cut -d. -f1`
echo "Zieldatei:  $DESTFILE.mp3"

/usr/bin/ffmpeg -i $1 -c:a mp3 $DESTFILE.mp3
Das musst Du einfach nur in einer Schleife aufrufen. Ungefähr so:

Code: Alles auswählen

for FILE in 'ls -1 *.mkv`; do extract-audio.sh $FILE; done
Für mich klappt das wunderbar.

Gruß

Gregor
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])

MaGe
Beiträge: 1717
Registriert: 01.06.2014 17:12:16

Re: ffmpeg ganzen Ordner .mkv zu wav / o.ä Audio konvertieren

Beitrag von MaGe » 24.04.2023 12:33:12

MSfree hat geschrieben: Die Audio Samplerate sollte wohl 44100 sein und nicht 4410 (Null vergessen)
Da leg ich noch einen drauf ( -ab 192 ) das sind Bit [bit]: da fehlt das k ( -ab 192k ) Kilobyte [kB]:



gruss MaGe
Wir müssen uns vor der Klimaerwärmung nicht fürchten.
Uns rottet die soziale Kälte viel früher aus.

Benutzeravatar
MSfree
Beiträge: 10777
Registriert: 25.09.2007 19:59:30

Re: ffmpeg ganzen Ordner .mkv zu wav / o.ä Audio konvertieren

Beitrag von MSfree » 24.04.2023 13:14:53

MaGe hat geschrieben: ↑ zum Beitrag ↑
24.04.2023 12:33:12
Da leg ich noch einen drauf ( -ab 192 ) das sind Bit [bit]: da fehlt das k ( -ab 192k ) Kilobyte [kB]:
Das paßt trotzdem nicht. Diese Bitrate bezieht sich auf Audiokompression z.B. mit MP3, OGG oder ähnliche. AIFF und WAV sind jedoch unkomprimierte Formate. Die Angabe der Bitrate des komprimierten Audiostroms ist also mindestens Überflüssig oder führt sogar zu einem Fehler.

MaGe
Beiträge: 1717
Registriert: 01.06.2014 17:12:16

Re: ffmpeg ganzen Ordner .mkv zu wav / o.ä Audio konvertieren

Beitrag von MaGe » 24.04.2023 14:12:03

MSfree hat geschrieben: Die Angabe der Bitrate des komprimierten Audiostroms ist also mindestens Überflüssig oder führt sogar zu einem Fehler.
Richtig!
senex hat geschrieben: [...] in ein Audio Format umwandeln mit möglichst hoher Qualität.
das widerspricht dem was er schreibt,

Code: Alles auswählen

 ar 4410 -ac 2 -ab 192 
Deshalb in meiner zeile oben

Code: Alles auswählen

 for i in *.mkv; do ffmpeg -i "$i" -vn -c:a pcm_s16le "${i%.mkv}.wav"; done 
Das ergibt eine wav-Datei
Audio: pcm_s16le 48000 Hz, stereo, s16, 1536 kb/s (default)
mit möglichst hoher Qualität.



gruss MaGe
Wir müssen uns vor der Klimaerwärmung nicht fürchten.
Uns rottet die soziale Kälte viel früher aus.

Benutzeravatar
GregorS
Beiträge: 2629
Registriert: 05.06.2008 09:36:37
Wohnort: Freiburg
Kontaktdaten:

Re: ffmpeg ganzen Ordner .mkv zu wav / o.ä Audio konvertieren

Beitrag von GregorS » 25.04.2023 22:22:18

Was mir gerade einfiel: mkv ist ja ein ziemlich offenes Format. Kann man nicht einfach die Original-Tonspur daraus im Original-Format extrahieren?

Und audacity sollte die doch öffnen können. Dann könnte man die von audacity aus in jedes beliebige hochpräzise Zielformat exportieren, oder nicht? Wäre das nicht sogar effizienter als ein Gehampel mit ffmpeg-Konvertiererei?

Oder unterläuft mir gerade ein Denkfehler ...? Bei Geistesblitzen ist das ja nicht sooo selten.

Gruß

Gregor

PS: Außerdem gibt's ja auch noch sox, wenn es das noch gibt.
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])

JTH
Moderator
Beiträge: 3023
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: ffmpeg ganzen Ordner .mkv zu wav / o.ä Audio konvertieren

Beitrag von JTH » 25.04.2023 22:25:39

Wartet doch erst mal eine Rückmeldung des Fragestellers ab, bevor ihr euch hier weiter Gedanken macht ;)

Wie wanne schon angemerkt hat:
wanne hat geschrieben: ↑ zum Beitrag ↑
24.04.2023 00:58:49
Ich öffne die Powershell im Ordner, Wechsel auf cmd & gebe den Befehl ein:
Meinst du, dass du da nicht evenutell im falschen Forum bist?
Auch wenns die PowerShell neben Windows inzwischen auch für Linux gibt, klingt das doch erst mal so, als ob sich da jemand verlaufen hat.
Manchmal bekannt als Just (another) Terminal Hacker.

MaGe
Beiträge: 1717
Registriert: 01.06.2014 17:12:16

Re: ffmpeg ganzen Ordner .mkv zu wav / o.ä Audio konvertieren

Beitrag von MaGe » 25.04.2023 23:12:32

GregorS hat geschrieben: [...] Kann man nicht einfach die Original-Tonspur daraus im Original-Format extrahieren?
Warum ffmpeg ändert die Original-Tonspur in das format
welches du haben willst, ohne das Original zu extrahieren.

Format: m4a,mp2,mp3,aac,ogg,flac,wav usw.


gruss MaGe
Wir müssen uns vor der Klimaerwärmung nicht fürchten.
Uns rottet die soziale Kälte viel früher aus.

Benutzeravatar
GregorS
Beiträge: 2629
Registriert: 05.06.2008 09:36:37
Wohnort: Freiburg
Kontaktdaten:

Re: ffmpeg ganzen Ordner .mkv zu wav / o.ä Audio konvertieren

Beitrag von GregorS » 25.04.2023 23:20:53

MaGe hat geschrieben: ↑ zum Beitrag ↑
25.04.2023 23:12:32
GregorS hat geschrieben: [...] Kann man nicht einfach die Original-Tonspur daraus im Original-Format extrahieren?
Warum ffmpeg ändert die Original-Tonspur in das format
welches du haben willst, ohne das Original zu extrahieren.
Ich gehe bei solchen Vorhaben normalerweise halt so vor, dass ich zunächst versuche, das Original in „Reinform“ zu bekommen (z.B. AC3 bei DVDs), um es erst anschließend in ein anderes Format zu bringen. Zumal Speicherplatz mittlerweile kaum noch ein Argument ist.

@JTH (@Wanne): Ich finde, dass das hier schon irgendwie das richtige Forum ist, wo es doch eigentlich um Sound zu gehen scheint.

Gruß

Gregor
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])

JTH
Moderator
Beiträge: 3023
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: ffmpeg ganzen Ordner .mkv zu wav / o.ä Audio konvertieren

Beitrag von JTH » 25.04.2023 23:36:10

GregorS hat geschrieben: ↑ zum Beitrag ↑
25.04.2023 23:20:53
@JTH (@Wanne): Ich finde, dass das hier schon irgendwie das richtige Forum ist, wo es doch eigentlich um Sound zu gehen scheint.
Wenn's um die Argumente für FFmpeg geht, kann man schon ein bisschen fachsimpeln, klar.

Aber wenn die Lösung inkl. des Geskripteten rund um den FFmpeg-Aufruf herum tatsächlich für die Microsoft PowerShell gedacht ist, sähe die gesamte Lösung doch deutlich anders aus, als für die (Ba)sh. Der Skriptschnipsel aus dem Eingangsbeitrag passt, wenn ich das zur PowerShell auf die Schnelle richtig gesehen hab, syntaktisch zu keiner dieser erwähnten Shells.
Manchmal bekannt als Just (another) Terminal Hacker.

Antworten