我正在编写一个将mp3
文件转换为aac
的python脚本。我是通过使用avconv
这样做的,我想知道我是否做得对。
目前我的命令如下:
avconv -i input.mp3 -ab 80k output.aac
这让我想到了第一个问题:我正在使用-ab 80k
,因为这适用于我的测试文件。在某些文件中,我可以更高并使用100k
。但我更喜欢总是在最高设置下。有没有办法说出来?
另一个问题:我在python脚本中使用它。目前我将其称为子流程。我不喜欢这样做,因为这迫使我将文件写入光盘,然后在完成所有操作后再次加载。有没有办法只在记忆中做到这一点?我之后使用web.py
返回文件,并且不需要或想要它在我的光盘上?所以很酷,不必使用临时文件。
感谢任何窍门和技巧:)
答案 0 :(得分:1)
我没有-ab选项但是如果它等效于-ar(指定采样率),我应该指出你的耳朵无法区分80k和更高的值。<登记/>
关于临时文件的主题,您是否考虑过使用/ tmp或为此目的创建的特定tmpfs
文件系统。
编辑:
在回复关于tempfiles的评论时,是的,您仍然使用它们,但是在/ tmp或您为该作业创建的tmpfs文件系统中创建它们。它应该在重新启动时被清除,但我希望你一旦通过它就删除该文件。
关于无损aac的另一点我可以稍后再回复你。
编辑2: 因为我怀疑aac格式被描述为mp3的逻辑继承者,我强烈怀疑,你或其他人可能知道不同,因为mp3被称为有损,压缩即比特(没有双关语意图)缺失,你的愿望无损地转换是注定的,因为源已经是有损的 当然,在这个问题上不是专家,我有待纠正。
编辑3:
您对too many frames
的评论让我相信您正在混淆两个avconv选项-ar和-b
-b用于视频并指定视频和音频的输出比特率。你使用它的方式,我怀疑它试图将相同的比特率应用于音频和视频,但音频流有一个限制。
您必须使用-b:v告诉avconv设置视频比特率并保持音频速率
我建议您丢失-ab选项并使用-ar,因为它只是音频。