如何将AC3 6ch音频转换为HE-AAC? GUI解决方案?

我想将MKV文件的音轨转换为HE-AAC(AAC + / AACplus)。 音轨是AC3。 但似乎没有HE-AAC编码的GUI? 我只发现有一个来自Nero的命令行工具(CLI),但我不知道这是否可以做HE-AAC。

有帮助吗? 有关可以将AC3转换为HE-AAC的GUI的任何建议吗? 也应该能够处理环绕声(5.1 / 6声道)。

Nero AAC编码器用法

neroAacEnc通过-hev2-hev2参数支持HE-AAC和HE-AAC v2。

这个编码器(仍然?)被认为是最好的编码器质量。 Nero免费提供,但不支持它。 大型文件(如5.1 WAV)遇到的一个问题是文件大小限制。 这不是因为这个编码器是crippleware,而是如何处理程序中的大数字。 要解决此问题,您需要使用另一个程序将输入传递给编码器并使用-ignorelength参数。 如果您输入的格式已经是WAV,则以下内容应该有效:

 cat $myfile | neroAacEnc -q 0.5 -he -ignorelength -if - -of $myencodedfile 

您还可以使用avconv (以前称为ffmpeg ,现在已分叉avconv命名CLI工具)来转换为WAV。

 avconv -i $myfile -f wav - | neroAacEnc -q 0.3 -he -ignorelength -if - -of $myencodedfile 

请注意,生成的文件是MP4容器中具有AAC流的MP4,而不是原始AAC流。 如果需要,可以使用gpac包中的MP4Box提取原始流。

Nero AAC质量设置

质量设置取决于您使用的配置文件。 使用LC-AAC,您可以达到-q 1.0 。 我认为HE-ACC限于-q 0.5 ,HE-AAC v2甚至更低。 这是由于这些配置文件背后的技术以低比特率为中心。 使用-q 0.5将导致文件大于DVD中常见的AC3 6ch音频,使用-q 0.3会将文件大小减半。

对多声道音频的编解码器和质量选择的建议

这种情况(仍然?)非常混乱,这就是为什么没有像Handbrake这样易于使用的GUI。 最有效的编解码器是HE-AAC v2,但由于某些国家/地区的许可/专利问题,它在Ubuntu中得不到很好的支持。 Vorbis也很好,但效率较低。 多通道映射应该在最新的LTS版本中修复(12.04,它不是在10.04)。 放弃MP3,AC3排在第三位。 FLAC在效率和支持最多的无损格式方面排名第四。 DTS是一个完整的宽松,也应该被排除在外,就像MP3一样。 如果可以,转换为FLAC。

因此,如果您有AC3编码的音频,如果设备和容器格式支持,您可能会将其保留。 Android上支持的媒体格式图表可能会有所帮助。

附录:neroAacEnc帮助文件

 Usage: neroAacEnc [options] -if  -of  Where:  : Path to source file to encode. The file must be in Microsoft WAV format and contain PCM data. Specify - to encode from stdin. Note that multiple input files can be specified, they will be encoded together into a single output file with chapter marks indicating source file divisions.  : Path to output file to encode to, in MP4 format. ==== Available options: ==== Quality/bitrate control: -q  : Enables "target quality" mode.  is a floating-point number in 0...1 range. -br  : Specifies "target bitrate" mode.  is target bitrate in bits per second. -cbr  : Specifies "target bitrate (streaming)" mode.  is target bitrate in bits per second. When neither of above quality/bitrate options is used, the encoder defaults to equivalent of -q 0.5 Multipass encoding: -2pass : Enables two-pass encoding mode. Note that two-pass more requires a physical file as input, rather than stdin. -2passperiod : Overrides two-pass encoding bitrate averaging period,  : in milliseconds. : Specify zero to use least restrictive value possible (default). Advanced features / troubleshooting: -lc : Forces use of LC AAC profile (HE features disabled). -he : Forces use of HE AAC profile (HEv2 features disabled). -hev2 : Forces use of HEv2 AAC profile Note that the above switches (-lc, -he, -hev2) should not be used; optimal AAC profile is automatically determined from quality/bitrate settings when no override is specified. -ignorelength : Ignores length signaled by WAV headers of input file. Useful for certain frontends using stdin. 
Interesting Posts