Is there a command line tool for Windows to extract audio aac from mp4 ?
4 Answers
FFmpeg can do it. Here is a list of commands that might come useful for you. Go here for instructions.
Example:
ffmpeg -i INPUT.mp4 -c copy -map 0:a:0 Output.aac
-i
: input file-c copy
: copies the bitstreams without re-encoding-map 0:a:0
: selects track from: 1st input file -> audio tracks -> first track (1st audio track from 1st input file)
Note that it would work similarly with avconv
, which is a fork of ffmpeg
.
-
1Only linking to a solution is bad practice. At least give some examples.– erikJul 4, 2015 at 21:58
-
1If there's only one audio stream inside the MP4, the -map argument is not necessary, ie. writing this is enough:
ffmpeg -i INPUT.mp4 -c copy Output.aac
– miyalysSep 22, 2015 at 12:21 -
Here is how to create in batch mode. First create a sub-folder "out" where your mp4 files are. Then, "open command window" to the mp4 folder and paste the following for %f in ("*.mp4") do C:\yourpath\ffmpeg\bin\ffmpeg -i "%f" -c copy -map 0:a:0 out/"%~nf.aac" Jun 4, 2017 at 21:29
-
mp4box can also do this.
To demux/extract aac from mp4 (assuming audio is the 2nd track):
mp4box -raw 2 video.mp4
This will automatically create output file "video_track2.aac"
(Use mp4box -info video.mp4
to get a list of the tracks in the MP4 file.)
If you wanted control over the output filename, you would do
mp4box -raw 2 video.mp4 -out audio.aac
If you wanted to remux back into mp4 container (i.e. for iTunes) you could do:
mp4box -single 2 video.mp4 -out audio.m4a
You could then put this in a batch script to operate over all the files in a directory:
for %%f in ("*.mp4") do (
mp4box -single 2 "%%f" -out "%%~nf.m4a"
)
(batch script inspired by videohelp and stackoverflow)
Download links:
-
1+1 Thank you, the -single command is exactly what I was looking for (it adds MP4 info to -raw)– MartinSep 16, 2015 at 21:44
Here’s the actual commands to use since all the provided links don’t actually give them, and anyway: links rot and die so should always be replaced with actual answers on stackexchange.
avconv -i input.mp4 -vn -c:a copy output.m4a
-
Worked great (with parent project "ffmpeg.exe" instead of "avconv.exe") and fixed .aac output problem of inaccurate timecode. Turns out m4a is a proper container format.– SushiGuyNov 2, 2016 at 2:16
-
I first just use mkvtoolnix to convert the MP4 to MKV and use mkvextract gui to extract the needed track. Lot less complicated and full GUI. Absolutely zero change in any component whatsoever.
-
1If it’s less complicated, can you please describe how to do what the OP wants to do with these tools? Also, note that the question asked for a command line tool. Oct 20, 2017 at 12:33
-
Actually mkvtoolnix is a graphical front end for the command line mkvmerge.exe I believe you can find the command line switches and command formatting information on line too. The GUI also has the option of creating batch files for working on multiple files. Oct 23, 2017 at 5:53