Qual è il modo migliore per estrarre l'audio da un file video?


19

Sono un grande fan di HandBrake . È l'epitome del semplice. Seleziona un file video (o DVD), seleziona un predefinito, seleziona un percorso di output, fai clic su Avvia. Un certo periodo di tempo dopo rispetto alla dimensione / qualità del contenuto, e hai un file video praticamente perfetto adatto al mezzo che preferisci.

Ho cercato qualità simili in un convertitore audio e, più preferibilmente, in un estrattore audio (da un determinato file video). Mi piacerebbe poter trascinare un file video in un'applicazione, specificare che voglio il file audio in CA a un determinato bitrate, fare clic su Start e lasciare che l'app faccia il resto.

Non sono contrario all'utilizzo del freno a mano per bastare l'aspetto di conversione di questo, purché l'estrazione dell'audio dopo il fatto sia un processo semplice. Il punto è fare il minor numero di passi possibile.

Qualche consiglio? Apps? Idee?


Fission è una buona utility per l'estrazione di dati audio da un video, e mi stavo preparando a farlo alla vecchia maniera, traccia per traccia, manualmente. Non è la mia preferenza. Successivamente ho avuto l'idea di applicarlo, ma sfortunatamente sembra che Fission non abbia un dizionario AS.
Jason Salaz,

@Jason ha considerato alcuni script dell'interfaccia utente per parlare con Fission?
Nathan Greenstein,

È generalmente Applescript primitivo quando una determinata app non ha un dizionario? Fai clic sul menu "File". Fai clic sulla voce di menu "Salva". Roba più o meno così?
Jason Salaz,

@Jason yep. Ma potrebbe essere meglio che farlo a mano, a seconda di quanti di questi hai intenzione di sfogliare.
Nathan Greenstein,

Mi sono imbattuto in una voce sulle FAQ di Handbrake oggi: 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 OSEx . Sfortunatamente, è solo PPC. Booooo!
Jason Salaz,

Risposte:


22

Alla fine ho trovato la combinazione esatta di cui avevo bisogno e l'ho trovata in ffmpeg .

Espanderò un po 'la domanda e spiegherò che stavo già lavorando con mp4 conteneva video / audio, quindi MP4 Video (.m4v) e AAC Audio (.m4a). Volevo assolutamente una versione così com'è dell'audio estratto dal video.

Prima di tutto, è abbastanza facile installare cose come ffmpeg, mplayer, cose costruite su di esse e pacchetti open source simili al giorno d'oggi. Tra Rudix , Homebrew , MacPorts e Fink (qualcuno usa più il fink?), Il software di terze parti è semplicissimo da installare.

Quindi, dopo aver installato ffmpeg e avere l' ffmpegaccesso accessibile dalla riga di comando, ho eseguito un comando come questo:

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

ffmpeg : il comando.

-i videofile.mp4 : il file video sorgente.

-vn : non registra (non considera) i dati video.

-acodec copy : copia la sorgente audio così com'è, ecco dove sta tutta la magia. ffmpeg scriverà i dati audio come vari codec supportati, ma specificando copy si ottiene una copia esatta bit per bit dello stream. Abbinato alla disabilitazione del video tramite -vn ti lascia con una traccia audio solitaria all'interno di un contenitore mp4.

audiotrack.m4a : il nome file di output.

Non posso credere che qualcosa del genere sia stato così difficile e nascosto per così tanto tempo.

Dato che ho sempre intenzione di estrarre i dati audio da un contenitore / video mp4, ho scritto un breve script per farlo.

#!/bin/bash

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

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

Ora invoco semplicemente rip_m4a_from_mp4 somevideofile.mp4e mi rimane una versione solo audio con lo stesso nome file, che termina invece con m4a.

Semplice! Per me comunque. Nessuna GUI, velocissima, questa è solo una di quelle cose che la riga di comando fa meglio.


È possibile sostituire la m4ariga 5 con $2e specificare la nuova estensione sulla riga di comando. In questo modo se stai lavorando con qualcos'altro e sai qual è l'audio, puoi specificarlo. Posso farlo da solo e cambiare il nome dello script in "rip_audio_from_video". Generico!
Jason Salaz,

Per iniziare. ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"allora brew install ffmpeg. Ora segui le istruzioni sopra.
boyfarrell,

Homepage del Homebrew è brew.sh . Dopo aver seguito le istruzioni su quella pagina (solo nel caso che cambiano), brew install ffmpeg. E poi sì, allora puoi seguire i miei passi.
Jason Salaz,

