使用 ffmpeg 从 mp4 中提取 AAC LC 音频

使用 ffmpeg 从 mp4 中提取 AAC LC 音频

这是我正在处理的文件的信息

General
Format                                   : MPEG-4
Format profile                           : Base Media
Codec ID                                 : iso5 (iso5/dsms/msix/dash)
File size                                : 266 KiB
Duration                                 : 32 s 485 ms
Overall bit rate mode                    : Constant
Overall bit rate                         : 67.1 kb/s
Writing application                      : Lavf57.71.100

Audio
ID                                       : 1
Format                                   : AAC LC
Format/Info                              : Advanced Audio Codec Low Complexity
Codec ID                                 : mp4a-40-2
Duration                                 : 32 s 485 ms
Bit rate mode                            : Constant
Bit rate                                 : 64.0 kb/s
Channel(s)                               : 1 channel
Channel layout                           : C
Sampling rate                            : 44.1 kHz
Frame rate                               : 43.066 FPS (1024 SPF)
Compression mode                         : Lossy
Stream size                              : 254 KiB (95%)
Default                                  : Yes
Alternate group                          : 1
Tagged date                              : UTC 2019-11-26 18:55:23

您可以在此处下载文件:

https://mega.nz/#!59phHYJA!XG6jwlMOUeTjAt55RSrfDhofAyl1E4O2nxXwXKzr5Cs

我尝试了以下提取方法,但音频从 32 秒缩短到了 4 秒

ffmpeg -i input_video.mp4 -c copy -map 0:a:0 output_audio.aac
ffmpeg -i input_video.mp4 -vn -acodec aac output_audio.aac

使用 ffmpeg 来解决这个问题是否可行,你会推荐其他方法吗?

答案1

该文件处于碎片模式。ffmpeg 跳过了许多片段,可能是由于某些解析错误。您可以在http://trac.ffmpeg.org

一种解决方法是使用 mp4box(亚太地区政策咨询委员会)。

这将提取轨道 1。

mp4box -raw 1:output=raw.aac audio.mp4

相关内容