Tiedän, että flv
ja mp4
-tiedostot sisältävät aac
äänen, kun taas avi
video yleensä mp3
äänivirtaa.
Mikä komento (avconv, ffmpeg) poimiisi äänen koodaamatta sitä?
Kommentit
- Saatat olla kiinnostunut laatimani PHP-komentosarja , jonka avulla määritän automaattisesti lähtevän äänitiedoston laajennuksen.
Vastaa
ffmpeg -i video.mp4 -vn -acodec copy audio.aac
Tässä on lyhyt selitys jokaisen parametrin toiminnalle:
-
-i
-vaihtoehto määrittää syötetiedoston. -
-vn
-vaihtoehtoa käytetään video-osan ohittamiseen. -
-acodec copy
kopioi äänivirran säilyttäen alkuperäisen koodekin.
Comme nts
- vaikka mp4-video sisältää aac-äänen, ei mp3-tiedostoa, onko äänivirran pitäminen ilman koodausta?
- Didn ' älä huolehdi ulostulotiedostojen laajennuksista, virhe. Päivitetty vastaus. Joka tapauksessa, jos luet täydellisen vastauksen, löydät tuon -acodec-kopion, mikä välttää koodauksen.
- Ehdotan m4a: ta (aac-säiliö) aac: n sijasta, koska näyttää siltä, että sitä ei ole helppo pelata
- onko mahdollista käyttää komentoa ffmpeg tai avconv käytettäessä komentamatta tulo- / lähtötiedostojen oikeita nimiä, jotta komentoa voidaan käyttää sellaisenaan? (haluaisin käyttää sitä kontekstivalikkotoiminnossa nemo-tiedostonhallinnassa)
- Haluat ehkä käyttää muuttujaa tai jotain sellaista, mutta on parempi, jos kysyt kysymyksen kaikista yksityiskohdista.
vastaus
Täydentävänä vastauksena komennolla, joka ei tarvitse tiedoston nimen.
Videolle, joka sisältää aac-äänen:
ffmpeg -i "$0" -map 0:1 -c:a copy "${0%%.*}".m4a
Jos haluat käyttää pikavalikkokomentoa, tällainen muoto toimii:
bash -c "ffmpeg -i "$0" -map 0:1 -c:a copy "${0%%.*}".m4a" %f
Korvaa vastaavalla äänimuodolähdöllä muulle videoformaattitulolle.
Alkuperäinen lähde täällä .