Tudom, hogy flv
és mp4
fájlok aac
hangot tartalmaznak, míg az avi
videók általában mp3
audio folyamokat tartalmaznak.
Milyen parancs (avconv, ffmpeg) vonja ki a hangot anélkül, hogy átkódolná?
Megjegyzések
- egy általam készített PHP szkript , amellyel automatikusan meghatározom a kimenő hangfájl kiterjesztését.
Válasz
ffmpeg -i video.mp4 -vn -acodec copy audio.aac
Íme egy rövid magyarázat minden paraméter működésére:
-
-i
opció adja meg a bemeneti fájlt. -
-vn
opció a videó rész kihagyására szolgál. -
-acodec copy
átmásolja a hangfolyamot, megtartva az eredeti kodeket.
Comme nts
- míg az mp4 videó nem mp3, hanem aac hangot tartalmaz, az az, hogy a hangfolyamot átkódolás nélkül tartják?
- Did ' nem ügyelek a kimeneti fájlkiterjesztésre, hibám. Frissítette a választ. Egyébként, ha elolvassa a teljes választ, megtalálja azt az -acodec másolatot, ezzel elkerülheti az átkódolást.
- javaslom az m4a-t (aAC tároló) aac helyett, mert úgy tűnik, hogy nem könnyű lejátszani
- lehetséges-e az ffmpeg vagy az avconv használatakor parancs kiadni anélkül, hogy megemlítenénk a bemeneti / kimeneti fájlok valódi nevét, így a parancsot ilyenként lehet használni? (ezt szeretném használni a nemo fájlkezelő helyi menüjében)
- Érdemes egy változót vagy hasonlót használni, de jobb, ha feltesz egy kérdést minden részletével együtt.
Válasz
Kiegészítő válaszként egy olyan paranccsal, amelyhez nincs szükség a fájl konkrét nevére.
Aac hangot tartalmazó videó esetén:
ffmpeg -i "$0" -map 0:1 -c:a copy "${0%%.*}".m4a
A helyi menü parancsban történő használatához egy ilyen forma működik:
bash -c "ffmpeg -i "$0" -map 0:1 -c:a copy "${0%%.*}".m4a" %f
Cserélje ki a megfelelő audio formátumú kimenetre más videó formátumú bemeneteknél.
Kezdeti forrás itt .