【问题标题】:ffmpeg convert mp3 to lower bitrate with existing mp3 tagsffmpeg 使用现有的 mp3 标签将 mp3 转换为较低的比特率
【发布时间】:2013-08-25 13:47:19
【问题描述】:

我正在尝试在不更改标题、评论、艺术家和所有其他标签的情况下将 mp3 转换为较低的比特率。

我在努力

ffmpeg -b 64k -i "myfile.mp3" -ab 64k test1.mp3

当我检查 test1.mp3 的文件时,它没有任何标签,所有标签都被删除。

如何在转换时保留标签?

【问题讨论】:

    标签: php ffmpeg


    【解决方案1】:

    在较新版本的 ffmpeg 上将“-map_metadata 0”附加到命令行以保留标签。

    【讨论】:

    • 又一个小时的调试后,我发现对于我的特殊情况,我必须指定要从中复制的流,而且我把它们弄错了。看来 map_metadata 以相反的顺序获取输入/输出。我的输入文件在索引 0 处有 1 个视频流,在 0:1、0:2、0:3 和 0:4 处有 4 个音频流。以下命令对我有用,我的具体目标是从我提取的流中复制元数据: ffmpeg -i input.mp4 -vn -map 0:4 -acodec copy -map_metadata:s:2 0 output.m4a
    • 抱歉,我粘贴的那个命令不正确,它是非工作版本。在某些时候可能会帮助某人进行比较。这是正确的版本: ffmpeg -i input.mp4 -vn -map 0:4 -acodec copy -map_metadata:s:0 0:s:2 output.m4a 所以它会从 0:2 流中复制数据输入文件到输出上的0索引流(直接在map_metadata之后指定输出)
    【解决方案2】:

    使用更新版本的 ffmpeg。当前版本在转换媒体文件时保留 ID3 标签。

    请参阅FFmpeg download 页面以获取适用于 Linux、OS X 和 Windows 的构建链接,或参阅FFmpeg compile guide

    【讨论】:

    • 较新的ffmpeg版本有视频水印问题。这两件事可以用任何1个版本解决吗?
    • @user2708352 在Super User 上提出一个关于水印问题的新问题(Stack Overflow 仅限于编程问题)。请务必先搜索,因为很可能已经有答案。
    • 我更新了 ffmpeg 版本,但仍然无法删除所有标签。
    • @user2708352:你更新到什么版本的ffmpeg?我怀疑它仍然很旧。
    • ffmpeg 版本 1.2.1 版权所有 (c) 2000-2013 FFmpeg 开发人员于 2013 年 5 月 10 日 15:14:14 使用 gcc 4.4.6 (GCC) 20120305 (Red Hat 4.4.6-4) 构建)
    猜你喜欢
    • 2017-08-14
    • 2013-04-12
    • 2016-10-12
    • 1970-01-01
    • 1970-01-01
    • 2014-02-14
    • 2012-09-15
    • 2023-03-20
    • 2017-03-28
    相关资源
    最近更新 更多