Jeg ved, at flv
og mp4
filer indeholder aac
lyd, mens avi
video normalt mp3
lydstreams.
Hvilken kommando (avconv, ffmpeg) ville udtrække lyden uden at kode den?
Kommentarer
- Du er måske interesseret i et PHP-script , jeg lavede, som jeg automatisk bestemmer udvidelsen af output-lydfilen.
Svar
ffmpeg -i video.mp4 -vn -acodec copy audio.aac
Her er en kort forklaring på, hvad hver parameter gør:
-
-i
-indstilling specificerer inputfilen. -
-vn
-indstillingen bruges til at springe videodelen over. -
-acodec copy
kopierer lydstrømmen med den originale codec.
Komme nts
- mens mp4-videoen indeholder aac-lyd, ikke mp3, er det at holde lydstrømmen uden kodning?
- Fandt t tage sig af output filtypenavn, min fejl. Opdateret svaret. Under alle omstændigheder, hvis du læser det fulde svar, finder du den -acodec-kopi, dette undgår transkodning.
- Jeg foreslår m4a (container til aac) i stedet for aac, fordi det ser ud til at det ikke er let at spille
- er det muligt, mens vi bruger ffmpeg eller avconv, at have en kommando uden at nævne de rigtige navne på input / output-filer, så kommandoen bruges som sådan? (jeg vil gerne bruge det i en kontekstmenuhandling i nemo-filhåndtering)
- Du vil muligvis bruge en variabel eller noget lignende, men det er bedre, hvis du stiller et spørgsmål med alle specifikke detaljer.
Svar
Som et supplerende svar med en kommando, der ikke behøver det specifikke navn på filen.
For en video, der indeholder aac-lyd:
ffmpeg -i "$0" -map 0:1 -c:a copy "${0%%.*}".m4a
For at bruge i en kontekstmenukommando fungerer en form som denne:
bash -c "ffmpeg -i "$0" -map 0:1 -c:a copy "${0%%.*}".m4a" %f
Erstat med tilsvarende lydformatoutput til andet videoformatindgang.
Oprindelig kilde her .