Was ist der beste Weg, um Audio aus einer Videodatei zu extrahieren?

19

Ich bin ein großer Fan von HandBrake . Es ist der Inbegriff des Einfachen. Wählen Sie eine Videodatei (oder DVD), wählen Sie eine Voreinstellung, wählen Sie einen Ausgabepfad und klicken Sie auf Start. Eine gewisse Zeit später im Verhältnis zur Größe / Qualität des Inhalts, und Sie haben selbst eine ziemlich perfekte Videodatei, die für das Medium Ihrer Wahl geeignet ist.

Ich habe nach ähnlichen Eigenschaften in einem Audiokonverter und bevorzugter in einem Audio-Extraktor (aus einer bestimmten Videodatei) gesucht. Ich würde gerne in der Lage sein, eine Videodatei in eine Anwendung zu ziehen, anzugeben, dass ich die Audiodatei in AAC mit einer bestimmten Bitrate haben möchte, auf Start klicken und die App den Rest erledigen lassen.

Ich bin nicht abgeneigt, Handbrake zu verwenden, um den Konvertierungsaspekt davon zu befriedigen, solange die Audioextraktion nach der Tatsache ein einfacher Prozess ist. Es geht darum, so wenige Schritte wie möglich zu unternehmen.

Irgendwelche Tipps? Apps? Ideen?

Jason Salaz
quelle
Fission ist ein gutes Dienstprogramm zum Extrahieren von Audiodaten aus einer Videodatei, und ich habe mich darauf vorbereitet, es auf die altmodische Weise, Spur für Spur, manuell zu tun. Nicht meine Präferenz. Ich hatte später die Idee, Applescript zu verwenden, aber leider scheint es, dass Fission kein AS-Wörterbuch hat.
Jason Salaz
@Jason überlegte einige UI-Skripte, um mit Fission zu sprechen?
Nathan Greenstein
Ist das im Allgemeinen primitives Applescript, wenn eine bestimmte App kein Wörterbuch hat? Klicken Sie auf das Menü "Datei". Klicken Sie auf den Menüpunkt "Speichern". Stuff mehr oder weniger so?
Jason Salaz
@ Jason yep. Aber es kann besser sein, als es von Hand zu tun, je nachdem, wie viele davon Sie durch tuckern möchten.
Nathan Greenstein
Ich bin heute auf einen Eintrag in den FAQ von I just want audio, not video. Can I do that? Not with HandBrake, no. You could just encode the video at a low resolution with a fast low quality encoder like ffmpeg, then extract the audio track. Or you could use Handbrake gestoßen : OSEx . Leider ist es nur PPC. Booooo!
Jason Salaz

Antworten:

22

Ich habe endlich die genaue Kombination gefunden, die ich brauchte, und ich habe sie in ffmpeg gefunden .

Ich werde auf die Frage etwas näher eingehen und darauf hinweisen, dass ich bereits mit mp4-Video / Audio gearbeitet habe, also mit MP4-Video (.m4v) und AAC-Audio (.m4a). Ich wollte unbedingt eine Ist-Version des Audios, das aus dem Video extrahiert wurde.

Zunächst einmal ist es heutzutage ziemlich einfach, Dinge wie ffmpeg, mplayer, Dinge, die aus ihnen gebaut wurden, und ähnliche Open-Source-Pakete zu installieren. Zwischen Rudix , Homebrew , MacPorts und Fink (verwendet jemand überhaupt noch Fink?) Ist die Installation von Software von Drittanbietern ein Kinderspiel.

Nach der Installation von ffmpeg und dem ffmpegZugriff über die Befehlszeile habe ich folgenden Befehl ausgeführt:

ffmpeg -i videofile.mp4 -vn -acodec copy audiotrack.m4a

ffmpeg : Der Befehl.

-i videofile.mp4 : Die Quellvideodatei.

-vn : Videodaten nicht aufzeichnen (nicht berücksichtigen).

