Shell Can';t使用ffmpeg将注释元数据提供给MP3文件

Shell Can';t使用ffmpeg将注释元数据提供给MP3文件,shell,audio,ffmpeg,mp3,aac,Shell,Audio,Ffmpeg,Mp3,Aac,我想将AAC转换为MP3,并使用ffmpeg为MP3文件提供评论元数据。 但是-元数据注释不起作用,并且ffmpeg不会返回任何错误。 我的代码是 ffmpeg-i“test.aac”-ab 128k-metadata comment='this is test'“test.mp3” 我尝试了-metadata description='this is test',还更新了ffmpeg。其他功能,如-metadata-artist和-metadata-album运行良好。 这个代码怎么了 输出

我想将AAC转换为MP3,并使用ffmpeg为MP3文件提供评论元数据。
但是
-元数据注释
不起作用,并且ffmpeg不会返回任何错误。

我的代码是
ffmpeg-i“test.aac”-ab 128k-metadata comment='this is test'“test.mp3”

我尝试了
-metadata description='this is test'
,还更新了ffmpeg。其他功能,如
-metadata-artist
-metadata-album
运行良好。

这个代码怎么了

输出

Stream mapping:
  Stream #0:0 -> #0:0 (aac (native) -> mp3 (libmp3lame))
Press [q] to stop, [?] for help
Output #0, mp3, to 'test.mp3':
  Metadata:
    description     : this is test
    TSSE            : Lavf58.29.100
    Stream #0:0: Audio: mp3 (libmp3lame), 48000 Hz, stereo, fltp, 128 kb/s
    Metadata:
      encoder         : Lavc58.54.100 libmp3lame
环境
ffmpeg版本4.2.2版权所有(c)2000-2019 ffmpeg开发者
使用Apple clang 11.0.3版(clang-1103.0.32.59)构建。

请尝试以下方法:

ffmpeg -i test.aac -c copy -metadata comment='this is test' -b:a 128k test.mp3

此处
-b:a
用于设置音频比特率。

可能的错误
ffmpeg
正在将注释元数据写入用户文本框(
TXXX
),而不是预期的注释(
COMM

现在,我建议对注释标签使用不同的工具<代码>眼睛3示例:

eyeD3--comment“added a comment”input.mp3
默认情况下,ffmpeg会将标签写入MP3输出文件。在版本(甚至快照)中,它仍然被错误地写为
TXXX
帧,而不是
COMM
-/libavformat/id3v2.c无法处理所需的关联,并且/libavformat/id3v2enc.c表示
-comment
参数仅在提供嵌入图形时使用(即专辑封面)

作为替代方案,您可以强制标记(尽管有其所有缺点)。您还必须禁用ID3v2标记创建,因为几乎所有遇到两个ID3版本的软件都更喜欢v2中的数据而不是v1中的数据。要添加的参数为
-write_id3v1 true-ID3v2_version 0
,因此总体执行情况如下:

ffmpeg -i "test.aac" -ab 128k -metadata comment='this is test' -write_id3v1 true -id3v2_version 0 "test.mp3"
这和预期的一样:没有ID3v2标记,只有一个ID3v1标记,其中只填充注释