使用HE-AAC(AAC +)将mp3转换为aac-Linux

时间:2018-08-30 12:04:38

标签: compression mp3 aac

我目前正在处理丢失的mp3文件大小以进行流式传输。 我想将mp3的大小减小多少。我最清楚(大概)编码是HE-AAC(AAC +)。他给我32kb / s的mp3立体声,就像原始的320kb / s一样。

我在Ubuntu上。 我找到了一种解决方案。 这是一个NeroAacEnc,它是免费的,而且工作也不错。 但是有一个错误。输入文件必须是“ wav”文件,因此,当我第一次将mp3(400mb)转换为wav时,将获得超过4GB的文件。 然后我无法在NeroAacEnc中打开如此大的文件。

带有-ignorelength的命令不起作用

$ neroAacEnc -ignorelength -br 32000 -if test.wav -of test_nero.mp3

您能帮我一下,找到解决办法的正确方法吗? 其他编码器很难将大小减小到32kb / s,因为这样会降低质量。只有HE-AAC(AAC +)可以为我提供高质量的文件,文件的传输速度为32kb / s。

编辑: 好的,我发现我可以使用AAC +编码器编译ffmpeg。 http://ffmpeg.org/doxygen/trunk/libaacplus_8c-source.html 这是一个来源。但是我不知道该怎么做,有人知道吗?

3 个答案:

答案 0 :(得分:0)

  

他给了我32kb / s的mp3立体声,就像原始的320kb / s。

那是个谎言。谁告诉过你,那绝对不知道他们在说什么。

  

所以当我第一次将mp3(400mb)转换为wav时,会获得超过4GB的文件

是的,这很可能。不要将其转换为文件,而是将其通过管道传输。 NeuroAacEnc支持-if -从STDIN读取。

  

其他编码器很难将大小减小到32kb / s,因为这样会降低质量。

所有编解码器的音质都差于32k。

  

只有HE-AAC(AAC +)可以为我提供高质量的文件,并且文件的传输速度为32kb / s。

HE-AAC是您最好的选择之一,但仍然不会令人惊奇。还可以考虑Opus。

您可以考虑使用预建的FFmpeg。确实,无论如何,您都不应该从MP3转换为AAC。尽可能获取原始音频,否则您将浪费大量带宽来尝试编码以前的有损编解码器中的伪像。

答案 1 :(得分:0)

好的,经过研究,我最终完成了我打算做的事情。 但是,我们无法拆分和破坏文件。当您尝试合并以AAC +编码的文件时,您会丢失它,因为合并文件的工具会再次以错误的编解码器对文件进行编码。

但是我们可以通过命令将大型(> 4gb)wav文件实时压缩为aac

rm audio.fifo; mkfifo audio.fifo; cat test.wav > audio.fifo & neroAacEnc -ignorelength -br 23000 -if audio.fifo -of test.m4a

此文件使用临时fifo文件。

Obus(ogg)也不错,但是这里https://trac.ffmpeg.org/wiki/Encode/HighQualityAudio#Recommendedminimumbitratestouse 他们向我们展示了使用最低比特率的he-aac可获得最佳质量。

PS。我知道从mp3转换为wav到aac并不是很好的方法,但是我的源文件是mp3。

PS2。我知道AAC +中的32kb / s听起来不像mp3 320kb / s,但随便的用户在流媒体中播放预览中的音乐时,他不会听细节,会很高兴。

答案 2 :(得分:-1)

如果找不到更好的解决方案,请考虑.waw和.aac文件易于拆分和合并。