View Full Version : eac3to - audio conversion tool
fkid
27th October 2023, 20:15
Who is best to report a regression bug to in latest version of eac3to v3.36, that doesn't happen in v3.34? Cannot demux file with .hevc video track, from either .m2ts or .mkv container. Here is example .log with error: Error Demux M2TS (v2.29.0)
Demux M2TS returned exit code: 1 (0x1)
----------------------------- Demux M2TS -----------------------------
eac3to 3.36
C:\StaxRip-v2.29.0-x64\Apps\Audio\eac3to\eac3to.exe D:\eac3to-bug-sample.m2ts 1: D:\eac3to-bug-sample.h265 2: "D:\eac3to-bug-sample ID1.dtsma" -progressnumbers
M2TS, 1 video track, 1 audio track, 0:00:16, 24p /1.001
1: h265/HEVC, 2160p24 /1.001 (16:9), 10 bits
2: DTS Master Audio, 5.1 channels, 24 bits, 48kHz, -1006ms
(core: DTS, 5.1 channels, 1509kbps, 48kHz)
This video conversion is not supported.
StaxRip.ErrorAbortException: Demux M2TS returned exit code: 1 (0x1)
----------------------------- Demux M2TS -----------------------------
eac3to 3.36
C:\StaxRip-v2.29.0-x64\Apps\Audio\eac3to\eac3to.exe D:\eac3to-bug-sample.m2ts 1: D:\eac3to-bug-sample.h265 2: "D:\eac3to-bug-sample ID1.dtsma" -progressnumbers
M2TS, 1 video track, 1 audio track, 0:00:16, 24p /1.001
1: h265/HEVC, 2160p24 /1.001 (16:9), 10 bits
2: DTS Master Audio, 5.1 channels, 24 bits, 48kHz, -1006ms
(core: DTS, 5.1 channels, 1509kbps, 48kHz)
This video conversion is not supported.
2nd example .log using latest eac3to v3.36 / UsEac3to133 portable: eac3to v3.36
command line: "D:\UsEac3to133\eac3to.exe" "D:\eac3to-bug-sample.mkv" "D:\eac3to-bug-sample.mkv_.*" -progressnumbers -log="D:\UsEac3to133\UsEac3To.log"
------------------------------------------------------------------------------
MKV, 1 video track, 1 audio track, 0:00:15, 24p /1.001
1: h265/HEVC, English, 2160p24 /1.001 (16:9), 10 bits
2: DTS Master Audio, English, 5.1 channels, 24 bits, 48kHz, 7ms
(core: DTS, 5.1 channels, 768kbps, 48kHz)
"DTS-HD Master Audio 5.1 Surround"
This video conversion is not supported. <ERROR>
Easy to re-produce with sample files here, working okay in v3.34 and not in v3.36: https://we.tl/t-pgZ4eMZgXW
Cheers!
tebasuna51
28th October 2023, 11:54
Who is best to report a regression bug to in latest version of eac3to v3.36, that doesn't happen in v3.34? Cannot demux file with .hevc video track, from either .m2ts or .mkv container.
It is a know problem but eac3to is abandoned and we can't expect new versions.
Use v3.34, ffmpeg or MkvToolNix
SeeMoreDigital
28th October 2023, 12:43
It is a know problem but eac3to is abandoned and we can't expect new versions...Great shame...
richardpl
28th October 2023, 13:08
Great shame that nobody wants to donate for cause of 7.1 encoder in libavcodec.
hubblec4
28th October 2023, 18:47
Hello all
and a mega big thanks to madshi.
madshi has shared his eac3to code with the DG-Team and now there is a new eac3to_mod 3.37 version available.
https://www.rationalqm.us/board/viewtopic.php?f=5&t=1274
meemeemee
28th October 2023, 21:04
Hello all
and a mega big thanks to madshi.
madshi has shared his eac3to code with the DG-Team and now there is a new eac3to_mod 3.37 version available.
https://www.rationalqm.us/board/viewtopic.php?f=5&t=1274
Excellent news! So glad this wonderful tool keeps to be developed.
fkid
29th October 2023, 02:49
Hello all
and a mega big thanks to madshi.
madshi has shared his eac3to code with the DG-Team and now there is a new eac3to_mod 3.37 version available.
https://www.rationalqm.us/board/viewtopic.php?f=5&t=1274
Wonderful news! Thank you kindly.
seagate
29th October 2023, 07:58
Hello all
and a mega big thanks to madshi.
madshi has shared his eac3to code with the DG-Team and now there is a new eac3to_mod 3.37 version available.
https://www.rationalqm.us/board/viewtopic.php?f=5&t=1274
Hello
Thanks for sharing the information. I saw that you have a registration on the other site. Can you help me register on the other site?
What are the first 6 letters of association? This question is a means of preventing automated form submissions by spambots. What is the correct answer? Thanks.
https://i.postimg.cc/XYc0J4rk/66.png
tebasuna51
29th October 2023, 11:02
Maybe 'associ'
tebasuna51
29th October 2023, 15:04
I tested the mod 3.37 version about:
* The crash when processing EAC3 audio when removing dialnorm is fixed.
The 3.36 crash was only over EAC3 from BD's (with AC3 core), over eac3 with EAC3 core like created with Audition 2017 the 3.36 work fine.
Now the 3.37 work also with eac3 from BD's
But still decode all like 5.1 (the core AC3 or EAC3) ignoring the depending frames with the extra channels, maybe with updated libav dll's... (ffmpeg can't create 7.1 eac3 but decode it fine)
Thunderbolt8
29th October 2023, 20:58
thanks madshi for letting others continue to work on eac3to!
DanDare1983
31st October 2023, 17:11
I tested the mod 3.37 version about:
* The crash when processing EAC3 audio when removing dialnorm is fixed.
The 3.36 crash was only over EAC3 from BD's (with AC3 core), over eac3 with EAC3 core like created with Audition 2017 the 3.36 work fine.
Now the 3.37 work also with eac3 from BD's
But still decode all like 5.1 (the core AC3 or EAC3) ignoring the depending frames with the extra channels, maybe with updated libav dll's... (ffmpeg can't create 7.1 eac3 but decode it fine)
Hi,
I'm very pleased that eac3to is continuing to be developed, it's fantastic news. I need to ask three questions. When adding 3.37 would I have to remove 3.36? Will this work OK with your eac3to gui and thirdly do you know a way how I can continually keep dialnorm?
tebasuna51
31st October 2023, 23:38
Yes, yes, and to keep dialnorm you must use -keepDialnorm
szabi
17th November 2023, 20:43
Hi
Does this new "eac3to_mod_3.39_test" work properly over "UsEac3to v1.3.3"?
Regards
szabi
eac3to_mod
17th November 2023, 20:55
The current test release is eac3to_mod_3.40_test. It should be fine with the GUIs. You may have to rename it to eac3to.exe.
https://rationalqm.us/misc/eac3to_mod_3.40_test.rar
3.40_test fixes subtitle sync for bluray/UHD.
To avoid re-encoding, never give a .thd+ac3 extension directly. Let eac3to_mod decide when to merge. When it does it uses thdmerge.exe and does not re-encode.
There is one exception to that. If you have only a THD file and want to make a .thd+ac3 out of it, then you can say, e.g., eac3to_mod in.thd out.thd+ac3
When we make a non-test release we will provide proper documentation.
Hat tip madshi and tebasuna51 for help in development.
regards,
Curly
j7n
18th November 2023, 05:07
There appears to be a counter-intuitive behavior. If I try to extract the AC3 core of an EC3 stream, I need to name the output with an .ec3 extension (even though the core is .ac3), otherwise it will transparently transcode with Aften incurring a loss of quality. This is lightning fast and might not be noticed. Shouldn't I get the core if I supply the -core parameter, or error if no core is possible?
t:\working>eac3to.exe waba_bdcore.ec3 waba_core.ac3 -core -keepDialnorm
Running in normal mode
Keeping dialnorm
E-AC3, 7.1 channels, 0:03:08, 1024kbps, 48kHz, dialnorm: -24dB
(core: AC3, 5.1 channels, 0:03:08, 576kbps, 48kHz, dialnorm: -24dB)
Extracting E-AC3 core...
Decoding with libav/ffmpeg...
Remapping channels...
Encoding AC3 <640kbps> with libAften...
Creating file "waba_core.ac3"...
eac3to processing took 4 seconds.
Done.
tebasuna51
18th November 2023, 11:25
@eac3to_mod Welcome to the Doom9 forum Curly
@j7n, the -core parameter still don't work with eac3to, maybe can be included because is really easy.
A eac3 stream can have core or not (like created by ffmpeg), if exist can be an AC3 or a EAC3.
If you see this post (https://forum.doom9.org/showthread.php?p=1991487#post1991487) I explain the 3 eac3 frame types:
0 Independents (eac3 core until 5.1)
1 Dependents (to store extra channels, bitrate)
2 AC3 (ac3 core until 5.1)
Your sample have frames type 1 and 2 needed to be BD compliant, the sample in my post have frames 0 and 1 (like created by Audition 2017 for instance)
Extract the core (5.1) is delete the 1 frames in both streams in your sample you let the core AC3 in my sample you let the core EAC3 5.1.
With ffmpeg:
ffmpeg -i waba_bdcore.ec3 -bsf:a eac3_core -c:a copy waba_core.ac3
eac3to_mod
18th November 2023, 14:01
Thank you for the kind welcome!
the -core parameter still don't work with eac3 audio Thank you for the information and link. I have added it to our to-do list.
SeeMoreDigital
18th November 2023, 15:34
It's great to see this project is still alive. Many thanks to all involved :)
j7n
18th November 2023, 18:04
Eac3to works and yields bit-exact output to ffmpeg if -keepDialnorm is supplied. (I prefer to use smaller applications.) It's just that the extension is wrong. In blu-ray disk encoding mode the core is standard, and in native mode it is e-ac-3, and both can be extracted. I think it should extract with whatever extension was supplied, if requested by -core. In a simple gui frontend, you can't do detection beforehand.
I produced these samples with the official encoder. I'm puzzled by the bitrate choices. Is 448 kbit/s given to the two extra surround channels alone?
Bandits
20th November 2023, 10:02
To avoid re-encoding, never give a .thd+ac3 extension directly.
Curly
eac3to.exe only re-encodes thd+ac3 when processing a branched playlist disc. There were never issues with processing thd+ac3 from a single m2ts playlist, only when it was a multi m2ts playlist. We've been using eac3to.exe for years with no issues on non-branched thd+ac3 m2ts. Output was always bit identical to tsMuxeR. It was understood not to use on branched thd+ac3 discs so to avoid re-encoding, but was perfectly fine for single m2ts discs.
fkid
21st November 2023, 00:29
Let's keep the discussion productive. Anyone who isn't interested in further development of eac3to through _mod (and eventually just eac3to), can just ignore it completely and use older versions, as you were for a while now. Kindly note, madshi is supporting and approving of the continued work. Let's be mature and respectful. Cheers! :)
Bandits
21st November 2023, 10:06
It is easy to verify the statements:
Start with 2 elementary streams. (I used a 5:13 source)
Video AVC h264 [MD5 36885dce3962c331ccacfdc226886d69]
Audio THD with embedded AC3 (Blu-Ray compliant)[MD5 9f2896096c5a107633d5eff8b8fdb83f]
Mux both streams into a Blu-Ray folder 2 differant ways:
00000.mpls, 00000.m2ts (Single m2ts)
00000.mpls, 00000.m2ts-00001.m2ts-00002.m2ts-00003.m2ts-00004.m2ts-00005.m2ts (Multi m2ts split at 1 minute)
Expectation is new output streams match original input streams.
tsMuxeR - Matched both Single and Multi
eac3to 3.34 - Matched Single (No re-encoding) and failed Multi (Expected due to re-encoding)
eac3to_mod 3.40 - Matched Single (No re-encoding) and failed Multi (Expected due to re-encoding) using old way (thd+ac3) and failed both using new way (thd and ac3 - thdmerge.exe). thdmerge.exe does something with the new file because repeating the mux/demux with the thdmerge.exe thd+ac3 file results in a match with itself but never the original.
tsMuxeR.exe 00000.mpls both single and multi m2ts.
Output files:
Video.h264 [MD5 36885dce3962c331ccacfdc226886d69] Match
Audio.thd+ac3 [MD5 9f2896096c5a107633d5eff8b8fdb83f] Match
eac3to.exe 3.34 00000.mpls single m2ts (Used eac3to.exe 3.34 because it can handle small playlists with -minPlayListRuntime=0:00:00).
Output files:
Video.h264 [MD5 36885dce3962c331ccacfdc226886d69] Match
Audio.thd+ac3 [MD5 9f2896096c5a107633d5eff8b8fdb83f] Match
No encoding.
eac3to v3.34
command line: eac3to.exe ".\1" 1) 1: ".\Video.h264" 2: ".\Audio.thd+ac3" -minPlayListRuntime=0:00:00
------------------------------------------------------------------------------
M2TS, 1 video track, 1 audio track, 0:05:13, 24p /1.001
1: h264/AVC, 1080p24 /1.001 (16:9)
2: TrueHD/AC3, English, 5.1 channels, 48kHz
(embedded: AC3 EX, 5.1 channels, 640kbps, 48kHz)
[a02] Extracting audio track number 2...
[v01] Extracting video track number 1...
[v01] Creating file ".\Video.h264"...
[a02] Creating file ".\Audio.thd+ac3"...
Video track 1 contains 7501 frames.
eac3to processing took 2 seconds.
Done.
eac3to.exe 3.34 00000.mpls multi m2ts (Used eac3to.exe 3.34 because it can handle small playlists with -minPlayListRuntime=0:00:00).
Output files:
Video.h264 [MD5 36885dce3962c331ccacfdc226886d69] Match
Audio.thd+ac3 [MD5 4431c97c24903f2b7866b88e818e6b79] Fail
Shows encoding. (Known Issue)
eac3to v3.34
command line: eac3to.exe ".\2" 1) 1: ".\Video.h264" 2: ".\Audio.thd+ac3" -minPlayListRuntime=0:00:00
------------------------------------------------------------------------------
M2TS, 1 video track, 1 audio track, 0:05:13, 24p /1.001
1: h264/AVC, 1080p24 /1.001 (16:9)
2: TrueHD/AC3, English, 5.1 channels, 48kHz
(embedded: AC3 EX, 5.1 channels, 640kbps, 48kHz)
[v01] Extracting video track number 1...
[a02] Extracting audio track number 2...
[a02] Extracting audio track number 2...
[a02] Extracting TrueHD stream...
[a02] Extracting TrueHD stream...
[a02] Decoding with libav/ffmpeg...
[a02] Remapping channels...
[a02] Encoding AC3 <640kbps> with libAften...
[v01] Creating file ".\Video.h264"...
[a02] Creating file ".\Audio.thd+ac3"...
[a02] The original audio track has a constant bit depth of 20 bits.
Video track 1 contains 7501 frames.
eac3to processing took 6 seconds.
Done.
eac3to_mod.exe 3.40 00000.mpls single m2ts (old way).
Output files:
Video.h264 [MD5 36885dce3962c331ccacfdc226886d69] Match
Audio.thd+ac3 [MD5 9f2896096c5a107633d5eff8b8fdb83f] Match
No encoding.
eac3to v3.40
command line: eac3to_mod.exe ".\1" 1) 1: ".\Video.h264" 2: ".\Audio.thd+ac3" -keepdialnorm
------------------------------------------------------------------------------
Running in normal mode
Keeping dialnorm
M2TS, 1 video track, 1 audio track, 0:05:13, 24p /1.001
1: h264/AVC, 1080p24 /1.001 (16:9)
2: TrueHD/AC3, English, 5.1 channels, 48kHz, dialnorm: -31dB
(embedded: AC3 EX, 5.1 channels, 640kbps, 48kHz, dialnorm: -31dB)
[v01] Extracting video track number 1...
[a02] Extracting audio track number 2...
[v01] Creating file ".\Video.h264"...
[a02] Creating file ".\Audio.thd+ac3"...
Video track 1 contains 7501 frames.
eac3to processing took 2 seconds.
Done.
eac3to_mod.exe 3.40 00000.mpls multi m2ts (old way).
Output files:
Video.h264 [MD5 36885dce3962c331ccacfdc226886d69] Match
Audio.thd+ac3 [MD5 6a164d5f2601cb72a92b214c33e49426] Fail
Shows encoding. (Known Issue)
eac3to v3.40
command line: eac3to_mod.exe ".\2" 1) 1: ".\Video.h264" 2: ".\Audio.thd+ac3" -keepdialnorm
------------------------------------------------------------------------------
Running in normal mode
Keeping dialnorm
M2TS, 1 video track, 1 audio track, 0:05:13, 24p /1.001
1: h264/AVC, 1080p24 /1.001 (16:9)
2: TrueHD/AC3, English, 5.1 channels, 48kHz, dialnorm: -31dB
(embedded: AC3 EX, 5.1 channels, 640kbps, 48kHz, dialnorm: -31dB)
[v01] Extracting video track number 1...
[a02] Extracting audio track number 2...
[a02] Extracting audio track number 2...
[a02] Extracting TrueHD stream...
[a02] Extracting TrueHD stream...
[a02] Decoding with libav/ffmpeg...
[a02] Remapping channels...
[a02] Encoding AC3 <640kbps> with libAften...
[v01] Creating file ".\Video.h264"...
[a02] Creating file ".\Audio.thd+ac3"...
[a02] [libav] Lossless check failed - expected 00, calculated b4. <WARNING>
[a02] [libav] Lossless check failed - expected 00, calculated e0. <WARNING>
[a02] [libav] Lossless check failed - expected 00, calculated 20. <WARNING>
[a02] [libav] Lossless check failed - expected 00, calculated 3e. <WARNING>
[a02] [libav] Lossless check failed - expected 00, calculated 8c. <WARNING>
[a02] [libav] Lossless check failed - expected 00, calculated de. <WARNING>
[a02] [libav] Lossless check failed - expected 00, calculated ed. <WARNING>
[a02] [libav] Lossless check failed - expected 00, calculated 4e. <WARNING>
[a02] [libav] Lossless check failed - expected 00, calculated 2e. <WARNING>
[a02] The original audio track has a constant bit depth of 20 bits.
Video track 1 contains 7501 frames.
eac3to processing took 7 seconds.
Done.
eac3to_mod.exe 3.40 00000.mpls single m2ts (new way - thdmerge.exe).
Output files:
Video.h264 [MD5 36885dce3962c331ccacfdc226886d69] Match
Audio.thd+ac3 [MD5 0e2468131279ed21b0a7c0fe88b9d36e] Fail
eac3to v3.40
command line: eac3to_mod.exe ".\1" 1) 1: ".\Video.h264" 2: ".\Audio.thd" 2: ".\Audio.ac3" -keepdialnorm
------------------------------------------------------------------------------
Running in normal mode
Keeping dialnorm
M2TS, 1 video track, 1 audio track, 0:05:13, 24p /1.001
1: h264/AVC, 1080p24 /1.001 (16:9)
2: TrueHD/AC3, English, 5.1 channels, 48kHz, dialnorm: -31dB
(embedded: AC3 EX, 5.1 channels, 640kbps, 48kHz, dialnorm: -31dB)
[v01] Extracting video track number 1...
[a02] Extracting audio track number 2...
[a02] Extracting audio track number 2...
[a02] Extracting AC3 stream...
[a02] Extracting TrueHD stream...
[v01] Creating file ".\Video.h264"...
[a02] Creating file ".\Audio.thd"...
[a02] Creating file ".\Audio.ac3"...
Video track 1 contains 7501 frames.
eac3to processing took 2 seconds.
Merging THD and AC3 for ".\Audio".
Done.
eac3to_mod.exe 3.40 00000.mpls multi m2ts (new way - thdmerge.exe).
Output files:
Video.h264 [MD5 36885dce3962c331ccacfdc226886d69] Match
Audio.thd+ac3 [MD5 0e2468131279ed21b0a7c0fe88b9d36e] Fail
eac3to v3.40
command line: eac3to_mod.exe ".\2" 1) 1: ".\Video.h264" 2: ".\Audio.thd" 2: ".\Audio.ac3" -keepdialnorm
------------------------------------------------------------------------------
Running in normal mode
Keeping dialnorm
M2TS, 1 video track, 1 audio track, 0:05:13, 24p /1.001
1: h264/AVC, 1080p24 /1.001 (16:9)
2: TrueHD/AC3, English, 5.1 channels, 48kHz, dialnorm: -31dB
(embedded: AC3 EX, 5.1 channels, 640kbps, 48kHz, dialnorm: -31dB)
[a02] Extracting audio track number 2...
[v01] Extracting video track number 1...
[a02] Extracting audio track number 2...
[a02] Extracting AC3 stream...
[a02] Extracting TrueHD stream...
[v01] Creating file ".\Video.h264"...
[a02] Creating file ".\Audio.thd"...
[a02] Creating file ".\Audio.ac3"...
Video track 1 contains 7501 frames.
eac3to processing took 2 seconds.
Merging THD and AC3 for ".\Audio".
Done.
eac3to_mod
21st November 2023, 12:39
My point was that it makes no sense to expect users to base their processing on whether or not the disk has a single or multiple M2TSs. It's much more sensible and easy to follow the general rule "don't use .thd+ac3 extensions". But hey, do whatever you like.
The match failure for the .thd+ac3 files is due to minor and inconsequential differences in the interleaving.
Curly
eac3to_mod
26th November 2023, 14:03
Please have a look at the latest mod version:
https://rationalqm.us/misc/eac3to_mod_3.40.rar
Its ready for prime time now based on user testing. Thank you for any feedback.
Curly
tebasuna51
26th November 2023, 17:14
Thanks Curly. I check some audio improvements about EAC3 tracks, seems fine.
In my audio TODO list there are:
- Extract the core AC3 from EAC3-BD
- Decode EAC3 7.1
- Decode AAC...
j7n
26th November 2023, 17:35
He can already do the core, at least if you give a demuxed combined stream as the input, not an m2ts.
eac3to withcore.ec3 outcore.ec3 -core -keepDialnorm
What I would like to see is error reporting on AC-3 while transcoding. Currently corrupt frames are silently skipped, and the output is shorter. If eac3to can do this already, I don't know the parameter. I tried -check.
Barough
26th November 2023, 17:39
@eac3to_mod Will the plugins (*.dll's) be updated with the new official release or?
eac3to_mod
26th November 2023, 19:33
@j7n
Run in normal mode to get CRC checks enabled. Do that by either giving the -normal option, or by not having -fast in your INI file. If neither of those helps, a sample would be appreciated.
@Barough
Eventually. The libFlac.dll was updated so far. Hat tip skull.
@tebasuna51
Thank you for your testing and to-do's.
Curly
tebasuna51
26th November 2023, 22:07
He can already do the core, at least if you give a demuxed combined stream as the input, not an m2ts.
Over a standard EAC3 (with EAC3 core)
eac3to v3.40
eac3to 8v341_ST.eac3 8v341_ST_.eac3 -core
------------------------------------------------------------------------------
E-AC3 EX, 7.1 channels, 0:00:16, 448kbps, 48kHz, dialnorm: -31dB
(core: E-AC3 EX, 5.1 channels, 0:00:16, 269kbps, 48kHz, dialnorm: -31dB)
Extracting E-AC3 core...
Skipping E-AC3 dialog normalization (already at -31 dB)...
Creating file 8v341_ST_.eac3...
eac3to processing took 1 second.
Done.
Over a EAC3 from BD with AC3 core (with -keepDialnorm or not)
eac3to v3.40
eac3to 8v341_BD.eac3 8v341_BD_.ac3 -core -keepDialnorm
------------------------------------------------------------------------------
E-AC3 EX, 7.1 channels, 0:00:16, 768kbps, 48kHz, dialnorm: -31dB
(core: AC3 EX, 5.1 channels, 0:00:16, 448kbps, 48kHz, dialnorm: -31dB)
Extracting E-AC3 core...
Decoding with libav/ffmpeg...
Remapping channels...
Encoding AC3 <640kbps> with libAften...
Creating file 8v341_BD_.ac3...
eac3to_mod
26th November 2023, 22:50
So neither one really extracts the core AC3. Is that right?
What about eac3to 8v341_ST.eac3 8v341_ST_.ac3 -core
What syntax is supposed to work?
SeeMoreDigital
26th November 2023, 22:55
So neither one really extracts the core AC3. Is that right?
What about eac3to 8v341_ST.eac3 8v341_ST_.ac3 -core
What syntax is supposed to work?I wonder how TSmuxerGUI extracts the core?
tebasuna51
26th November 2023, 23:28
@j7n
Run in normal mode to get CRC checks enabled. Do that by either giving the -normal option, or by not having -fast in your INI file. If neither of those helps, a sample would be appreciated.
I encode an AC3 and after I cut it in 2 points with WinHex.
With my tool LeeAudBi I detect the two points like incomplete frames:
File: 2wbad.ac3
Size: 229947 bytes
----------------------------------------- First Frame Info
SampleRate ..................: 0 (48000 Hz)
BitRate .....................: 10 (192 Kb/s)
FrameSize....................: 768 bytes
Version (bsid) ..............: 6 (Alternate sintax)
Bit Stream mode (bsmod) .....: 0 (main audio service: complete main, CM)
Audio coding mode (acmod) ...: 2 (2/0 - L, R)
Dolby Surround Mode .........: 0 (not indicated)
Low frequency effects channel: 0 (Not present)
Dialogue normalization ......: -27 dB
RF atenuattion ..............: -0.27 dB
...
-------------------- Detected errors -----------------------
Frame SR BR PB BS BM CH LF DN DyRaCo Bytes Before Header
--------- -- -- -- -- -- -- -- -- ------ -------------------
87 0 10 0 6 0 2 0 27 -4.08 606
234 0 10 0 6 0 2 0 27 11.77 477
----------------------------------------- Revised AC3 Info
RF Ov. Pr. min/max : -6.29/11.48 dB
Dyn. Range min/max : -4.08/11.91 dB
Total Frames ......: 298
Duration ..........: 9536 ms (0 h. 0 m. 9.536 s.)
------------------------------------------------- End Info
ffmpeg show 2 errors decoding it:
[ac3 @ 000002a171153180] new bit allocation info must be present in block 0
[ac3 @ 000002a171153180] error decoding the audio block
[aist#0:0/ac3 @ 000002a171152fc0] Error submitting packet to decoder: Error number -16976906 occurred
[ac3 @ 000002a171153180] exponent -2 is out-of-range
[ac3 @ 000002a171153180] error decoding the audio block
[aist#0:0/ac3 @ 000002a171152fc0] Error submitting packet to decoder: Error number -16976906 occurred
With eac3to (normal mode, Removing dialnorm) I obtain a new AC3 without errors (bad frames deleted) but without any message.
Decoding the bad ac3 don't show nothing.
Sample attached
tebasuna51
26th November 2023, 23:59
So neither one really extracts the core AC3. Is that right?
What about eac3to 8v341_ST.eac3 8v341_ST_.ac3 -core
What syntax is supposed to work?
From eac3 standard we can't extract an AC3 core because does not exist, if we want an AC3 must be recoding the EAC3.
But from eac3 bluray we can obtain the AC3 core with the same method than extract the core 5.1 eac3 from the eac3 standard: deleting the Dependent Frames
I encode a file 7.1 with Dolby Encoder Engine to eac3 in mode standard and bluray and I obtain:
File: 8v341_ST.ec3
Frames EAC3_5.1 : 506
Frames Dependents: 506 (for extrachannels/bitrate)
Frames AC3_5.1 : 0
------------------------
File: 8v341_BD.ec3
Frames EAC3_5.1 : 0
Frames Dependents: 506 (for extrachannels/bitrate)
Frames AC3_5.1 : 506
Deleting the Dependents frames we can obtain the core EAC3 5.1 or AC3 5.1
To obtain an AC3 from EAC3_ST we need recode.
tebasuna51
27th November 2023, 00:23
I wonder how TSmuxerGUI extracts the core?
Only from eac3_BD, from eac3_ST show: core 0 Kb/s
And extract 0 bytes.
j7n
27th November 2023, 04:20
Can you link me to the last version of LeeAudBi? That is a useful tool to have. It's awesome that it gives the position in the file that can be further examined. I once had two ac3 improperly joined, and spent a long time hunting down the splice point.
To extract the core, you need to give the output an ec3 extension, and rename to ac3 later if needed. It correctly copies every other 0b77 packet into the output. E-AC-3 also has a "core" in EC-3 format. It has one packet with 5.1 followed by another packet of 4 channels, etc., which you can see in MediaInfo advanced or detailed mode. One could use this to reduce the bitrate by almost a half.
The synthax that is supposed to work is that gives the core regardless of the output name if the user asks for -core .
-normal parameter? I don't have an ini file. I'd assume it is running in normal mode by default. DTS does report useful errors from libdca.
t:\working>eac3to
eac3to_mod v3.40, freeware by madshi.net, assisted by DG Tools (rationalqm.us)
t:\working>eac3to acorrupted.ac3 aee.ac3 -640 -normal
Command line parameter "normal" is unknown.
richardpl
27th November 2023, 09:55
Do not use this tool. Use ffmpeg.
SeeMoreDigital
27th November 2023, 11:03
Only from eac3_BD, from eac3_ST show: core 0 Kb/s
And extract 0 bytes.Damn it... I'm sure I've got a couple of 4K UHD discs with some Dolby Digital Plus audio on them. But all my discs are currently boxed away!
tebasuna51
27th November 2023, 12:10
Can you link me to the last version of LeeAudBi?
It is in the FAQ:
https://forum.doom9.org/showthread.php?p=424067#post424067
To extract the core, you need to give the output an ec3 extension, and rename to ac3 later if needed.
Yes, I say is easy without need lie to eac3to.
If you see the log eac3to extract the core, already AC3, and after recode it to AC3 with libaften, just need rename it to .ac3.
Please never use libAften to recode to AC3 (https://forum.doom9.org/showthread.php?p=1794293#post1794293), use ffmpeg instead.
Maybe inside eac3to if libav can be used.
-normal parameter? I don't have an ini file.
I also work now without ini file, but I like the -progressnumbers new, for me can be the default.
Dam it... I'm sure I've got a couple of 4K UHD discs with some Dolby Digital Plus audio on them. But all my discs are currently boxed away!
Of course, if your sources are from BD/UHD, the DD+ have AC3 core.
Try with eac3 created with Audition or DEE/TotalCode option standard.
The AC3 core is required for compatibility in BD/UHD specs, but need more bitrate for the same quality because the AC3 encoder is less efficient than EAC3.
For that many TV shows, and other formats, use EAC3 standard without AC3 core. Now EAC3 become the standard and many devices support it without need the AC3 core.
eac3to_mod
27th November 2023, 13:03
t:\working>eac3to acorrupted.ac3 aee.ac3 -640 -normal
Command line parameter "normal" is unknown. Swap -640 and -normal and it works. That tells you a lot about eac3to CL parsing. It is complicated and abstruse. I will fix it.
Regarding error detection I'll use tebasuna51's sample to try to figure out what is going on. Many changes were required to get correct sync for audio and subtitles from bluray/UHD. Perhaps there was a side effect.
eac3to_mod
27th November 2023, 13:05
I also work now without ini file, but I like the -progressnumbers new, for me can be the default. Make an INI file containing just:
-progressnumbers
eac3to_mod
27th November 2023, 14:15
Guys, please re-download and test. I restored some warnings that were disabled as a side effect. I also fixed the handling of the -fast and -normal options.
https://rationalqm.us/eac3to_mod/eac3to_mod_3.40.rar
With tebasuna51's sample, eac3to_mod now gives the same warning as eac3to 3.36:
"This track is not clean."
If there are other warnings you think are missing please let me know.
tebasuna51
27th November 2023, 14:48
Thanks Curly, and yes I use now a .ini with only -progressnumbers
eac3to_mod
27th November 2023, 17:23
@tebasuna51
I verified that this command extracts the AC3 core:
eac3to_mod in.eac3 out.ec3 -core
So, are you just asking me to fix things so that this would work:
eac3to_mode in.eac3 out.ac3 -core
That is, we shouldn't have to lie about the extension and then there's no need to rename anything.
tebasuna51
27th November 2023, 21:35
Sorry but I have your last version and:
eac3to v3.40
command line: eac3to.exe 8v341_BD.eac3 8v341_BD.ac3 -core
------------------------------------------------------------------------------
Running in normal mode
Removing dialnorm
E-AC3 EX, 7.1 channels, 0:00:16, 768kbps, 48kHz, dialnorm: -31dB
(core: AC3 EX, 5.1 channels, 0:00:16, 448kbps, 48kHz, dialnorm: -31dB)
Extracting E-AC3 core...
Removing E-AC3 & Core dialog normalization...
Decoding with libav/ffmpeg...
Remapping channels...
Encoding AC3 <640kbps> with libAften...
Creating file 8v341_BD.ac3"...
eac3to processing took 1 second.
Done.
And the output is 640kbps when the AC3 core is 448kbps
eac3to_mod
27th November 2023, 21:46
I didn't say that was implemented! Not sure why we are not communicating (could be a language issue). Can you please read my post again carefully and try to answer it? Thank you.
When I mentioned lying it wasn't to say you were lying but rather that we have to lie to eac3to, as you previously noted:
"Yes, I say is easy without need lie to eac3to."
j7n
28th November 2023, 04:37
Thank you for ReadAudB.exe. If I don't break sync (just type over random bytes), it detects nothing wrong. Does it check both checksums?
I confirm that eac3to reports "This track is not clean." It's an improvement.
tebasuna51
28th November 2023, 12:06
I didn't say that was implemented! Not sure why we are not communicating (could be a language issue). Can you please read my post again carefully and try to answer it? Thank you.
Yes, was a language issue like you say.
And yes when detect the -core parameter and detect AC3 core don't recode it.
Without the -core parameter we can convert it to another bitrate.
Thank you for ReadAudB.exe. If I don't break sync (just type over random bytes), it detects nothing wrong. Does it check both checksums?
Nope, that tool don't read the checksums values.
Only if frames are completes, the problem more frequent in TV captures.
To do that check, overwrite bytes than broke checksums, there are a old tool DelayCut with some options about CRC.
I use a old version 1.3 from madshi (https://forum.doom9.org/showthread.php?p=1044001#post1044001) but last one (https://www.videohelp.com/software/delaycut) I supose do the same about that.
eac3to_mod
28th November 2023, 14:53
Yes, was a language issue like you say.
And yes when detect the -core parameter and detect AC3 core don't recode it.
Without the -core parameter we can convert it to another bitrate. Glad we got that sorted out. ;)
I have it fixed to operate this way. A 3.41_test version is available here with the fix:
https://rationalqm.us/eac3to_mod/eac3to_mod_3.41_test.rar
D:\Don\Programming\Delphi\EAC3TO Mod>eac3to_mod in.eac3 out.ac3 -core
Running in fast mode
Keeping dialnorm
E-AC3, 7.1 channels, 1:47:00, 896kbps, 48kHz, dialnorm: -27dB
(core: AC3, 5.1 channels, 1:47:00, 512kbps, 48kHz, dialnorm: -27dB)
Extracting E-AC3 core...
Creating file "out.ac3"...
process: 100%
eac3to processing took 1 second.
Done.
tebasuna51
28th November 2023, 15:59
Thanks, work fine know also removing dialnorm.
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.