首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不能使用ffmpeg将注释元数据提供给MP3文件

不能使用ffmpeg将注释元数据提供给MP3文件
EN

Stack Overflow用户
提问于 2020-05-24 03:33:42
回答 2查看 1.2K关注 0票数 4

我希望将AAC音频文件隐藏到MP3中,并使用ffmpeg在MP3文件的元数据中添加注释。

-metadata comment选项不起作用,ffmpeg不返回错误。

我正在运行的完整命令是ffmpeg -i "test.aac" -ab 128k -metadata comment='this is test' "test.mp3"

我还尝试了-metadata description='this is test',甚至更新了ffmpeg。其他选项(如-metadata artist-metadata album )运行良好。

这种方法有什么问题吗?

输出

代码语言:javascript
运行
复制
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

环境

版本4.2.2版权(c) 2000-2019 ffmpeg开发者

用Apple版本11.0.3构建(clang-1103.0.32.59)

EN

Stack Overflow用户

发布于 2021-02-11 01:13:23

默认情况下,ffmpeg将ID3v2标记写入MP3输出文件。到了4.3.1版本(甚至是快照 2021-02-10和2022-09-20),它仍然被错误地写成了TXXX框架,而不是COMM -4.3.1没有处理所需的关联,而/libavformat/id3v2enc.c指出,-comment参数仅用于提供要嵌入的图形(即相册封面)。

作为另一种选择,您可以强制使用ID3v1标记(有其所有缺点)。您还必须禁用ID3v2标记创建,因为几乎每一个遇到两个ID3版本的软件都更喜欢来自v2而不是v1的数据。要添加的参数将是-write_id3v1 true -id3v2_version 0,因此总体执行是(在Windows上):

代码语言:javascript
运行
复制
ffmpeg -i "test.aac" -ab 128k -metadata "comment=this is a test" -write_id3v1 true -id3v2_version 0 "test.mp3"

这与预期的一样:没有ID3v2标记,只有一个只填充注释的ID3v1标记。引号从comment之前开始,在test之后结束,所以Windows知道整个参数从哪里开始和结束(默认情况下不是用下一个空格字符--这也是文件名应该进入引号的原因)。

票数 2
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61981314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档