我无法用元数据标记我的 AAC 文件;我该怎么办?

我无法用元数据标记我的 AAC 文件;我该怎么办?

我有一个 AAC 文件,我想为其添加信息标记(艺术家、标题、曲目编号、专辑标题等);不幸的是 - AAC 似乎不支持大多数这些标记,并且标记应用程序拒绝写入它们。

我能否将文件转换为其他格式,进行无损转换(希望是仅复制),这样我就可以拥有这种替代格式的标签?并且还能在各种媒体播放器中轻松打开它?

编辑:至于这是哪种 AAC:

$ mediainfo myfile.aac
Complete name                            : myfile.aac
Format                                   : ADTS
Format/Info                              : Audio Data Transport Stream
File size                                : 1.23 MiB
Overall bit rate mode                    : Variable

Audio
Format                                   : AAC LC
Format/Info                              : Advanced Audio Codec Low Complexity
Format version                           : Version 4
Codec ID                                 : 2
Bit rate mode                            : Variable
Channel(s)                               : 2 channels
Channel layout                           : L R
Sampling rate                            : 44.1 kHz
Frame rate                               : 43.066 FPS (1024 SPF)
Compression mode                         : Lossy
Stream size                              : 1.23 MiB (100%)

答案1

.aac文件只是“原始”音频流,它们不支持 MP3 样式的标签嵌入,因为 AAC 旨在与单独的“包装器”容器格式一起使用以携带这些标签。通常¹MP4 容器文件(.mp4.m4a用于 AAC 音频。

因此,如果您有原始“.aac”文件,请将它们重新打包(remux)为“.m4a”,然后您就可以标记它们:

ffmpeg -i Foo.aac -c:a copy Foo.m4a

指定后-c:a copy,ffmpeg 将按原样使用现有音频流(即它不会进行有损 AAC→AAC 转换)。-metadata如果您想附加一些标准字段,还可以向同一命令添加选项。

您可以通过以下方式获取适用于 Windows 的 FFmpeg官方网站;在 Linux 上它通常作为分发包提供。

(我还发现“Xmedia Recode”似乎是 FFmpeg 周围的一个很好的 GUI;再次确保您选择复制/重新混合而不是重新编码。)


¹(其他容器格式如 Matroska .mkv/.mka也是可能的 - 尽管这很不常见;AAC 几乎总是以 MP4 格式出现。)

答案2

我有一个 AAC 文件

我不确定“AAC”文件这个术语是否定义明确。最好发布媒体分析软件(如 GSpot 或 MediaInfo)的结果,以确定您的文件是否

  1. 包含原始 AAC 流的文件
  2. 嵌入传输流格式的 AAC(当您录制一些互联网广播流时会得到这种格式)
  3. AAC 嵌入在 mp4a(音频)外壳中。

我的情况是第二种,这些歌曲无法通过深圳 mp4 播放器播放。

我想用信息(艺术家、标题、曲目编号、专辑标题等)进行标记;不幸的是 - AAC 似乎不支持大多数这些标签,并且标记应用程序拒绝写入它们。

您的标记器无法通过您的文件外壳(如果有的话)获得信息。

我能否将文件转换为其他格式,并进行无损转换,以便我可以拥有这种替代格式的标签?并且还能在各种媒体播放器中轻松打开它?

尝试将 aac 文件嵌入 mp4 容器中。这可能是

  1. mp4a 容器或
  2. 常规 mp4 容器(允许视频和音轨)

并尝试标记它们。我认为第二种方法应该可行。您的标记器很可能会尝试标记容器,而不是标记单个曲目。

mp3 转换需要重新编码您的 aac 源,这会增加目标文件的大小并降低音频质量。

答案3

自 2024 年 1 月 10 日起,使用ffmpeg v1.4.3,下面的命令对我有用,上面的答案不起作用。

ffmpeg -i "file.aac" -codec: copy "file.m4a"

答案4

标记为 的文件.aac,无论其容器格式如何,在使用正确的标记器产品时,都支持与任何音乐文件一样多的标签。只有 Windows 资源管理器不显示它们。

.aac由于某种原因,Explorer 不会显示带有后缀的文件的标签,可能是因为.aac不将其视为多媒体文件。将.aac文件重命名为.mp3(不进行任何转换)将导致 Explorer 显示所有标签的空列表。

在 Windows/NTFS 下,文件属性可以包含在 备用数据流 (ADS),这是文件的数据扩展名,不会修改其可见数据。一些 Windows 标记器使用它来将音频标记附加到多媒体文件,尽管使用此技术可以标记任何文件。

具体来说,对于海报来说,他的文件包含以 高级音频编码 (AAC) 并封装在 音频数据传输流 (ADTS) 容器。将 AAC 音频移至 MP3 容器中,可能会对播放音乐的质量产生一些影响,即使影响很小(这两种容器格式的特性并不相同)。

标记器产品有很多,但最好的产品是付费产品。一个免费的产品是捐赠软件 Mp3标签 它可以管理多种格式的文件的标签(尽管它的名字不同)。

转换为 MP3 是一种选择,但我倾向于避免仅为了添加标签而进行转换,因为 Explorer 对标签的支持非常有限。一款优秀的标记器产品可以比 Explorer 做得更多。

相关内容