2
Se non vuole ri-codificare l'audio in un altro formato, ffmpegpuò farlo nello stesso comando. Ad esempio: 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 assicurati di specificare 192k, non 192. Altrimenti tornerà a una codifica 128kbit / s.
smets.kevin,

12

Puoi farlo direttamente nel Finder, a partire da Mac OS X 10.7 (Lion), come descritto in OSX Daily .

La risposta breve è selezionare il file oi file nel Finder, quindi fare ctrlclic su e selezionare Servizi -> Codifica i file video selezionati .

Potrebbe essere necessario abilitare questo servizio nel riquadro delle preferenze della tastiera .

inserisci qui la descrizione dell'immagine


Wow! Molto conveniente! Un altro motivo per usare un Mac!
Javad Sadeqzadeh,

Nel mio caso la dimensione del m4afile risultante rispetto all'utilizzo ffmpegera più di 3 volte più grande. Potrebbe essere una preoccupazione, soprattutto per file di dimensioni maggiori.
Casimir,

6

Trascinerei il film in GarageBand. GarageBand suddividerà il file in audio e video, a quel punto puoi eliminare la traccia video (lasciandoti solo con la traccia audio).

Puoi quindi fare clic sull'opzione Invia brano ad iTunes nel menu Condividi (vedi foto). Verranno quindi visualizzati i vari formati in cui si desidera esportare.

inserisci qui la descrizione dell'immagine

Soprattutto, questo è gratuito :) poiché tutti i Mac sono dotati di GarageBand. Inoltre ti consente anche di regolare aspetti dell'audio come velocità e volume.

Detto questo, se vuoi una soluzione davvero automatica e sei a tuo agio nella riga di comando con Terminal, fammelo sapere nei commenti e ti inventerò uno script per permetterti di farlo.


Non intendo farlo per un motivo (a meno che non mi sbagli, non esitate a correggermi): Ricompressione. I file video hanno già dati audio significativamente compressi e desidero preservare il più possibile i dati audio originali. La caratteristica killer di Fission è "editing e riesportazione senza perdita di dati". Per non parlare del fatto che GarageBand è davvero lento per attività come questa: /. Tuttavia, questa è una soluzione meravigliosa per un compito che soddisfa l'argomento, quindi ti ho fatto +1 su questo aspetto.
Jason Salaz,

4

Quicktime 7 farà il lavoro molto facilmente.

Basta aprire il video e andare su File > Esporta > Audio in AIFF / AU / Wave > seleziona il tuo percorso e il gioco è fatto! :)


Sembra che potrei aver bisogno di trovare il mio disco Snow Leopard ...
Jason Salaz,

@vxjasonxv non è necessario. È possibile scaricare tramite il link fornito.
Nuc

Oh, grazie! Non pensavo davvero che il link sarebbe stato sostanziale in quel modo.
Jason Salaz,

1
La stessa trappola che ho aggiunto alla risposta di Rob si applica qui? Posso "salvare un'onda" dell'audio, ma è già compresso, e in teoria per usarlo dovrei ricomprimerlo di nuovo, cosa che preferirei non fare.
Jason Salaz,

4

QuickTime Player 10 è anche in grado di esportare l'audio (senza ricodifica).

Seleziona File> Esporta> Solo audio ...

Testato su macOS 10.12 Sierra con QuickTime Player 10.4.


1
Ma questo ricodifica l'audio?
Jason Salaz,

1
@JasonSalaz No, basta estrarre. Questa è IMHO un'opzione migliore. È piuttosto veloce e conserva la qualità. Inoltre, puoi ricodificarlo in qualsiasi momento dopo.
Melebio

1
Eccezionale. Anche la mia risposta di ffmpeg è solo estratto quindi probabilmente impiega solo il tempo di QuickTime. Il vantaggio di ffmpeg è che non ha il peso di caricamento dell'interfaccia utente intrinseca, quindi è senza dubbio più veloce in 1 file e esponenzialmente più veloce in molti file. Ma questa è un'ottima risposta per chi è esperto in Automator / Applescripting, e forse non è altrettanto a suo agio nella riga di comando o con gli script di shell.
Jason Salaz,

0

Apro semplicemente il file video con audacia e quindi esporto l'audio. Posso impostare i parametri del file audio esportato durante l'esportazione.


Impostare i parametri del file audio significa ricodificare l'audio. Audacity ha un'opzione pass through (estrazione invariata)?
Jason Salaz,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.