使用 avconv 将 mp3 转换为 aac 的正确参数

Proper params to convert mp3 to aac using avconv

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

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

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

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

感谢您提供任何提示和技巧:)

我没有 -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,因为那只是音频。