『漫游』酷论坛>『影音数码技术学习交流』>[求助]ac3无法编码为NDA ..

[求助]ac3无法编码为NDAAC-HEPS是啥一回事?

aska@2009-08-06 14:11

第一次遇到, 是音源问题吗? 但HE, LC编码却没问题! :(
引用

a4840639@2009-08-06 14:23

NDAAC-HEPS是啥?我火星了?
AC3又是啥?AFTEN?
有损转有损有意思吗......
引用

264768502@2009-08-06 14:32

AC3么...大多数DVD抽出来就是这个,
HEPS么..就是HE(High-Efficiency即用了SBR技术)+PS(Parametric Stereo)
于是究竟是什么错..至少贴出来看看吧
引用

a4840639@2009-08-06 14:51

引用
最初由 264768502 发布
AC3么...大多数DVD抽出来就是这个,
HEPS么..就是HE(High-Efficiency即用了SBR技术)+PS(Parametric Stereo)
于是究竟是什么错..至少贴出来看看吧

问题是世界上没有哪个编码器叫AC3啊
Parametric Stereo貌似是个新技术,FAAD不支持?
引用

264768502@2009-08-06 15:01

LZ是说把AC3用NERO编码成AAC...没说过AC3编码器...
FAAD是啥? FAAC?
引用

ssnake@2009-08-06 15:11

aften就是一个AC3编码器。

faad是一个开源aac解码器,和faac是一个项目组的。

ac3解到wav再编码试试,顺便LZ你得把问题问清楚- -
引用

a4840639@2009-08-06 15:17

好吧对不起我看反了,没注意那个“为”字......我还以为是AAC TO AC3

汉语真博大精深
引用

aska@2009-08-06 15:18

[Error] Log

-[Error] Log for job204 (audio, VTS_01_1 T80 1_0ch 224Kbps DELAY 0ms.ac3 -> VTS_01_1 T80 1_0ch 224Kbps DELAY 0ms.mp4)
--[Information] [2009-8-6 9:39:06] Started handling job
--[Information] [2009-8-6 9:39:06] Preprocessing
--[NoImage] Avisynth script
---[NoImage] NicAc3Source("E:\aaa\VTS_01_1 T80 1_0ch 224Kbps DELAY 0ms.ac3")
---[NoImage] 6<=Audiochannels(last)?x_stereo8729924f34fd48f2ab77d23cdd8cd58b(ConvertAudioToFloat(last)):last
---[NoImage] Normalize()
---[NoImage] return last
---[NoImage] function x_stereo8729924f34fd48f2ab77d23cdd8cd58b(clip a)
---[NoImage] {
---[NoImage] fl = GetChannel(a, 1)
---[NoImage] fr = GetChannel(a, 2)
---[NoImage] c = GetChannel(a, 3)
---[NoImage] lfe = GetChannel(a, 4)
---[NoImage] sl = GetChannel(a, 5)
---[NoImage] sr = GetChannel(a, 6)
---[NoImage] l_sl = MixAudio(fl, sl, 0.2929, 0.2929)
---[NoImage] c_lfe = MixAudio(lfe, c, 0.2071, 0.2071)
---[NoImage] r_sr = MixAudio(fr, sr, 0.2929, 0.2929)
---[NoImage] l = MixAudio(l_sl, c_lfe, 1.0, 1.0)
---[NoImage] r = MixAudio(r_sr, c_lfe, 1.0, 1.0)
---[NoImage] return MergeChannels(l, r)
---[NoImage] }
--[NoImage] Commandline used: -ignorelength -hev2 -br 48000 -if - -of "{0}"
--[Information] [2009-8-6 9:39:06] Encoding started
--[Information] [2009-8-6 9:39:06] Encode thread started
--[Information] [2009-8-6 9:39:07] Avisynth script environment opened
--[Information] [2009-8-6 9:39:07] Script loaded
--[Information] Output Decoder
---[NoImage] Channels: 1
---[NoImage] Bits per sample: 32
---[NoImage] Sample rate: 48000
--[NoImage] Commandline: C:\MeGUI\tools\neroaacenc\neroAacEnc.exe -ignorelength -hev2 -br 48000 -if - -of "E:\aaa\VTS_01_1 T80 1_0ch 224Kbps DELAY 0ms.mp4"
--[Information] [2009-8-6 9:39:07] Encoder process started
--[Error] An error occurred
---[NoImage] Exception message: 管道已结束。
---[NoImage] Stacktrace
----[NoImage] 在 System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
----[NoImage] 在 System.IO.FileStream.WriteCore(Byte[] buffer, Int32 offset, Int32 count)
----[NoImage] 在 System.IO.FileStream.Write(Byte[] array, Int32 offset, Int32 count)
----[NoImage] 在 MeGUI.AviSynthAudioEncoder.encode()
---[NoImage] Inner exception: null
--[NoImage] Output from encoder via stderr
---[NoImage] *************************************************************
---[NoImage] * *
---[NoImage] * Nero Digital Audio Reference MPEG-4 & 3GPP Audio Encoder *
---[NoImage] * Copyright 2007 Nero AG *
---[NoImage] * All Rights Reserved Worldwide *
---[NoImage] * *
---[NoImage] * Package build date: Aug 6 2007 *
---[NoImage] * Package version: 1.1.34.2 *
---[NoImage] * *
---[NoImage] * See -help for a complete list of available parameters. *
---[NoImage] * *
---[NoImage] *************************************************************
--[NoImage] Output from encoder via stdout: ERROR: Unsupported encoding configuration
--[Information] [2009-8-6 9:39:16] Job completed

又试着将一wmv的音频编码转换成NDAAC-HEPS, 却又没问题.
-[Warning] Log for job205 (audio, [アニメ DVD] 機動戦士ガンダム DVD-BOX版 第01話 「ガンダム大地に立つ!!」 (640x480 WMV9).wmv -> [アニメ DVD] 機動戦士ガンダム DVD-BOX版 第01話 「ガンダム大地に立つ!!」 (640x480 WMV9).mp4)
--[Information] [2009-8-6 9:40:25] Started handling job
--[Information] [2009-8-6 9:40:25] Preprocessing

既然能正常转换成he-aac和lc-aac, 那ac3的音源应该没问题吧.
而wmv里头的音源也可以正常转为heps-aac, 那编码器也应该没问题吧.
引用

a4840639@2009-08-06 16:07

引用
最初由 aska 发布
[Error] Log

-[Error] Log for job204 (audio, VTS_01_1 T80 1_0ch 224Kbps DELAY 0ms.ac3 -> VTS_01_1 T80 1_0ch 224Kbps DELAY 0ms.mp4)
--[Information] [2009-8-6 9:39:06] Started handling job
--[Information] [2009-8-6 9:39:06] Preprocessing
--[NoImage] Avisynth script
---[NoImage] NicAc3Source("E:\aaa\VTS_01_1 T80 1_0ch 224Kbps DELAY 0ms.ac3")
---[NoImage] 6<=Audiochannels(last)?x_stereo8729924f34fd48f2ab77d23cdd8cd58b(ConvertAudioToFloat(last)):last
---[NoImage] Normalize()
---[NoImage] return last
---[NoImage] function x_stereo8729924f34fd48f2ab77d23cdd8cd58b(clip a)
---[NoImage] {
---[NoImage] fl = GetChannel(a, 1)
---[NoImage] fr = GetChannel(a, 2)
---[NoImage] c = GetChannel(a, 3)
---[NoImage] lfe = GetChannel(a, 4)
---[NoImage] sl = GetChannel(a, 5)
---[NoImage] sr = GetChannel(a, 6)
---[NoImage] l_sl = MixAudio(fl, sl, 0.2929, 0.2929)
---[NoImage] c_lfe = MixAudio(lfe, c, 0.2071, 0.2071)
---[NoImage] r_sr = MixAudio(fr, sr, 0.2929, 0.2929)
---[NoImage] l = MixAudio(l_sl, c_lfe, 1.0, 1.0)
---[NoImage] r = MixAudio(r_sr, c_lfe, 1.0, 1.0)
---[NoImage] return MergeChannels(l, r)
---[NoImage] }
--[NoImage] Commandline used: -ignorelength -hev2 -br 48000 -if - -of "{0}"
--[Information] [2009-8-6 9:39:06] Encoding started
--[Information] [2009-8-6 9:39:06] Encode thread started
--[Information] [2009-8-6 9:39:07] Avisynth script environment opened
--[Information] [2009-8-6 9:39:07] Script loaded
--[Information] Output Decoder
---[NoImage] Channels: 1
---[NoImage] Bits per sample: 32
---[NoImage] Sample rate: 48000
--[NoImage] Commandline: C:\MeGUI\tools\neroaacenc\neroAacEnc.exe -ignorelength -hev2 -br 48000 -if - -of "E:\aaa\VTS_01_1 T80 1_0ch 224Kbps DELAY 0ms.mp4"
--[Information] [2009-8-6 9:39:07] Encoder process started
--[Error] An error occurred
---[NoImage] Exception message: 管道已结束。
---[NoImage] Stacktrace
----[NoImage] 在 System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
----[NoImage] 在 System.IO.FileStream.WriteCore(Byte[] buffer, Int32 offset, Int32 count)
----[NoImage] 在 System.IO.FileStream.Write(Byte[] array, Int32 offset, Int32 count)
----[NoImage] 在 MeGUI.AviSynthAudioEncoder.encode()
---[NoImage] Inner exception: null
--[NoImage] Output from encoder via stderr
---[NoImage] *************************************************************
---[NoImage] * *
---[NoImage] * Nero Digital Audio Reference MPEG-4 & 3GPP Audio Encoder *
---[NoImage] * Copyright 2007 Nero AG *
---[NoImage] * All Rights Reserved Worldwide *
---[NoImage] * *
---[NoImage] * Package build date: Aug 6 2007 *
---[NoImage] * Package version: 1.1.34.2 *
---[NoImage] * *
---[NoImage] * See -help for a complete list of available parameters. *
---[NoImage] * *
---[NoImage] *************************************************************
--[NoImage] Output from encoder via stdout: ERROR: Unsupported encoding configuration
--[Information] [2009-8-6 9:39:16] Job completed

又试着将一wmv的音频编码转换成NDAAC-HEPS, 却又没问题.
-[Warning] Log for job205 (audio, [アニメ DVD] 機動戦士ガンダム DVD-BOX版 第01話 「ガンダム大地に立つ!!」 (640x480 WMV9).wmv -> [アニメ DVD] 機動戦士ガンダム DVD-BOX版 第01話 「ガンダム大地に立つ!!」 (640x480 WMV9).mp4)
--[Information] [2009-8-6 9:40:25] Started handling job
--[Information] [2009-8-6 9:40:25] Preprocessing

既然能正常转换成he-aac和lc-aac, 那ac3的音源应该没问题吧.
而wmv里头的音源也可以正常转为heps-aac, 那编码器也应该没问题吧.

你这个输出怎么是单声道,hev2用在单声道上报错了也不奇怪。libavcodec的ac3解码器碰到一些不是很标准的ac3的时候感觉挺容易RP。

我试了下用megui的脚本把忘却录音里头的那条DD5.1 DOWNMIX到2.0并添加定向逻辑做成ABR 48K的HEV2 AAC,毫无问题。
看来FAAD也确实支持HEV2,在播放的时候还显示应用了PS。mediainfo对HEV2支持不好,音频被识别成了LC。
引用

aska@2009-08-06 18:50

VTS_01_1 T80 1_0ch 224Kbps DELAY 0ms.ac3

是说1_0ch吗? 老动画DGIndex出来的基本上都是这样写的, 而且以前压的时候也没有问题.

或者就a4840639你说的, 那应该怎么来解决??:(
引用

aska@2009-08-06 19:22

.\codecs\neroAacEnc.exe -hev2 -br 48000 -if "$(SourceFile)" -of "$(DestFile)"

下了个MediaCoder Audio Edition又可以转换了, 不知道是啥原因(本来就应该可以转换的).

对比了两个命令行, megui的多了个-ignorelength
引用

a4840639@2009-08-06 19:42

引用
最初由 aska 发布
VTS_01_1 T80 1_0ch 224Kbps DELAY 0ms.ac3

是说1_0ch吗? 老动画DGIndex出来的基本上都是这样写的, 而且以前压的时候也没有问题.

或者就a4840639你说的, 那应该怎么来解决??:(

既然是单声道怎么可能和PS共存......
理论上来说把单声道复制成立体声然后用joint stereo也不会在编码效率上吃亏(我见过的单声道片子基本都是这么搞的,因为碰上纯粹意义上的单声道音频解码器很容易RP的)
HEV2用的PS自然更不会吃亏

你用mediacoder没问题可能是因为他已经对声道进行了处理了
引用

roozhou@2009-08-06 19:44

记得别用megui转音频就对了,会遇到各种奇怪的问题

MediaCoder转音频最简单,没有之一。把碟塞进去就行了,什么DGIndex之类统统不要
引用

aska@2009-08-06 20:27

MediaCoder Audio Edition只是个gui吧, 编码的还不一样是neroAacEnc.exe
HD上还留着个同样标1_0ch的ac3文件, 以前可以转,对应出来的mp4音频还留着, 现在一样不行. 可能是系统哪里设置出问题了.

另外MediaCoder Audio Edition真是够方便.
引用

a4840639@2009-08-06 20:31

引用
最初由 aska 发布
MediaCoder Audio Edition只是个gui吧, 编码的还不一样是neroAacEnc.exe
HD上还留着个同样标1_0ch的ac3文件, 以前可以转,对应出来的mp4音频还留着, 现在一样不行. 可能是系统哪里设置出问题了.

另外MediaCoder Audio Edition真是够方便.

肯定会有个source的,neroaac只能输入WAV
你看看你输出的MP4,肯定变立体声了
引用

| TOP