-acodec copy : Kopiere die Audioquelle wie sie ist, hier ist die ganze Magie. ffmpeg schreibt die Audiodaten als verschiedene unterstützte Codecs aus, die Angabe von copy führt jedoch zu einer bitgenauen Kopie des Streams. In Verbindung mit der Deaktivierung von Video über -vn verbleibt eine einzelne Audiospur in einem mp4-Container.

audiotrack.m4a : Der Ausgabedateiname.

Ich kann nicht glauben, dass so etwas so schwierig und so lange verborgen war.

Da ich immer vorhabe, AAC-Audiodaten aus einem MP4-Container / Video zu rippen, habe ich ein schnelles kleines Skript dazu geschrieben.

#!/bin/bash

INFILE="$1"
TMPOUTFILE="${INFILE%.*}"
OUTFILE="${TMPOUTFILE##*/}.m4a"

ffmpeg -i "${INFILE}" -vn -acodec copy "${OUTFILE}"

Jetzt rufe ich einfach auf rip_m4a_from_mp4 somevideofile.mp4und es verbleibt eine reine Audio-Version mit demselben Dateinamen, die stattdessen auf m4a endet.

Einfach! Für mich sowieso. Keine GUIs, blitzschnell. Dies ist nur eines der Dinge, die die Befehlszeile besser kann.

Jason Salaz
quelle
Möglicherweise können Sie m4ain Zeile 5 durch ersetzen $2und die neue Erweiterung in der Befehlszeile angeben. Wenn Sie auf diese Weise mit etwas anderem arbeiten und wissen, was das Audio ist, können Sie es angeben. Ich kann dies selbst tun und den Skriptnamen in "rip_audio_from_video" ändern. Generisch!
Jason Salaz
Um loszulegen. ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"dann brew install ffmpeg. Befolgen Sie nun die obigen Anweisungen.
Boyfarrell
Homebrew die Homepage ist brew.sh . Nachdem Sie die Anweisungen auf dieser Seite befolgt haben (nur für den Fall, dass sie sich ändern) brew install ffmpeg,. Und dann ja, dann kannst du meinen Schritten folgen.
Jason Salaz
2
Wenn Sie das Audio in ein anderes Format umcodieren möchten, ffmpegkönnen Sie dies mit demselben Befehl tun. Zum Beispiel: ffmpeg -i source_video.avi -vn -ar 44100 -ac 2 -ab 192 -f mp3 sound.mp3( catswhocode.com/blog/19-ffmpeg-commands-for-all-needs )
alexw
1
@alexw Vergewissern Sie sich, dass Sie 192k und nicht 192 angeben. Andernfalls wird auf eine 128kbit / s-Codierung zurückgegriffen.
smets.kevin
12

Sie können dies direkt im Finder tun, beginnend mit Mac OS X 10.7 (Lion), wie unter OSX Daily beschrieben .

Die kurze Antwort lautet: ctrlWählen Sie die Datei ( en) im Finder aus, klicken Sie auf und wählen Sie Dienste -> Ausgewählte Videodateien verschlüsseln .

Beachten Sie, dass Sie diesen Dienst möglicherweise im Bereich Tastatureinstellungen aktivieren müssen .

Bildbeschreibung hier eingeben

Craig S. Cottingham
quelle
Wow! Sehr angenehm! Ein weiterer Grund, einen Mac zu benutzen!
Javad Sadeqzadeh
In meinem Fall war die Größe der resultierenden m4aDatei im Vergleich zur Verwendung ffmpegmehr als dreimal so groß . Dies kann insbesondere bei größeren Dateien problematisch sein.
Casimir
6

Ich würde den Film in GarageBand ziehen. GarageBand teilt die Datei in Audio und Video auf. Zu diesem Zeitpunkt können Sie die Videospur löschen (so dass Sie nur die Audiospur behalten).

Sie können dann im Menü "Teilen" auf die Option "Song an iTunes senden" klicken (siehe Bild). Daraufhin werden die verschiedenen Formate angezeigt, in die Sie exportieren möchten.

