Jeg vet at flv
og mp4
filer inneholder aac
lyd, mens avi
video vanligvis mp3
lydstrømmer.
Hvilken kommando (avconv, ffmpeg) vil trekke ut lyden uten å kode den?
Kommentarer
- Du kan være interessert i et PHP-skript jeg laget, som jeg bruker til automatisk å bestemme utvidelsen av utgangslydfilen.
Svar
ffmpeg -i video.mp4 -vn -acodec copy audio.aac
Her er en kort forklaring på hva hver parameter gjør:
-
-i
alternativet spesifiserer inndatafilen. -
-vn
alternativet brukes til å hoppe over videodelen. -
-acodec copy
kopierer lydstrømmen og holder den originale kodeken.
Komme nts
- mens mp4-videoen inneholder aac-lyd, ikke mp3, er det å holde lydstrømmen uten å omkode?
- Visste ikke ' t ta vare på filtypen for utdata, min feil. Oppdaterte svaret. Uansett, hvis du leser hele svaret, vil du finne den -acodec-kopien, dette unngår transkoding.
- Jeg foreslår m4a (container for aac) i stedet for aac, fordi det virker som det ikke er lett å spille
- er det mulig, mens vi bruker ffmpeg eller avconv, å ha en kommando uten å nevne de virkelige navnene på input / output-filer, slik at kommandoen brukes som sådan? (jeg vil gjerne bruke det i en kontekstmenyhandling i nemo filbehandling)
- Det kan være lurt å bruke en variabel eller noe sånt, men bedre er at du stiller et spørsmål med alle spesifikke detaljer.
Svar
Som et komplementært svar, med en kommando som ikke trenger det spesifikke navnet på filen.
For en video som inneholder aac-lyd:
ffmpeg -i "$0" -map 0:1 -c:a copy "${0%%.*}".m4a
For å bruke i en kontekstmenykommando, fungerer et skjema som dette:
bash -c "ffmpeg -i "$0" -map 0:1 -c:a copy "${0%%.*}".m4a" %f
Erstatt med tilsvarende lydformatutgang for annen videoformatinngang.
Startkilde her .