Știu că flv
și mp4
fișierele conțin aac
audio, în timp ce avi
video de obicei mp3
fluxuri audio.
Ce comandă (avconv, ffmpeg) ar extrage sunetul fără transcodare?
Comentarii
- S-ar putea să vă intereseze un script PHP pe care l-am creat, pe care îl folosesc pentru a determina automat extensia fișierului audio de ieșire.
Răspuns
ffmpeg -i video.mp4 -vn -acodec copy audio.aac
Iată o scurtă explicație a ceea ce face fiecare parametru:
-
-i
specifică fișierul de intrare. - Opțiunea
-vn
este utilizată pentru a omite partea video. -
-acodec copy
va copia fluxul audio păstrând codecul original.
Comme nts
- în timp ce videoclipul mp4 conține audio audio, nu mp3, înseamnă că păstrarea fluxului audio fără transcodare?
- Nu ' nu mă ocup de extensia fișierului de ieșire, greșeala mea. S-a actualizat răspunsul. Oricum, dacă citiți răspunsul complet, veți găsi acea copie -acodec, pentru a evita transcodarea.
- Vă sugerez m4a (container pentru aac) în loc de aac, deoarece se pare că nu este ușor de jucat
- este posibil, în timp ce utilizați ffmpeg sau avconv, să aveți o comandă fără a menționa numele reale ale fișierelor de intrare / ieșire, astfel încât comanda să fie folosită ca atare? (aș dori să o folosesc într-o acțiune din meniul contextual în managerul de fișiere nemo). / li>
Răspuns
Ca răspuns complementar, cu o comandă care nu are nevoie de numele specific al fișierului.
Pentru un videoclip care conține audio audio:
ffmpeg -i "$0" -map 0:1 -c:a copy "${0%%.*}".m4a
Pentru a utiliza într-o comandă din meniul contextual, un formular ca acesta funcționează:
bash -c "ffmpeg -i "$0" -map 0:1 -c:a copy "${0%%.*}".m4a" %f
Înlocuiți cu ieșirea corespunzătoare a formatului audio pentru alte intrări în format video.
Sursa inițială aici .