Bildbeschreibung hier eingeben

Das Beste ist, dass dies kostenlos ist :), da alle Macs mit GarageBand geliefert werden. Darüber hinaus können Sie Aspekte des Audios wie Geschwindigkeit und Lautstärke anpassen.

Wenn Sie jedoch eine wirklich automatische Lösung wünschen und sich in der Befehlszeile mit Terminal auskennen, lassen Sie es mich in den Kommentaren wissen, und ich werde ein Skript erstellen, mit dem Sie dies tun können.

robzolkos
quelle
Ich habe nicht die Absicht, dies aus einem Grund zu tun (es sei denn, ich liege falsch, bitte zögern Sie nicht, mich zu korrigieren): Rekomprimierung. Die Videodateien enthalten bereits erheblich komprimierte Audiodaten, und ich möchte die ursprünglichen Audiodaten so weit wie möglich beibehalten. Die Killer-Funktion von Fission ist "verlustfreies Bearbeiten und erneutes Exportieren". Ganz zu schweigen davon, dass GarageBand für solche Aufgaben wirklich sehr langsam ist: /. Dies ist jedoch eine wunderbare Lösung für eine Aufgabe, die das Thema erfüllt. Deshalb habe ich Sie für diesen Aspekt um +1 gebeten.
Jason Salaz
4

Quicktime 7 erledigt die Arbeit sehr einfach.

Öffnen Sie einfach das Video und gehen Sie zu Datei > Exportieren > Sound zu AIFF / AU / Wave > wählen Sie Ihren Pfad und Sie sind fertig! :)

nuc
quelle
Es sieht so aus, als müsste ich möglicherweise meine Snow Leopard-CD finden ...
Jason Salaz
@vxjasonxv musst du nicht. Sie können über den bereitgestellten Link heruntergeladen werden ..
nuc
Oh Danke! Ich hätte nicht gedacht, dass der Link tatsächlich so aussagekräftig ist.
Jason Salaz
1
Trifft hier dieselbe Falle zu, die ich zu Robs Antwort hinzugefügt habe? Ich kann eine Welle des Audios "speichern", aber es ist bereits komprimiert, und theoretisch müsste ich es erneut komprimieren, um es zu verwenden, was ich lieber nicht tun würde.
Jason Salaz
4

QuickTime Player 10 kann auch Audio (ohne Neukodierung) exportieren.

Wählen Sie Datei> Exportieren> Nur Audio…

Getestet unter macOS 10.12 Sierra mit QuickTime Player 10.4.

Melebius
quelle
1
Aber kodiert das den Ton neu?
Jason Salaz
1
@JasonSalaz Nein, nur extrahieren. Dies ist meiner Meinung nach eine bessere Option. Es ist ziemlich schnell und bewahrt die Qualität. Darüber hinaus können Sie es später jederzeit neu codieren.
Melebius
1
Genial. Meine ffmpeg-Antwort ist auch nur extrahierbar, daher dauert es wahrscheinlich nur so lange wie QuickTime. Der Vorteil von ffmpeg besteht darin, dass es nicht über das inhärente Gewicht der Benutzeroberfläche verfügt, sodass es bei einer Datei zweifellos schneller und bei vielen Dateien exponentiell schneller ist. Aber dies ist eine großartige Antwort für jemanden, der sich mit Automator / Applescripting auskennt und sich vielleicht nicht so gut in der Befehlszeile oder mit Shell-Skripten auskennt.
Jason Salaz
0

Ich öffne einfach die Videodatei mit Audacity und exportiere dann das Audio. Ich kann die exportierten Audiodateiparameter während des Exports einstellen.

ttercek
quelle
Das Einstellen der Audiodateiparameter bedeutet, dass das Audio neu codiert wird. Hat Audacity eine Pass-Through-Option (unveränderte Extraktion)?
Jason Salaz