【问题标题】:Proper params to convert mp3 to aac using avconv使用 avconv 将 mp3 转换为 aac 的正确参数
【发布时间】:2015-09-07 07:39:28
【问题描述】:

我正在编写一个将mp3 文件转换为aac 的小python 脚本。我正在使用avconv 这样做,我想知道我是否做得对。 目前我的命令如下所示:

avconv -i input.mp3 -ab 80k output.aac

这让我想到了我的第一个问题:我正在使用-ab 80k,因为它适用于我的测试文件。在某些文件上,我可以更高一些并使用100k。但我更希望始终将其设置为最高设置。有没有办法这么说?

另一个问题:我在 python 脚本中使用它。目前我将其称为子流程。我不希望这样做,因为这迫使我将文件写入光盘,然后在一切完成后再次加载。有没有办法只在内存中做到这一点?我之后使用web.py 返回文件并且不需要或不希望它在我的光盘上?所以根本不用使用临时文件会很酷。

感谢任何提示和技巧:)

【问题讨论】:

    标签: python mp3 aac avconv


    【解决方案1】:

    我没有 -ab 选项,但如果它等同于 -ar(指定采样率),我应该指出你的耳朵无法分辨 80k 和更高的值之间的区别。 关于临时文件,您是否考虑过使用 /tmp 或为此目的创建的特定 tmpfs 文件系统。

    编辑: 作为对临时文件评论的回应,是的,您仍然使用它们,但在 /tmp 或您为作业创建的 tmpfs 文件系统中创建它们。它应该在重新启动时被清除,但我希望你在传递文件后删除它。
    关于无损 aac 的另一点我可能稍后再回复您。

    编辑 2: 由于我怀疑 aac 格式被描述为 mp3 的逻辑继承者,我强烈怀疑,您或其他人可能知道不同,因为 mp3 是所谓的有损、压缩,即位(不是双关语)丢失,您希望无损转换注定要失败,因为源已经是有损的。
    当然,我不是这方面的专家,我会得到纠正。

    编辑 3: 您对 too many frames 的评论让我相信您将两个 avconv 选项 -ar 和 -b 混为一谈
    -b 用于视频并指定视频和音频的输出比特率。您使用它的方式,我怀疑它试图对音频和视频应用相同的比特率,但音频流有限制。
    您将不得不使用 -b:v 来告诉 avconv 设置视频比特率并单独保留音频速率。
    我建议您放弃 -ab 选项并改用 -ar,因为那只是音频。

    【讨论】:

    • 感谢您的帮助:关于 -ar... 当使用它而不是 -ab 参数时,我的机器抱怨 [aac @ 0x11d0820] Unsupported sample rate 80000。任何的想法?抱歉...我是媒体文件新手 :)
    • 我也会看看tmpfs,谢谢。但基本上我还是会使用临时文件,对吧?
    • 好的...忘记采样率... :) 我想要一个无损的 aac 文件。所以我的输入比特率为 256k。我想为我的 aac 文件设置相同的内容。但是 avconv 抱怨:Too many bits per frame requested。如果您知道我如何解决该问题,那就太好了...
    • @Georg 每帧的位数太多听起来像是在转换视频而不是 mp3
    • 不,它是一个 mp3,我们只是想保持它的高质量。但我发现如果使用-acodec libvo_aacenc 它可以工作。还是谢谢!
    猜你喜欢
    • 2019-02-05
    • 2016-01-18
    • 2019-01-12
    • 1970-01-01
    • 2012-05-30
    • 1970-01-01
    • 2011-01-14
    • 2012-01-24
    • 2022-07-11
    相关资源
    最近更新 更多