2015-09-07 63 views
0

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

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

这使我想起我的第一个问题:我用-ab 80k,因为这工作与我的测试文件。在某些文件中,我可以更高级地使用100k。但我宁愿总是在最高的设置。有没有办法说这个?

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

感谢任何的窍门和技巧:)

回答

1

我没有-AB选项,但如果它等同于芳(指定采样率),我要指出,你的耳朵不会能够分辨80k和其他任何东西之间的差异。
关于临时文件的问题,您是否考虑使用/ tmp或为此目的创建的特定tmpfs文件系统。

编辑: 为了回应关于临时文件的评论,是的,您仍然使用它们,但是在/ tmp或您为作业创建的tmpfs文件系统中创建它们。它应该在重新启动时被清除,但是我希望你在通过它之后删除文件。
关于无损aac的另一点我可能会在稍后再回来。由于我怀疑aac格式被描述为mp3的逻辑后继者,我强烈怀疑,你或其他人可能会知道不同,即mp3就是所谓的有损,压缩即位(不是双关意图)失踪,你的无损转换的愿望是注定的,尽管来源已经是有损的。
当然,在这个问题上不是专家,我有待纠正。

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

+0

感谢您的帮助:关于'-ar' ...当使用它而不是'-ab'参数时,我的机器抱怨'[aac @ 0x11d0820]不支持的采样率80000'。任何想法?对不起......我是一个媒体文件noobie :) – Georg

+0

我也看看'tmpfs',thx。但基本上我仍然会使用临时文件,对吧? – Georg

+0

好的...忘了采样率... :)我想要一个无损aac文件。所以我的输入有256k的比特率。我想对我的aac文件有相同的内容。但是avconv抱怨:“每帧请求的位太多”。如果你知道我能如何解决这个问题,那会很好。 – Georg