So che flv
e mp4
i file contengono aac
audio, mentre i avi
video in genere mp3
stream audio.
Quale comando (avconv, ffmpeg) estrarrebbe laudio senza transcodificarlo?
Commenti
- Potresti essere interessato a uno script PHP che ho creato, che utilizzo per determinare automaticamente lestensione del file audio di output.
Risposta
ffmpeg -i video.mp4 -vn -acodec copy audio.aac
Ecco una breve spiegazione su cosa fa ogni parametro:
-
-i
specifica il file di input. - Lopzione
-vn
viene utilizzata per saltare la parte video. -
-acodec copy
copierà il flusso audio mantenendo il codec originale.
Comme nts
- mentre il video mp4 contiene audio aac, non mp3, il flusso audio viene mantenuto senza transcodifica?
- Non ' t prendersi cura dellestensione del file di output, errore mio. Aggiornata la risposta. Ad ogni modo, se leggi la risposta completa, troverai che -acodec copy, questo evita la transcodifica.
- suggerisco m4a (container per aac) invece di aac, perché sembra che non sia facile da giocare
- è possibile, mentre si usa ffmpeg o avconv, avere un comando senza menzionare i nomi reali dei file di input / output, in modo che il comando venga usato come tale? (Mi piacerebbe usarlo in unazione del menu contestuale nel file manager nemo)
- Potresti voler usare una variabile o qualcosa del genere, ma è meglio che tu faccia una domanda con tutti i dettagli specifici.
Risposta
Come risposta complementare, con un comando che non necessita del nome specifico del file.
Per un video contenente audio aac:
ffmpeg -i "$0" -map 0:1 -c:a copy "${0%%.*}".m4a
Per utilizzare in un comando del menu contestuale, un modulo come questo funziona:
bash -c "ffmpeg -i "$0" -map 0:1 -c:a copy "${0%%.*}".m4a" %f
Sostituisci con luscita del formato audio corrispondente per un altro ingresso di formato video.
Sorgente iniziale qui .