View Full Version : eac3to - audio conversion tool
Pages :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[
16]
Forteen88
28th September 2020, 11:33
Can anyone please help me. Been trying for a few days to learn how to fix it with no luck.
I am wanting to convert my audio with eac3to to aac. When trying it comes up with the Nero error. I have Nero 7 installed on my computer but dont think its linked with the eac3to. What can or should i do to convert to aac?You should rather use Apple's AAC-encoder (in TVBR mode), because it gives better quality sound than the old Nero-encoder.
Use qaac for that (install iTunes first),
https://sites.google.com/site/qaacpage/
https://forum.videohelp.com/threads/378450-Best-settings-for-QAAC
SeeMoreDigital
28th September 2020, 11:58
Hmmm...
Apples AAC encoder does indeed produce better results than Nero's AAC encoder. But when was its encoder last updated?
From what I understand the only AAC encoder that is still being developed (in some fashion) is FAAC...
LigH
28th September 2020, 13:21
The Apple CoreAudio AAC encoder can be extracted from the iTunes64 installer, using the "makeportable" script from the qaac downloads "cabinet" page.
Unfortunately, it is now officially only published via the Microsoft Store, so you need a Microsoft account to download it... or you can find it in third-party download archives.
Version 12.10.9(.3?) seems to be most recent.
_
PS: I just noticed that 7zip cannot extract AppleApplicationSupport.msi from installer ... it worked with version 12.9.3.3 (Feb. 2019).
Apple will have changed its software content. But you can try the VideoHelp archive of iTunes (https://www.videohelp.com/software/iTunes/old-versions). Version 12.10.8 is the last with an installer larger than 250 MB.
_
PPS: Don't confuse FAAC (abandoned OpenSource project) with fdk-aac by Fraunhofer or ffmpeg's own AAC encoder. FAAC is LQ and obsolete; ffmpeg's AAC is MQ but recent; fdk-aac is HQ but has strange bitrate steps as quality control.
And the dummy version for icudt62.dll to save some space (https://hydrogenaud.io/index.php?topic=85135.msg977394#msg977394), qaac does not need its features.
_
And more news: makeportable2.bat apparently extracts the required DLL files from the iTunes64.msi inside the new installer (64 bit binaries only).
Forteen88
28th September 2020, 14:30
...
Version 12.10.9(.3?) seems to be most recent.
...True, iTunes Version 12.10.9.3 is the most recent version. I downloaded it today from Apple's webpage.
pottzman
28th September 2020, 15:31
The sonic or arcsoft decoders are not needed at all with eac3to v3.34 (and nero only for aac sources)
but the eac3to wiki states
The Sonic DTS decoder seems to be more or less perfect for DTS, DTS-ES, DTS-96/24, DTS-HD Master Audio and DTS-HD High Resolution tracks. Dialog normalization is ignored by the Sonic DTS decoder. The only "problem" of the Sonic DTS decoder is that it decodes DTS-HD 7.1 tracks only as 5.1. DTS-ES and DTS-HD Master Audio 6.1 tracks are fully decoded as 6.1, though.
and
The ArcSoft DTS decoder seems to be perfect for DTS and DTS-HD decoding. It supports every format and channel configuration that exists including 6.1 and 7.1.
so if I want to use the sonic decoders can anybody show me how to use them without installing them
nevcairiel
28th September 2020, 16:12
Then the wiki is out of date, recent eac3to versions are using an open-source DTS-HD decoder that decodes all streams without modifications, and without applying DialNorm.
SeeMoreDigital
28th September 2020, 18:02
The Apple CoreAudio AAC encoder can be extracted from the iTunes64 installer, using the "makeportable" script from the qaac downloads "cabinet" page.
True, iTunes Version 12.10.9.3 is the most recent version. I downloaded it today from Apple's webpage.Do any of Apples AAC encoders support HE-AAC v2 (ie: AAC with SBR and PS)?
NiN3
28th September 2020, 18:56
Then the wiki is out of date, recent eac3to versions are using an open-source DTS-HD decoder that decodes all streams without modifications, and without applying DialNorm.
I am assuming libDcaDec? Does it decode bit perfectly? Some people seem to get a "XLL output not lossless" message when using it.
Forteen88
28th September 2020, 20:17
Do any of Apples AAC encoders support HE-AAC v2 (ie: AAC with SBR and PS)?No, it doesn't seem so, since I tried encoding music to a 16kbps stereo-audio and I got an error.
Also, someone wrote this a year ago,
AAC LC and HE AAC v1. Apple AAC encoder does not support HE AAC v2 profile (parametric stereo, very low bitrates stereo).
https://www.poikosoft.com/support/viewtopic.php?t=12725
Nero-encoder supports HEv2 (SBR+PS) but it supports maximum 6 (5.1) channels, Apple AAC supports 8 channels,
https://wiki.hydrogenaud.io/index.php?title=AAC_encoders
tebasuna51
28th September 2020, 20:36
I am assuming libDcaDec? Does it decode bit perfectly? Some people seem to get a "XLL output not lossless" message when using it.
- Yes, the decode is bit perfect, better than ArcSoft with some bit rounded errors in my test.
- qaac is better than NeroAacEnc at low bitrate, but not at default eac3to quality (quality=0.5)
For low bitrates you can use opus, better than aac.
nevcairiel
28th September 2020, 22:17
I am assuming libDcaDec? Does it decode bit perfectly? Some people seem to get a "XLL output not lossless" message when using it.
Getting that message once during start of decoding is normal, the message is not entirely accurate at that point, as long as it doesnt spam it repeatedly its fine.
von Suppé
30th September 2020, 09:19
A few questions about understanding Dialog Normalization. Sorry if these have been answered earlier.
Is DN for both Dolby and DTS stored as metadata in the audiostream itself or is it in - eg. - a BD's playlist?
Will it be preserved in the demuxed elementary stream and can it be edited?
Cheers
LigH
30th September 2020, 10:47
For Dolby Digital (AC3), I am sure it is metadata in the elementary stream. I studied headers in the DVD Video era...
filler56789
30th September 2020, 12:41
......
Is DN for both Dolby and DTS stored as metadata in the audiostream itself or is it in - eg. - a BD's playlist?
Will it be preserved in the demuxed elementary stream and can it be edited?
Cheers
Stored as metadata in the elementary stream itself.
Yes, that field can be edited.
From the ts_102114v010301p.pdf document:
DIALNORM/UNSPEC (Dialog Normalization /Unspecified)
For the values of VERNUM = 6 or 7 this 4-bit field is used to determine the dialog normalization parameter. For all
other values of the VERNUM this field is a place holder that is not specified at this time.
The Dialog Normalization Gain (DNG), in dB, is specified by the encoder operator and is used to directly scale the
decoder outputs samples. In the DTS stream the information about the DNG value is transmitted by means of combined
data in the VERNUM and DIALNORM fields (see Table 5-20).
For all other values of the VERNUM (i.e. 0, 1, 2, 3, 4, 5, 8, 9, …15) the UNSPEC 4-bit field should be extracted but
ignored by the decoder. In addition, for these VERNUM values, the Dialog Normalization Gain should be set to 0
i.e. DNG=0 indicates No Dialog Normalization.
iSeries
1st October 2020, 14:52
Included the use of the version than can select the TrueHD stream (https://github.com/domyd/mlp/actions/runs/120022192) in UsEac3To (https://forum.doom9.org/showthread.php?p=1920050#post1920050)
Hi, sorry how does one use this in UsEac3To to demux TrueHD?
SeeMoreDigital
1st October 2020, 15:27
Hi, sorry how does one use this in UsEac3To to demux TrueHD?
Drag and drop your media file that contains the 'Dolby TrueHD' stream into UsEac3To's main window.
Wait for the stream to be parsed/read.
Make sure 'demux' is selected with the 'Global Parameters' box.
Click on the 'RUN CL' button.
Forteen88
1st October 2020, 16:35
Is eac3to the only software that can remove AC3 dialog normalization?
Thanks
tebasuna51
2nd October 2020, 00:18
Nope, long time ago I make a little tool to do the same.
Change the metadata value in all frames of the stream (the big job is recalculate the crc values at begin and end of each frame).
von Suppé
2nd October 2020, 09:47
@ LigH and filler56789: Thanks for the info on Dialog Normalization.
So, there was no DN for dts in the DVD era?
I learn that DN removal can be achieved with eac3to. What software would be needed to view & edit DN properties?
Forteen88
2nd October 2020, 10:13
Nope, long time ago I make a little tool to do the same.
Change the metadata value in all frames of the stream (the big job is recalculate the crc values at begin and end of each frame).Do you implicitly mean BeHappy? :)
tebasuna51
2nd October 2020, 11:57
To view AC3 metadata you can use MediaInfo or my LeeAudBi (https://forum.doom9.org/showthread.php?p=424067#post424067)tool.
I don't know other tool to edit AC3 metadata, only eac3to for set DN to -31dB or specific tools for instance the attached ones:
- DN27_Ac3 restore the Dolby DN default value to -27 dB (a decoder Dolby compliant must attenuate in 4dB the full stream by default)
- DN31_Ac3 remove the DN, setting the value to -31 dB (a decoder must decode without attenuate nothing, recommended for recode in ac3to by default)
- DplAc3 set the Dolby Pro Logic flag in stereo AC3's
I don't know other metadata than can be safely changed without recode.
BTW there are here (now DN work also with EAC3) (https://forum.doom9.org/showthread.php?p=424067#post424067)the sources to do other changes.
NiN3
2nd October 2020, 12:05
To view AC3 metadata you can use MediaInfo or my LeeAudBi (http://forum.doom9.org/showthread.php?p=1522330#post1522330) tool.
I don't know other tool to edit AC3 metadata, only eac3to for set DN to -31dB or specific tools for instance the attached ones:
- DN27_Ac3 restore the Dolby DN default value to -27 dB (a decoder Dolby compliant must attenuate in 4dB the full stream by default)
- DN31_Ac3 remove the DN, setting the value to -31 dB (a decoder must decode without attenuate nothing, recommended for recode in ac3to by default)
- DplAc3 set the Dolby Pro Logic flag in stereo AC3's
I don't know other metadata than can be safely changed without recode.
BTW there are the sources to do other changes.
DRC profiles can't be edited or removed from an AC3 file? I've read dynamic range compression doesn't actually change the soundwaves but is instead saved as metadata for the receiver to decode. Would be interesting if there was a way to remove it from an AC3 or TrueHD stream since most DVD's and Blurays seem to have "Film Standard" applied by default.
SeeMoreDigital
2nd October 2020, 12:46
DRC profiles can't be edited or removed from an AC3 file? I've read dynamic range compression doesn't actually change the soundwaves but is instead saved as metadata for the receiver to decode....
I can't speak for AC3 audio streams but I've used UsEac3To to remove the dialnorm from DTS audio streams. It worked perfectly with 'Peter Gabriel's - Play' DVD: -
https://forums.stevehoffman.tv/threads/peter-gabriel-play-dvd-issue-with-dts-surround.63579/
https://forums.stevehoffman.tv/threads/thoughts-on-peter-gabriels-play.45319/
tebasuna51
2nd October 2020, 12:51
DRC profiles can't be edited or removed from an AC3 file?
It is difficult because DRC info is provided in audioblocks (6 for each frame) not with common metadata in BSI (Bit Stream Information) header frame info.
All decoders can be instructed to ignore DRC (or apply only a part).
You can recode these ac3 streams with ffmpeg and -drc_scale 0
Forteen88
2nd October 2020, 17:51
Thanks for LeeAudBi tool.
villaquien
11th October 2020, 17:14
I delayed the audio 400ms but the program copied part of the previous dialog. The silence should start at minute 22:25:780, why does this happen?
https://imgur.com/Vtt9exm.jpg
tebasuna51
11th October 2020, 20:51
Try with:
-edit=0:22:25.780,400ms -silence
villaquien
12th October 2020, 18:32
Thank you. I tried that and the program cuts the last part of the dialogue and moves it forward. I don't understand why the program doesn't create a silence from the exact point.
https://imgur.com/OGOspPl.jpg
tebasuna51
12th October 2020, 20:01
Seems the cut point is calculated like: 0:22:25.780 -400 = 0:22:25.380
Then to obtain the desired point need:
-edit=0:22:26.180,400ms -silence
villaquien
13th October 2020, 18:18
It worked, thank you.
dade49
17th October 2020, 09:17
Is eac3to the only software that can remove AC3 dialog normalization?
Thanks
MKVToolNix can remove dialog normalization from AC3 and DTS-HD tracks, from both the master and the embedded core track.
https://gitlab.com/mbunkus/mkvtoolnix/issues/2377
tebasuna51
17th October 2020, 12:13
MKVToolNix can remove dialog normalization from AC3 and DTS-HD tracks, from both the master and the embedded core track.
All days I learn one more thing.
Yes, in MKVToolNix GUI -> Preferences -> Default values we can "Enable dialog_normalization gain removal for audio tracks"
But maybe the correct text was:
"Enable dialog_normalization attenuation removal for audio tracks"
because enabling the removal we obtain a more loud track.
Remove the Dialog Normalization in a AC3 track means put -31 dB in the field of each header. A standard value is -27 dB than say to decoders dolby compliants attenuate the track by 4 dB (-27-4=-31)
LigH
20th October 2020, 07:35
As explained in chapter 6 of this document (https://forum.doom9.org/forum-rules.htm)...
NiN3
2nd November 2020, 01:02
Is there any way to compare two encodes to see if they are identical / "bit perfect" compared to each other? If the same source file is encoded using two different encoders for example.
tebasuna51
2nd November 2020, 01:10
To compare two files to see if are bit-identical you can use the MSDOS command line:
FC /B file1 file2
(FileCompare /binary)
But, of course, if the files are encodes from different encoders it is improbable obtain the same file.
NiN3
2nd November 2020, 01:17
To compare two files to see if are bit-identical you can use the MSDOS command line:
FC /B file1 file2
(FileCompare /binary)
But, of course, if the files are encodes from different encoders it is improbable obtain the same file.
Both files were encoded with two different officially "certified" encoders so I am trying to see if there is any difference between them. They are otherwise identical, same exact file size and spectogram.
LigH
2nd November 2020, 08:27
To compare the decoded video content, you can open both clips in AviSynth and use some comparing functions (Subtract creates a visual difference which you can enhance with Levels, and Compare writes statistics to a CSV file). Also there are video comparing applications (like Fritz Framalyzer). But that does not compare the video bitstreams, which may differ in details (e.g. timestamp values) but still decode to identical videos.
But why do you ask that in a thread about eac3to, which is an audio-only converter?
NiN3
2nd November 2020, 10:26
To compare the decoded video content, you can open both clips in AviSynth and use some comparing functions (Subtract creates a visual difference which you can enhance with Levels, and Compare writes statistics to a CSV file). Also there are video comparing applications (like Fritz Framalyzer). But that does not compare the video bitstreams, which may differ in details (e.g. timestamp values) but still decode to identical videos.
But why do you ask that in a thread about eac3to, which is an audio-only converter?
Audio is what I was asking about.
LigH
2nd November 2020, 10:59
Oh, then I misunderstood, sorry ... but in one regard, the same applies to audio just as to video: Files may have slight differences in metadata, even widely different compressed bitstreams (depends on the used audio format and its encoding algorithm), yet would produce identical decoded results.
Audacity seems to have a CompareAudio function for two tracks. Or you can use the hash muxer in ffmpeg (https://superuser.com/a/532223) (note that it would return different hashes if compressed audio uses block lengths and the number of samples differs).
NiN3
9th November 2020, 14:31
When decoding TrueHD 7.1 with libav/ffmpeg I get this message "Lossless check failed - expected 00, calculated fd". Anything to worry about? It does seem to output 8 channels correctly.
LigH
10th November 2020, 08:48
This is a "Frequently Asked Question". One reply here (https://forum.doom9.org/showthread.php?p=1762656#post1762656): No worries.
zeropc
10th November 2020, 22:07
What is latest version of FLAC that works with eac3to?
Can someone point me in the direction?
Thanks :)
LigH
11th November 2020, 09:21
Not sure, but probably one available at RareWares... I would be surprised of any recent major changes breaking compatibility.
tebasuna51
11th November 2020, 12:14
Tested the latest libFLAC v.1.3.3.git-ce6dd6b5 for win32 (https://www.rarewares.org/files/lossless/flac_dll-1.3.3.git-ce6dd6b5-x86.zip) (in RareWares) and work fine with eac3to.
vkostas
28th November 2020, 20:16
Hello,
I was struggling today with eac3to errors during conversion. Initially thought the files were corrupt but had no issues when using other tools.
Finally I found out it was because of accented characters.
Using the last version of eac3to (3.34) in windows 10 CMD.
1. Command: eac3to "07 -- Veinte Años.flac" "07 -- Veinte Años.wav"
returns error: The destination file "eac3to 07 -- Veinte Años.flac 07 -- Veinte Años.wav" could not be created.
2. Command eac3to "Veinte Años.flac" "Veinte Años.wav"
creates file eac3to Veinte Años.flac Veinte Años.wav Accented character "fools" eac3to which joins/mixes parameters.
Anyone has faced such issues?
tebasuna51
29th November 2020, 01:18
Work fine here:
C:\Portable\eac3to>eac3to "07 -- Veinte Años.flac" "07 -- Veinte Años.wav"
FLAC, 2.0 channels, 0:02:50, 16 bits, 800kbps, 44.1kHz
Decoding FLAC...
Writing WAV...
Creating file "07 -- Veinte Años.wav"...
The original audio track has a constant bit depth of 16 bits.
eac3to processing took 1 second.
Done.
Ryushin
14th December 2020, 14:56
Is it possible to extract the Dolby Vision stream out of a file created by MakeMKV?
Emulgator
15th December 2020, 22:53
DGDemux is your friend.
Legremlins_Keitaro
17th December 2020, 16:20
Hi everybody, I need a little help. I try to convert a DTS-HD Master to "simple" DTS so my soundbar could do the job in passthrough.
Actually my source is:
Audio
Format : DTS XLL
Format/Info : Digital Theater Systems
Commercial name : DTS-HD Master Audio
Bit rate mode : Variable
Channel(s) : 6 channels
Channel layout : C L R Ls Rs LFE
Sampling rate : 48.0 kHz
Frame rate : 93.750 FPS (512 SPF)
Bit depth : 16 bits
Compression mode : Lossless
I try using Megui with "HD Stream extractor" and specify DTS instead DTS_CORE but when I check the generated file it have the same properties of above.
I try using "USEac3To GUI", I don't know if I have checked to good option but the generated file have same properties of the source.
Is someone can help me to convert DTS-HD Master 5.1 file to "simple" DTS ?
Thanks
Boulder
17th December 2020, 16:44
eac3to "filename.dts" "filename_withcoreonly.dts" -core
Legremlins_Keitaro
17th December 2020, 17:02
eac3to "filename.dts" "filename_withcoreonly.dts" -core
Ok so simple to do it in command, so complicated with GUI lol
Thanks ;)
user8235
4th January 2021, 13:07
Maybe a stupid question, but is there a way to force eac3to into silent mode ? I haven't been able to find any commandline option to disable to "buzzer" sound after an error has occurred or the other sound after completion.
I'm using eac3to in a video transcoding tool I'm writing and these sounds are, I won't say annoying.... , but not preferred... ;-)
I spent many weeks trying to find an answer to this exact question. The solution for me was to delete the 2 wav files in your eac3to install directory. Of course, you could probably rename them if you want to keep them around.
tebasuna51
4th January 2021, 18:18
@user8235
Welcome to Doom9's forum.
[EDIT]
The answer was in next post:
I think you can just delete the two wav files that eac3to uses.
(some other off topic posts deleted)
Harrenkyym
7th January 2021, 23:22
I've been looking all over the forum and in the internet. How to use eac3to via powershell? I want to use the qaac codec and using UsEac3to (what I've been using for years) the command line output would be:
"eac3to.exe path" "input mkv path" tracknumber: stdout.wav delayapplied video frame rate frame rate change -progressnumbers -log = "file.mkv_Job_n.log"
| "qaac.exe path" -V n --ignorelength --adts --no-delay -o "fileoutput.mkv_0lang.aac" -
I've underlined every "unit" of info of the code to make ir clearer.
I've tried to do something like:
$convert_eac3to = -join ($moviefile, " ", $numbertrack, ": stdout.wav ", $frameratechange, " -log = 'logfile path' ", $qaac_path, " -V ", $audioquality,
" --ignorelength --adts --no-delay -o ", $audiooutput)
which is an exact copy of the other code but with variables so I can play with them, but, as expected, it doesn't work with: & $eac3to $convert_eac3to ($eac3to is the path where the exe is)
How would be the code? I guess @stax76 knows the answer as he looks almost the only one "fighting" for using Powershell. ^^
Thanks
EDIT
I've tried to understand much better the behavior of the command and I've tried to adapt it to Powershell, but it's not my lucky day.
& $eac3to $moviefile $numbertrack $stdout $timedelay $frameratechange > $qaac_path $audiooutput -v $audioquality --ignorelength --adts --no-delay
$eac3to: eac3to.exe with path
$moviefile: movie.mkv with path
$stdout: stdout.wav with same path as moviefile
$timedelay: i.e. +340ms
$frameratechange: i.e. -24.000 -changeTo23.976
$qaac_path: qaac.exe with path
$audiooutput: i.e. movie.2spa.aac
$audioquality i.e. 99
stax76
8th January 2021, 11:44
Sometimes it's necessary to call cmd from powershell:
1. using built in cmd functionality like mklink (powershell 5 has New-Item for symlinks)
2. certain kind of pipe
I've never researched the reason of the pipe problem, but I know how to call cmd from powershell, have a look at /s /c in the cmd console help:
cmd /?
If this does not work then you might additionally need a stop parsing command:
--%
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_parsing?view=powershell-5.1
Some of these ideas are originally from qyot27 btw.
Snowknight26
8th January 2021, 23:41
$eac3toPath = "C:\path\to\eac3to\eac3to.exe"
$input = "D:\"
$chapterTrackNumber = 1
$videoTrackNumber = 2
$audioTrackNumber = 3
$audioFormat = "flac"
& ${eac3toPath} "$input" ${chapterTrackNumber}: "Z:\temp.txt" ${videoTrackNumber}: "Z:\temp.mkv" ${audioTrackNumber}: "Z:\temp.$audioFormat" -log=nul > $null
Adjust as necessary.
tebasuna51
9th January 2021, 00:19
@Snowknight26
That may work for extract, Harrenkyym try to recode to AAC with a pipe ("|" in command line, ">" in powershell syntax) from eac3to.exe to qaac.exe.
And seems that don't work.
stax76
9th January 2021, 16:01
Let's say you got a complex command line that does pipe and also has paths with spaces:
ffmpeg -i "D:\aa aa_temp\aa aa.avs" -f yuv4mpegpipe -strict -1 -loglevel fatal -hide_banner - | x265 --crf 18 --frames 4069 --y4m --output "D:\aa aa_temp\aa aa_out.hevc" -
If this command line is in a variable or for instance in the clipboard, you can run it in powershell like so:
cmd /c (Get-Clipboard)
Snowknight26
10th January 2021, 18:24
@Snowknight26
That may work for extract, Harrenkyym try to recode to AAC with a pipe ("|" in command line, ">" in powershell syntax) from eac3to.exe to qaac.exe.
And seems that don't work.
Piping is the done same way Powershell as it is in cmd. | is pipe, > is redirect. However, since Powershell treats the results of all outputs as objects/strings, new lines get added to the piped data, so you can't do it directly by calling "process1.exe | process2.exe" without adverse effects.
You either have to use C# in Powershell or launch cmd via Powershell which doesn't have the issue.
$eac3toPath = "C:\path\to\eac3to.exe"
$ffmpegPath = "C:\path\to\ffmpeg.exe"
$input = "C:\path\to\input.ext"
$output = "C:\path\to\output.ext"
$trackNumber = 2
& cmd @('/c', $eac3toPath, $input, "${trackNumber}:", 'stdout.wav', '|', $ffmpegPath, '-i', 'pipe:', $output) 2> $null
Adjust as necessary.
tebasuna51
10th January 2021, 21:48
Yes, I see.
BTW execute cmd is the same than create a cmd file and launch it.
stax76
11th January 2021, 00:32
Yes, I see.
BTW execute cmd is the same than create a cmd file and launch it.
Not exactly, cmd and bat by default use a legacy dos code page:
https://de.wikipedia.org/wiki/Codepage_850
On Win 10 it can be changed to UTF-8
Calling cmd with arguments gives full Unicode support.
Bgalakazam
23rd January 2021, 13:46
Is there still no way to combine a TrueHD track with a core track? Instead a thd+core needs to be encoded with libAften every time? Some tracks fail that way.
Certain devices can't play the TrueHD track alone and need the core embedded. Either use a full BluRay rip structure or a MKV rip THD track and have to encode with libAften and then merge into a .TS/.M2TS which preserves the thd+core.
tebasuna51
23rd January 2021, 23:36
Is there still no way to combine a TrueHD track with a core track? Instead a thd+core needs to be encoded with libAften every time?
I don't know other way.
Some tracks fail that way.
I don't know tracks than fail.
If is 7.1 add -down6
If is 96 KHz add -resampleTo48000
If there are a clip add -no2ndpass
dm9656
18th March 2021, 23:12
Hi,
I recently used eac3to for reencoding a 24bit DTS-HD MA stream to 16bit (DTS-HA MA 24bit => eac3to => WAV 16bit => DTS MAS => DTS-HD MA 16bit); however, I noticed this 2017 discussion in a forum about the "eac3to does not manage the DTS-HD codec delay of 1024 samples" : https://forum.fanres.com/thread-1531.html
The solution at the times seemed to be something along the lines of "eac3to input output -21ms"... (to be precise it should be measured in number of samples, not in ms, as the delay is 2 frames = 1024 samples)
So, my question is: the "delay problem" being known for a few years now, is the current release of eac3to able to handle this "codec delay" by itself now ? Or is it still needed to care about managing that delay "by hand" when converting from DTS-HD audio ?
Thanks !
tebasuna51
19th March 2021, 00:57
A standard dts stream doesn't have a global header with the "Codec delay" tag, only the dts's created by the encoder Master Audio Suite have these headers.
Inside a container doesn't exist that header and the authoring soft must cut these frames (at least MkvMerge do so).
Is a encoder (all encoders insert some delay) problem but streams extracted from containers by eac3to doesn't have that delay.
AC3's encoders add 5ms of delay, ffdcaenc add 11ms to dts's, some AAC encoders 26ms ...
Kokka
1st April 2021, 17:54
Hello,
i am getting the error message from eac3to "Unable to convert DTS track to wav"
The two audio files are "DTS XBR" and "DTS XLL X"
Do you have any ideas?
Here is the MediaInfo of the file:
Format : Matroska
Format version : Version 4
File size : 80,0 GiB
Duration : 3 h 20 min
Overall bit rate mode : variabel
Overall bit rate : 57,2 Mb/s
Movie name : King.Kong.2005.EXTENDED.GERMAN.DL.2160p.UHD.BluRay.HEVC-4K
Encoded date : UTC 2018-04-21 11:06:32
Writing application : mkvmerge v22.0.0 ('At The End Of The World') 64-bit
Writing library : libebml v1.3.5 + libmatroska v1.4.8
Video
ID : 1
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main 10@L5.1@High
HDR format : SMPTE ST 2086, HDR10 compatible
Codec ID : V_MPEGH/ISO/HEVC
Duration : 3 h 20 min
Bit rate : 46,2 Mb/s
Width : 3 840 Pixel
Height : 2 160 Pixel
Display aspect ratio : 16:9
Frame rate mode : konstant
Frame rate : 23,976 (24000/1001) FPS
Color space : YUV
Chroma subsampling : 4:2:0 (Type 2)
Bit depth : 10 bits
Bits/(Pixel*Frame) : 0.232
Stream size : 64,5 GiB (81%)
Writing library : ATEME Titan File 3.7.9 (4.7.9.0)
Default : Ja
Forced : Nein
Color range : Limited
Color primaries : BT.2020
Transfer characteristics : PQ
Matrix coefficients : BT.2020 non-constant
Mastering display color primaries : Display P3
Mastering display luminance : min: 0.0050 cd/m2, max: 1000 cd/m2
Maximum Content Light Level : 1000 cd/m2
Maximum Frame-Average Light Level : 96 cd/m2
Audio #1
ID : 2
Format : DTS XBR
Format/Info : Digital Theater Systems
Commercial name : DTS-HD High Resolution Audio
Codec ID : A_DTS
Duration : 3 h 20 min
Bit rate mode : konstant
Bit rate : 3 456 kb/s
Channel(s) : 8 Kanäle
Channel layout : C L R LFE Lb Rb Lss Rss
Sampling rate : 48,0 kHz
Frame rate : 93,750 FPS (512 SPF)
Bit depth : 24 bits
Compression mode : Lossy
Stream size : 4,83 GiB (6%)
Language : Deutsch
Default : Nein
Forced : Nein
Audio #2
ID : 3
Format : DTS XLL X
Format/Info : Digital Theater Systems
Commercial name : DTS-HD Master Audio
Codec ID : A_DTS
Duration : 3 h 20 min
Bit rate mode : variabel
Bit rate : 7 413 kb/s
Channel(s) : 8 Kanäle
Channel(s)_Original : Object Based
ChannelLayout_Original : Object Based
Sampling rate : 48,0 kHz
Frame rate : 93,750 FPS (512 SPF)
Bit depth : 24 bits
Stream size : 10,4 GiB (13%)
Language : Englisch
Default : Ja
Forced : Nein
Text #1
ID : 4
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 3 h 16 min
Bit rate : 0 b/s
Count of elements : 39
Stream size : 867 Bytes (0%)
Title : Forced SRT
Language : Deutsch
Default : Ja
Forced : Ja
Text #2
ID : 5
Format : PGS
Codec ID : S_HDMV/PGS
Codec ID/Info : Picture based subtitle format used on BDs/HD-DVDs
Duration : 3 h 16 min
Bit rate : 443 b/s
Count of elements : 78
Stream size : 639 KiB (0%)
Title : Forced PGS
Language : Deutsch
Default : Nein
Forced : Nein
Text #3
ID : 6
Format : PGS
Codec ID : S_HDMV/PGS
Codec ID/Info : Picture based subtitle format used on BDs/HD-DVDs
Duration : 3 h 18 min
Bit rate : 19,0 kb/s
Count of elements : 2594
Stream size : 27,0 MiB (0%)
Language : Deutsch
Default : Nein
Forced : Nein
Text #4
ID : 7
Format : PGS
Codec ID : S_HDMV/PGS
Codec ID/Info : Picture based subtitle format used on BDs/HD-DVDs
Duration : 3 h 20 min
Bit rate : 78,4 kb/s
Count of elements : 7166
Stream size : 112 MiB (0%)
Language : Deutsch
Default : Nein
Forced : Nein
Text #5
ID : 8
Format : PGS
Codec ID : S_HDMV/PGS
Codec ID/Info : Picture based subtitle format used on BDs/HD-DVDs
Duration : 3 h 9 min
Bit rate : 21,8 kb/s
Count of elements : 3438
Stream size : 29,5 MiB (0%)
Language : Englisch
Default : Nein
Forced : Nein
Text #6
ID : 9
Format : PGS
Codec ID : S_HDMV/PGS
Codec ID/Info : Picture based subtitle format used on BDs/HD-DVDs
Duration : 3 h 19 min
Bit rate : 80,1 kb/s
Count of elements : 7162
Stream size : 114 MiB (0%)
Language : Englisch
Default : Nein
Forced : Nein
Thank you for any help!
Kokka
Richard1485
1st April 2021, 18:05
Use ffmpeg instead.
Devilman1
5th June 2021, 13:11
I was converting an audio stream from AC3 to wav and while doing it, it shows a delay and that a delay would be applied to the raw PCM
MKV, 1 video track, 1 audio track, 0:43:16, 25p
1: h264/AVC, 720x522p (16:9)
2: AC3, 2.0 channels, 320kbps, 44.1kHz, -108ms
"Stereo"
[v01] The video track doesn't contain framerate information. <WARNING>
[a02] Extracting audio track number 2...
[a02] Decoding with libav/ffmpeg...
[a02] Applying RAW/PCM delay...
[a02] Changing FPS from 25.000 to 23.976...
[a02] Reducing depth from 64 to 24 bits...
[a02] Writing WAV...
Would it mean that the output file has the delay (-108 ms) already applied?
Richard1485
5th June 2021, 21:42
Would it mean that the output file has the delay (-108 ms) already applied?
Yes. That's what the text that you highlighted in green means:
[a02] Applying RAW/PCM delay...
There should be no need for you to do anything else unless you experience some sort of problem with the output.
tebasuna51
7th June 2021, 23:19
Because when eac3to was created there was no free aec3 encoder.
Use ffmpeg now.
Richard1485
8th June 2021, 20:07
If it is not possible officially, then is there any way to add it manually?
No, because eac3to is closed source. But you can encode E-AC-3 with ffmpeg, so just use that instead.
asarian
9th June 2021, 13:17
Because when eac3to was created there was no free aec3 encoder.
Use ffmpeg now.
Is there a way to convert "DDP Atmos" to, say, LPCM, though? Currently says 'Bitstream parsing for track 2 failed.'
tebasuna51
9th June 2021, 15:07
Is there a way to convert "DDP Atmos" to, say, LPCM, though? Currently says 'Bitstream parsing for track 2 failed.'
eac3to was created to decode EAC3 from EVO containers but new EAC3 implementations, of course Atmos, can't be decoded.
Please use ffmpeg instead eac3to:
ffmpeg -i "ANY_INPUT" -map 0:TRACK -acodec pcm_s24le "OUTPUT.w64"
ffmpeg support many more containers and codecs for input, and output, than eac3to
asarian
9th June 2021, 15:28
eac3to was created to decode EAC3 from EVO containers but new EAC3 implementations, of course Atmos, can't be decoded.
Please use ffmpeg instead eac3to:
ffmpeg -i "ANY_INPUT" -map 0:TRACK -acodec pcm_s24le "OUTPUT.w64"
ffmpeg support many more containers and codecs for input, and output, than eac3to
Thanks! :thanks:
LigH
19th June 2021, 08:09
Dolby Atmos is a parameter set which depends on the layout of speakers in your room and the room's geometry. Once decoded, it won't match another room's layout.
Tass
20th June 2021, 05:55
Hi.
What is the best way to convert a DTSMA 7.1 to AC3 5.1 640kbps without losing the audio content of the 2 extra back channels of the 7.1 and get them downmixed into the 5.1 so the final AC3 5.1 ends with the 7.1 rears + surround channels mixed?
Will the audio conversion tool do the downmix? I can put -down6 in command line conversion but not in the conversion tool.
Thanks!
tebasuna51
20th June 2021, 10:09
What is the best way...
Forum rule:
12) How NOT to post on this forum:
...
Do not ask "what's best" because this question cannot be answered objectively. Each and everyone has their own view about what's best in a certain area. The best is what works best for you!
I can put -down6 in command line conversion but not in the conversion tool.
What conversion tool?
1) The eac3to -down6 make the mix of surround channels with floats:
SL' = SL + BL
SR' = SR + BR
and check if there are over volume (clip signal) and do a full (all channels) normalize to avoid distort.
Advantage: The balance between front and surround channels are preserved.
Disadvantage: The full volume can be reduced.
2) We can do a special normalize only to the surround channels only when it is needed.
Advantage: The full volume is preserved, only the surround channels are reduced to avoid clip (it is not possible the same volume with 5 speakers than with 7)
Disadvantage: The balance between front and surround channels are preserved most the time, only changed in points needed for avoid distort.
A implementation of this method (https://forum.doom9.org/showthread.php?p=1920191#post1920191) can be:
ffmpeg -i "ANY_INPUT" -map 0:TRACK -FILTER -acodec ac3 -ab 640K "OUTPUT.ac3"
with FILTER, for example:
-filter_complex "asplit [f][s]; [f] pan=3.1|c0=c0|c1=c1|c2=c2|c3=c3 [r]; [s] pan=stereo|c0=0.5*c4+0.5*c6|c1=0.5*c5+0.5*c7, compand=attacks=0:decays=0:points=-90/-84|-8/-2|-6/-1|-0/-0.1, aformat=channel_layouts=stereo [d]; [r][d] amerge [a]" -map "[a]"
Select your choice, I recommend 2).
SeeMoreDigital
20th June 2021, 20:48
What is the best way to convert a DTSMA 7.1 to AC3 5.1 640kbps without losing the audio content of the 2 extra back channels of the 7.1 and get them downmixed into the 5.1 so the final AC3 5.1 ends with the 7.1 rears + surround channels mixed?
Is there any particular reason why you don't want to extract the lossy 5.1 channel DTS (core) stream from the lossless DTS-HD MA stream and play that instead?
asarian
27th June 2021, 23:23
I am having trouble these days getting eac3to to correctly extract audio streams from my UHD multi-part disks. Which is to say, audio gets out of sync. So far this has happened to Wreck-it-Ralph, Ralph breaks the Internet, The Incredibles, Monsters University, etc. What happens is, eac3to will detect the need for, and start second pass (as per usual), and then audio is borked, aka, gets out of sync.
For most UHD movies, I still have my HD counterparts lying around to take their audio stream from, but this is not ideal, and doesn't always fit properly.
All very strange, as I've been doing this for literally years (eac3to 3.34).
Richard1485
28th June 2021, 07:33
Have you tried -no2ndpass?
You could also try DGDemux (http://rationalqm.us/dgdemux/dgdemux.html). It's now free.
asarian
28th June 2021, 09:40
Have you tried -no2ndpass?
You could also try DGDemux (http://rationalqm.us/dgdemux/dgdemux.html). It's now free.
Thx. I'll give these a try. :)
EDIT: -no2ndpass doesn't even get listed as option, but it did solve the issue for me.
Richard1485
28th June 2021, 12:29
EDIT: -no2ndpass doesn't even get listed as option, but it did solve the issue for me.
Great! Yeah, eac3to correctly drops frames in the first pass, but it tends to go wrong in the second pass by dropping frames unnecessarily. These days, I always try -no2ndpass first. For TrueHD, use mlp (https://github.com/domyd/mlp) or CloneBD instead.
asarian
29th June 2021, 23:02
Great! Yeah, eac3to correctly drops frames in the first pass, but it tends to go wrong in the second pass by dropping frames unnecessarily. These days, I always try -no2ndpass first. For TrueHD, use mlp (https://github.com/domyd/mlp) or CloneBD instead.
MLP worked like a charm! It can't remove dialogue normalization yet, sadly. So, I figured I do a second pass on the newly formed .thd stream then, with eac3to, but then, LOL, eac3to starts complaining about gaps again (which I expected to no longer exist again, btw).
Richard1485
30th June 2021, 21:12
So, I figured I do a second pass on the newly formed .thd stream then, with eac3to, but then, LOL, eac3to starts complaining about gaps again (which I expected to no longer exist again, btw).
Given that eac3to has problems with such tracks, I don't know how much credence to attach to that error message. If your track is in sync and plays fine, maybe you can ignore it. My preference with branching discs is to extract the AC-3 track with eac3to (-no2ndpass), so in suggesting mlp/CloneBD, I'm just passing on what's considered best practice.
The only other method known to me to remove dialnorm from TrueHD is to load the MKV or playlist (mpls) into MKVToolNIx, click the audio track, scroll down, and check "Remove dialog normalization gain" under "Audio properties". It works for me. The downside is that the AC-3 "core" will become a separate track, not one that remains interleaved with the TrueHD, which might or might not matter to you when it comes to playback. Perhaps you want to avoid MKV output.
asarian
30th June 2021, 23:07
Given that eac3to has problems with such tracks, I don't know how much credence to attach to that error message. If your track is in sync and plays fine, maybe you can ignore it. My preference with branching discs is to extract the AC-3 track with eac3to (-no2ndpass), so in suggesting mlp/CloneBD, I'm just passing on what's considered best practice.
The only other method known to me to remove dialnorm from TrueHD is to load the MKV or playlist (mpls) into MKVToolNIx, click the audio track, scroll down, and check "Remove dialog normalization gain" under "Audio properties". It works for me. The downside is that the AC-3 "core" will become a separate track, not one that remains interleaved with the TrueHD, which might or might not matter to you when it comes to playback. Perhaps you want to avoid MKV output.
To start with the latter, I love the MKV container. Or rather, Kodi loves it (it has trouble playing individual UHD .m2ts files properly here, sans stuttering, for some reason, but plays MKV very smoothly).
And I want the HD audio stream, of course. :) So, I will start just ignoring the gap warnings given by eac3to for the dialogue normalization removal (sorry, can't test now: inthe middle of huge render job).
Richard1485
1st July 2021, 00:13
And I want the HD audio stream, of course. :)
Of course! :) What I was explaining is that if you use MKVToolNIx to remove the dialnorm from the TrueHD, you will end up with a track without an AC-3 "core" (the interleaved track), in other words, a thd track on its own, rather than thd+ac3 (as found on BD), which the eac3to method allows you to keep. But since you are happy with MKV, you can use either method.
Tass
15th July 2021, 15:05
Is there any particular reason why you don't want to extract the lossy 5.1 channel DTS (core) stream from the lossless DTS-HD MA stream and play that instead?
Yep, thanks to LG, DTS won't be passthru to my AVR from the TV via optical because for a few years LG TVs stoped DTS compatibilty, so I have no option other than modify my setup or convert to AC3, for now, converting to AC3 is the less hassle since modifying my setup would involve geting a new AVR with eARC and laying new cables INSIDE my walls :eek:
SeeMoreDigital
15th July 2021, 18:31
Yep, thanks to LG, DTS won't be passthru to my AVR from the TV via optical because for a few years LG TVs stoped DTS compatibilty,...
Indeed, LG dropped support for onboard DTS decoding and pass-through, from 2020 onwards...
Sakura-chan
24th July 2021, 04:37
Is there any way to ignore the delay when extracting/re-encoding? Currently when eac3to detects a delay it automatically applies it to the extracted files with no way to ignore it. I see no switch to extract/re-encode as is. Like an -ignoredelay switch or something.
tebasuna51
24th July 2021, 10:02
Just add the inverse delay, for instance:
eac3to "test(+300).mkv" 2: "test(+300).mkv_2eng.ac3" -300ms
------------------------------------------------------------------------------
MKV, 1 video track, 1 audio track, 0:00:22, 25p
1: h264/AVC, English, 720p25
2: AC3 Surround, English, 2.0 channels, 448kbps, 48kHz, 300ms
[a02] Extracting audio track number 2...
[a02] Creating file "D:\Temp\t\00_test (+300).mkv_2eng.ac3"....
or
eac3to "test(-80).mkv" 2: "test(-80).mkv_2eng.ac3" +80ms
------------------------------------------------------------------------------
MKV, 1 video track, 1 audio track, 0:00:22, 25p
1: h264/AVC, English, 720p25
2: AC3 Surround, English, 2.0 channels, 448kbps, 48kHz, -80ms
[a02] Extracting audio track number 2...
[a02] Creating file "D:\Temp\t\00_test (2).mkv_2eng.ac3"...
Asmodian
26th July 2021, 00:04
Why would you want to ignore delay? It is a flag telling all players to add/subtract that much audio before playing, so unless it is normally out of sync, what is the use case for ignoring that field? Is it that the flag smaller than Xms of silence and you will reapply it when muxing?
Maybe some other reason I haven't thought of?
Pochka
17th August 2021, 01:05
Hi guys, i'm new here, asking for help, does eac3to supports .mka audio file? I have a audio file for video 25 Framerate .mka, which I need to recode into same as .mka audio file but in 23.976fps and keep all original bit rate and sampling rate and channels. I use command eac3to [input.mka] [output.mka] -24.000 -changeTo23.976 but I get an error. I'm a wrong entering the command line?
tebasuna51
17th August 2021, 08:37
Show the full log to know the audio inside the .mka file.
If is something like:
MKA, 1 audio track...
1: AC3, 5.1 channels, 448kbps, 48kHz
eac3to input.mka 1: output.ac3 -25.000 -changeTo23.976
(25 or 24 input?)
eac3to need the output bitrate and code, if supported.
Here for ac3 the bitrate 448 is the default, not the read in the input file than must be decoded to perform the timestretch.
Pochka
22nd August 2021, 00:53
to tebasuna51 Here is log to know the audio .mka file it's 25fps audio and i need change to 23.976fps what is eac3to command for it?
Audio
ID : 1
Format : E-AC-3
Format/Info : Enhanced AC-3
Commercial name : Dolby Digital Plus
Codec ID : A_EAC3
Duration : 59 min 34 s
Bit rate mode : Constant
Bit rate : 320 kb/s
Channel(s) : 6 channels
Channel layout : L R C LFE Ls Rs
Sampling rate : 48.0 kHz
Frame rate : 31.250 FPS (1536 SPF)
Compression mode : Lossy
Stream size : 136 MiB (100%)
tebasuna51
22nd August 2021, 10:38
Sorry but eac3to only can decode eac3 from EVO container, and can't encode to eac3.
You must use ffmpeg instead, with two options:
1) Like eac3to do, changing the pitch of the audio (maybe recovering the original pitch):
ffmpeg -i "eac3.mka" -af "aresample=50050, asetrate=48000" -acodec eac3 -ab 320k "eac3_r.eac3"
2) Or preserving the pitch of the audio, changing only duration:
ffmpeg -i "eac3.mka" -af "atempo=0.959041" -acodec eac3 -ab 320k "eac3_t.eac3"
Pochka
24th August 2021, 07:02
То tebasuna51 thank you for help and command line, i will try sometime in ffmpeg. I don't understand where can i learn command line for eac3to or ffmpeg? I don't understand what mean is (-af -ab all this numbers 0.959041 and they can be different for other things.
Etroxamin
24th August 2021, 13:46
@Pochka - you should find out if your audio has the correct pitch as it is now, sometimes audio on 25 fps video, have the correct pitch, but it's more likely that it was recorded at 23,976 fps or 24 and has the wrong pitch.
Btw 320 kbps seems quite low bitrate, evtl. you can find a better audio source ...
however changing the pitch after slowing down the audio, usually doesnt sound great, there are expensive programms (and you may find some sort of "trail versions") giving slightly more acceptable results, but as you said:
"I need to recode into same as .mka audio file but in 23.976fps and keep all original bit rate and sampling rate and channels"
with some luck your audio may have the correct pitch, and you could stretch the audio in MKVToolNix instead. At least i know it is possible with ac3 files (I would guess e-ac3 too), i once added the PAL DVD audio of a movie to a bluray video source, the pitch was correct on DVD with 25 fps. I tried the MKVToolNix stretch and the quality was (imo) as good as on DVD (but well that was a movie from the 50s, so the audio quality wasnt the best to judge on this).
The good thing is you dont have to reencode, as lossy to lossy isnt the best thing you can do to audio files. I usually keep 25 fps ac3 audio, stretched with audacity or eac3to to 23,976 as lossless 24 bit, thats quite pointless but actually the only way to not lose more quality.
Etroxamin
24th August 2021, 14:08
То tebasuna51 thank you for help and command line, i will try sometime in ffmpeg. I don't understand where can i learn command line for eac3to or ffmpeg? I don't understand what mean is (-af -ab all this numbers 0.959041 and they can be different for other things.
you should first add a path to cmd, here is a guide for it:
https://www.howtogeek.com/118594/how-to-edit-your-system-path-for-easy-command-line-access/
you find cmd.exe in C:\Windows\System32
all you need to do then is starting cmd.exe and write:
eac3to
eac3to will output a list of commands to use, usually you define your source, like:
eac3to "C:\myfilesfolder\myfile.mka"
and then you can put the command behind, you can also join files like "file1"+"file2"
or even cut or fill audio within a track with -edit command. Best to try out a bit for yourself.
But if you just want to stretch the e-ac3 file, i think you can easily do it with mkvtoolnix gui, but tbh its been some time since i made that, guess you would need to add the number tebasuna51 mentioned (0.959041).
thats the slowdown in percent, to reach 23,976 fps, like 1.000000 is your current 25 fps, 0.959041 would be the tempo in percent to slowdown for your desired 23,976 fps.
tebasuna51
24th August 2021, 23:47
I don't understand where can i learn command line for eac3to or ffmpeg?
If you have problems with command line try my GUI UsEac3to to execute eac3to or ffmpeg. There are some help with eac3to parameters.
I don't understand what mean is (-af -ab all this numbers 0.959041 and they can be different for other things.
ffmpeg have many parameters (-af means Audio Filter, -ab Audio Bitrate).
https://ffmpeg.org/ffmpeg-filters.html
https://ffmpeg.org/ffmpeg-codecs.html
For atempo (https://ffmpeg.org/ffmpeg-filters.html#toc-atempo), for instance, the number is the cocient between the fps desired and the fps original:
(24/1.001)/25 = 0.959041
@Etroxamin
Thanks for your opinions. Only one thing:
I can't recommend the timestretching method used by MkvToolNix, is based in add timestamps to the audio track, and some frames can be ignored with problems inicializing correctly the decoder, and producing cliks.
The best option is always modify the video fps to obtain the same duration than the audio.
Etroxamin
25th August 2021, 22:46
I can't recommend the timestretching method used by MkvToolNix, is based in add timestamps to the audio track, and some frames can be ignored with problems inicializing correctly the decoder, and producing cliks.
The best option is always modify the video fps to obtain the same duration than the audio.
I think MKVToolNix also says it is not recommended :)
(well i know MKVToolNix warned me, not sure if it still does)
But i tried it anyway, imo it will sound better than applying a pitch correction, but it may change from case to case. I think the audio track that i used there was already pitch corrected. So the only other possebility i had, was to stretch with eac3to, then apply ANOTHER pitch corrections and keep a crapier sound lossless 24 bit or encode lossy again.
So that would be:
2x pitch correction + 2 lossy encode
vs
1x pitch correction + 1 lossy encode
i think its not wrong to say that this method can be useful, at least sometimes, but well, in such a case its of course better to compare the results.
Also this method doesn't change the file at all, even if you notice very minor problems later you could still just demux it and it is the file you started with as it was from the source.
Changing the video fps would be a better workaround, but not if you add additional audio tracks that are more or at least of the same importance, and are matching with 23,976 fps.
the MKV stretch is working, even if its not recommended, it could be the best choice in certain situations and as said is completely reverseable, so there is nothing to lose by giving it a try. At least if it fits for a certain situation.
Etroxamin
25th August 2021, 23:30
it might have been discussed here already, i would guess, but i only found little information about it:
when i demux a normal .dts file (in this case a 320kbps 2.0 dts track) eac3to says: patching dts to 24 bits.
mediainfo tells me the dts track inside m2ts file is 16 bit, there is a switch: -dontpatchdts - if I use it i get a file of the same size (down to the last byte). However on a wiki i read that -dontpatchdts switch applies a dither.
will this switch really apply a dithering to a normal .dts file?
and is the patching to 24 bit change anything else than a metaflag change somewhere inside the dts file?
as far as i have understand it, lossy audio usually dont have a bit depth at all, but for some reason a dts file has a flag, to be able to be copied to an audio disc, as there are also some dts audio tracks and it seems to be mandatory to have that flag on a audio disc.
actually i would like to keep the 16 bit flag, even if it doesnt change anything, that 24 bit however would just be pointless if i can demux it without that 24 bit patching, and without damaging the file of course (which would be the case with dithering in same way). As this whole patching thing amplifies the uselessness of that information, i think.
But for dithering i would expect that eac3to needs to reencode the file, but with the -dontpatchdts switch, eac3to just says extracing track. it takes the same time too (almost, 2secs more 9m 24s vs 9min 26s, but i doubt that the 2 secs are enough to reencode and dther), so i would strongly guess that dither only is applied to lossless dts-hd when decoing to wav or flac or that the information on the wiki is misleading,
so my final question is: is it save to use the -dontpatchdts switch to keep the (useless) bit flag as it is?
I would guess yes, but maybe someone here can give me more information, so that i feel more satisfied doing it :)
Richard1485
26th August 2021, 00:08
However on a wiki i read that -dontpatchdts switch applies a dither.
will this switch really apply a dithering to a normal .dts file?
No, and if it's this wiki (https://en.m.wikibooks.org/wiki/Eac3to/How_to_Use), it doesn't claim that standard DTS files will be dithered when that switch is used.
and is the patching to 24 bit change anything else than a metaflag change somewhere inside the dts file?
No. It's just metadata.
as far as i have understand it, lossy audio usually dont have a bit depth at all,
Correct.
so my final question is: is it save to use the -dontpatchdts switch to keep the (useless) bit flag as it is?
Yes.
Etroxamin
26th August 2021, 01:52
No, and if it's this wiki (https://en.m.wikibooks.org/wiki/Eac3to/How_to_Use), it doesn't claim that standard DTS files will be dithered when that switch is used.
No. It's just metadata.
Correct.
Yes.
Great :)
thank you very much for your answer.
Btw, no that wasn't the wiki where i have read this, it was here:
https://en.wikibooks.org/wiki/Eac3to/How_to_Use
(this seems to be the same, but with a very slightly different url)
but after rechecking the information there, it actually really just seems to be DTS-HD, but i somehow ignored that and thought this can happen to any DTS track ... wellm thanks again for clarification :)
Pochka
26th August 2021, 03:05
Thank you tebasuna51 and Etroxamin
tebasuna51
26th August 2021, 10:09
Btw, no that wasn't the wiki where i have read this, it was here:
https://en.wikibooks.org/wiki/Eac3to/How_to_Use
(this seems to be the same, but with a very slightly different url)
Both are out of date concerning to DTS-HD decoder, in the changelog:
v3.30 (2015)
* libDcaDec is now default for all DTS tracks except XSA / low bitrate
libdcadec.dll is included in eac3to package, and can decode bit exact DTS-MA (unique DTS with util metadata 'Source PCM Resolution': 16 or 24).
Some old DTS standard encoders (Surcode) put always Source PCM Resolution to 24 even with PCM 16 bits sources, then that metadata is useless and maybe false.
Now a updated version (suport for DTS Express and other improvments) of libdcadec is included in ffmpeg (not included in 2015 libav dll's in eac3to)
Sakura-chan
20th September 2021, 05:32
Just add the inverse delay, for instance:
or
I know this is long overdue, but thanks. Yeah, I figured the only way was to add the inverse delay.
Why would you want to ignore delay? It is a flag telling all players to add/subtract that much audio before playing, so unless it is normally out of sync, what is the use case for ignoring that field? Is it that the flag smaller than Xms of silence and you will reapply it when muxing?
Maybe some other reason I haven't thought of?
Generally the delay it's correct, but I had a couple of discs that had some random delay set that was wrong. If I let eac3to process the delay I ended up with out of sync audio. You just had to ignore the delay, the track was perfectly in sync. Curiously mkvmerge seemed to ignore the delay and the remuxed file was in sync. But I needed eac3to as I use it to convert lpcm to flac from source, without extracting/remuxing first. So far I haven't encountered more discs with wrong delays.
Now, something I really can't figure out and has bothered me for a while.
When processing a bluray playlist eac3to likes to label the chapters as the first track, so chapters is 1, video is 2, first audio track is 3 and so on. When processing any other file type 1 is the video, 2 is audio. Why chapters in playlists are always first I do not know. Most sensible thing I think would be to put them at the end (since the chapters are arguably the least important "track") or to make it more batch friendly have a non-number to them. Like:
1: h264/AVC, 1080p24 /1.001 (16:9)
2: DTS Master Audio, German, 2.0 channels, 24 bits, 48kHz
(core: DTS, 2.0 channels, 1509kbps, 48kHz)
3: DTS Master Audio, English, 2.0 channels, 16 bits, 48kHz
(core: DTS, 2.0 channels, 1509kbps, 48kHz)
4: Subtitle (PGS), German
5: Subtitle (PGS), English
C: Chapters, 12 chapters
Anyway, those damn chapters mess up by batches when extracting from a mix of mpls and m2ts sources. I have the list of files and the tracks I need but then I have to manually search the batch offsetting the mpls track numbers and it's a pain in the ass.
Is there a way to leave out chapters from the track list?
I'm trying ffmpeg, it ignores chapters completely, video always falls on 1, audio on 2 and so on, easy to batch. Still, I'm unsure whether ffmpeg supports seamless branching (have yet to try) and has some not-very-nice looking warnings (PES packet size mismatch and packet corrupt on DTS tracks), when eac3to processes the playlist without a hitch.
Richard1485
21st September 2021, 22:50
AFAIK, ffmpeg still lacks support for seamless-branching discs. The quirk with eac3to's track order does present problems on occasion. Unless there's an undocumented switch somewhere that locks onto the first video track (like the -demux switch does), there probably isn't a ready-made solution. Maybe you could write a batch script with a conditional that handles files differently based on extension.
Asmodian
24th September 2021, 00:18
Maybe you could write a batch script with a conditional that handles files differently based on extension.
Parsing EAC3TO cmd output is weird, but it does work. I did one in Python. :o
AnimeN
27th September 2021, 12:15
Hi, anyone could help me? I need to cut .aac file without reencode from time hh:mm:ss to time hh:mm:ss
I don't know how work with edit parameter
Thanks a lot
tebasuna51
27th September 2021, 14:55
You have the answer in the FAQ (https://forum.doom9.org/showthread.php?p=424391#post424391) (convert hh:mm:ss to seconds):
besplit (http://forum.doom9.org/showthread.php?p=609216#post609216) -core( -input in.aac -prefix out -type aac ) -split( s1.m1 s2.m2 )
AnimeN
28th September 2021, 12:09
You have the answer in the FAQ (https://forum.doom9.org/showthread.php?p=424391#post424391) (convert hh:mm:ss to seconds):
besplit (http://forum.doom9.org/showthread.php?p=609216#post609216) -core( -input in.aac -prefix out -type aac ) -split( s1.m1 s2.m2 )
Finally I did with this https://mpesch3.de/
Hackerjac
9th November 2021, 12:41
Have been using eac3to for serval years with alot of diff guis, but here yesteday when i wanted to demux some subs i get a strange error, it all happens when loading the disc
Access violation at address 0046CEA9 in module 'eac3to.exe'. Write of address 751C1000.
Log File (https://drive.google.com/file/d/1rV_6zYyrG1-iEcOUxfHJdXhHnk4NnePC/view?usp=sharing)
wiggaz
9th November 2021, 13:39
Have been using eac3to for serval years with alot of diff guis, but here yesteday when i wanted to demux some subs i get a strange error, it all happens when loading the disc
Access violation at address 0046CEA9 in module 'eac3to.exe'. Write of address 751C1000.
Log File (https://drive.google.com/file/d/1rV_6zYyrG1-iEcOUxfHJdXhHnk4NnePC/view?usp=sharing)
Happened to me also.
madshi is working on it (http://bugs.madshi.net/view.php?id=676).
Hackerjac
9th November 2021, 16:11
Happened to me also.
madshi is working on it (http://bugs.madshi.net/view.php?id=676).
Thanks for the info and link
Had a feeling it had something to do with latest Windows updates
Hackerjac
9th November 2021, 23:08
Happened to me also.
madshi is working on it (http://bugs.madshi.net/view.php?id=676).
Acording to the comments in your link the newly Windows Update resolve the problem, gonna try installing that
tebasuna51
10th November 2021, 11:10
Just to resume:
Windows Updates KB5006744 and KB5006847 gives me an Access Violation
Windows Updates KB5007206 KB5007884 and eac3to is working again!
VAMET
17th November 2021, 04:17
Dear Friends
Please correct me, if I am wrong. I have movie.mkv file with Atmos - Track 2. When I will use command:
eac3to movie.mkv 2: atmos.thd
Will it demux Atmos track to atmos.thd without any changes? If I will mux it again to other .mkv file, will it be exact the same (1:1) Atmos track like in original movie.mkv?
Thank you in advance for your reply.
Sincerely
tebasuna51
17th November 2021, 11:34
...
Will it demux Atmos track to atmos.thd without any changes?...
Yes, but to be sure show the eac3to log to see if eac3to found any problem when extract it.
DanDare1983
23rd November 2021, 14:52
Hi, I have a quick question. I currently use the eac3to gui but just wanted to make sure of something. For DTS-HD MA audio, I use dtshd....is this correct? Also I wanted to see if theirs an option where all DTS-HD MA 1.0/2.0 tracks are made into flac files. I would like to make it easy by just using the demux option but I can't if 1.0/2.0 tracks exist as I like to save space by converting to flac. Also would like to say what a fantastic program eac3to is and many thanks for keeping it active with updates.
tebasuna51
23rd November 2021, 22:21
I currently use the eac3to gui
What GUI?
I use dtshd....is this correct?
Yes, but you can use also .dts without problems.
Many soft use the first bytes in file (the header) to identify the format, not only the extension.
Also I wanted to see if theirs an option where all DTS-HD MA 1.0/2.0 tracks are made into flac files.
Don't exist a specific option, you must recode each track.
Always the recoded flac save space over the DTS-MA, not only 1/2 channels also 5.1 or 7.1.
DanDare1983
24th November 2021, 16:18
UsEac3to GUI 1.3.2 is the program I use, I'm currently using the latest version. It saves me alot of time rather than doing one demux at a time with cmd version.
SeeMoreDigital
24th November 2021, 16:52
UsEac3to GUI 1.3.2 is the program I use, I'm currently using the latest version....I wonder why you didn't submit your post within the forums dedicated UsEac3to v1.3.2: a different GUI for eac3to (https://forum.doom9.org/showthread.php?t=145574) topic :eek:
DanDare1983
24th November 2021, 22:22
Oh sorry about that. There's so many threads that I didn't really look. I'll put more effort in next time in terms of finding the right thread.
tebasuna51
24th November 2021, 23:40
UsEac3to GUI 1.3.2 is the program I use.
In that GUI don't exist the option and is not easy to implement.
bugs.bunny
2nd December 2021, 17:18
Hello everybody,
I'm a longtime user of eac3to and my main use case is to speedup (length and pitch correction) a Blu-ray audio source (23,976fps) to PAL speed (25fps) with this simple command:
eac3to input.ac3 output.ac3 -448 -speedup (assuming a source bitrate of 448 kb/s).
I had a longer pause and so I started in the past days reading about the current state of eac3to. I also read this thread (especially the first post containing the additional infos from tebasuna51) and I think this masterpiece of software is a little outdated. Or to be more accurate, the used libraries are a little outdated.
I'm also a ffmpeg user and figured out that this command would do probably the same:
ffmpeg -drc_scale 0 -i input.ac3 -map 0:0 -af asetrate=50050,aresample=48000 output.ac3 [where 50050 is 48000*((25*1001)/24000))]
So can someone please check my ffmpeg command if this is a proper equivalent to eac3to?
But the final question would be: regarding maximum quality (I know it's a lossy operation ;-)) as of today, should I use eac3to v3.34, ffmpeg v4.4.1 or do you know another good/better solution?
Thanks a lot and have a nice week!
Regards, bugs.bunny
tebasuna51
4th December 2021, 01:10
...So can someone please check my ffmpeg command if this is a proper equivalent to eac3to?...
You are right, it is equivalent.
If you download my UsEac3to GUI there are other options to replace eac3to with ffmpeg. See the Readme.txt.
About speedup and slowdown there are the ffmpeg filters (part of the Vid_enc.par file):
slowdR|-af "aresample=50050, asetrate=48000"
speedR|-af "asetrate=50050, aresample=48000"
slowdT|-af "atempo=0.959041"
speedT|-af "atempo=1.042708"
The first two are like with eac3to (changing pitch) and the last ones are preserving pitch.
PoeBear
16th January 2022, 02:32
I'm not sure if this bug has been discussed before, but it seems eac3to won't apply any delays if it detects superfluous zero bytes (aka 16-bit tracks 0 padded to 24-bit). I was trying to trim a some silence off a DTS-HD MA track while converting to WAVs, but it seems to ignore the trim command once it switches to the second pass. However if you apply a -down16 command, it won't detect the superfluous zero bytes, and the trim succeeds
Example log 1 (Fails, matches the original DTS-HD MA track length):
eac3to v3.34
command line: eac3to "G:\" 1) 3:"D:\Files to Edit\BD.wavs" -26ms
------------------------------------------------------------------------------
M2TS, 1 video track, 2 audio tracks, 2 subtitle tracks, 1:45:19, 24p /1.001
1: Chapters, 12 chapters
2: h264/AVC, 1080p24 /1.001 (16:9)
3: DTS Master Audio, English, 5.1 channels, 24 bits, 48kHz
(core: DTS, 5.1 channels, 1509kbps, 48kHz)
4: DTS Master Audio, English, 2.0 channels, 16 bits, 48kHz
(core: DTS, 2.0 channels, 1509kbps, 48kHz)
5: Subtitle (PGS), English
6: Subtitle (PGS), English
[a03] Extracting audio track number 3...
[a03] Decoding with libDcaDec DTS Decoder...
[a03] libDcaDec reported the warning "XLL output not lossless". <WARNING>
[a03] Applying RAW/PCM delay...
[a03] Writing WAVs...
[a03] Creating file "D:\Files to Edit\BD.L.wav"...
[a03] Creating file "D:\Files to Edit\BD.SL.wav"...
[a03] Creating file "D:\Files to Edit\BD.R.wav"...
[a03] Creating file "D:\Files to Edit\BD.LFE.wav"...
[a03] Creating file "D:\Files to Edit\BD.C.wav"...
[a03] Creating file "D:\Files to Edit\BD.SR.wav"...
[a03] The original audio track has a constant bit depth of 16 bits.
[a03] Superfluous zero bytes detected, will be stripped in 2nd pass.
[a03] Starting 2nd pass...
[a03] Extracting audio track number 3...
[a03] Decoding with libDcaDec DTS Decoder...
[a03] libDcaDec reported the warning "XLL output not lossless". <WARNING>
[a03] Reducing depth from 24 to 16 bits...
[a03] Writing WAVs...
[a03] Creating file "D:\Files to Edit\BD.L.wav"...
[a03] Creating file "D:\Files to Edit\BD.R.wav"...
[a03] Creating file "D:\Files to Edit\BD.LFE.wav"...
[a03] Creating file "D:\Files to Edit\BD.SL.wav"...
[a03] Creating file "D:\Files to Edit\BD.C.wav"...
[a03] Creating file "D:\Files to Edit\BD.SR.wav"...
[a03] The processed audio track has a constant bit depth of 16 bits.
Video track 2 contains 151521 frames.
eac3to processing took 13 minutes, 20 seconds.
Done.
Eample log 2 (Passes, is -26ms earlier than the DTS-HD MA track):
eac3to v3.34
command line: eac3to "G:\" 1) 3:"D:\Files to Edit\BD.wavs" -down16 -26ms
------------------------------------------------------------------------------
M2TS, 1 video track, 2 audio tracks, 2 subtitle tracks, 1:45:19, 24p /1.001
1: Chapters, 12 chapters
2: h264/AVC, 1080p24 /1.001 (16:9)
3: DTS Master Audio, English, 5.1 channels, 24 bits, 48kHz
(core: DTS, 5.1 channels, 1509kbps, 48kHz)
4: DTS Master Audio, English, 2.0 channels, 16 bits, 48kHz
(core: DTS, 2.0 channels, 1509kbps, 48kHz)
5: Subtitle (PGS), English
6: Subtitle (PGS), English
[a03] Extracting audio track number 3...
[a03] Decoding with libDcaDec DTS Decoder...
[a03] libDcaDec reported the warning "XLL output not lossless". <WARNING>
[a03] Applying RAW/PCM delay...
[a03] Reducing depth from 24 to 16 bits...
[a03] Writing WAVs...
[a03] Creating file "D:\Files to Edit\BD.SL.wav"...
[a03] Creating file "D:\Files to Edit\BD.C.wav"...
[a03] Creating file "D:\Files to Edit\BD.SR.wav"...
[a03] Creating file "D:\Files to Edit\BD.L.wav"...
[a03] Creating file "D:\Files to Edit\BD.LFE.wav"...
[a03] Creating file "D:\Files to Edit\BD.R.wav"...
[a03] The original audio track has a constant bit depth of 16 bits.
[a03] The processed audio track has a constant bit depth of 16 bits.
Video track 2 contains 151521 frames.
eac3to processing took 4 minutes, 41 seconds.
Done.
The -down16 command is applying a dither because it thinks it's a 24-bit track upon initial processing, so it seems my best/easiest option to keep the sound untouched is to just save it as a single WAV without a delay, so that it detects and strips the 0 bytes, and then use eac3to again on the single WAV to apply the delay/split it into WAVs?
tebasuna51
16th January 2022, 11:14
I don't have a sample (DTS-MA 24bits padded from 16) to check the problem, but like eac3to is an abandoned soft the solution seems the two pass propossed by you.
XPEHOPE3
3rd February 2022, 01:26
How I do it, is I turn the chapters file into a CUE file, which I then feed to foobar2000, which generates individual audio files following that CUE sheet. But making the CUE file is a pain in the backside, so I decided to write a little Python script that does it for me.
https://github.com/frederik-vaassen/audioTools/blob/master/makeCUE.py
Brilliant, thank you!
I wish this script was mentioned in the starting post...
Also, to make it work with python3, it's enough to replace the last line with this:
print('Output successfully written to {0}'.format(args.cue_file))
tebasuna51
3rd February 2022, 10:29
We don't need python to obtain a cue file from a chapters OGM .txt file.
I wrote longtime ago a .vbs (WScript Shell), only drag and drop any chapter.txt file (in Windows) over this Chap-Cue.vbs:
'Chap-Cue.vbs
'Convert OGM chapter.txt to Cue Sheet
'
Set ws = CreateObject("WScript.Shell") ' Shell
Set fso = CreateObject("Scripting.FileSystemObject") ' FileSystemObject
Set args = WScript.Arguments
'
If args.Count > 0 then
For j = 0 To args.Count - 1 'work with many files
s2 = args(j)
If LCase(Right(s2, 4)) = ".txt" then
Set f1 = fso.OpenTextFile(s2, 1) ' Input file
s3 = left(s2, len(s2) - 4)
s4 = s3 & ".cue"
Set fe = fso.CreateTextFile(s4, True) ' Output file
'
fe.WriteLine "FILE " & chr(34) & s3 & ".wav" & chr(34) & " WAVE" 'FILE "input_name.wav" WAVE
Do While f1.AtEndOfStream <> True
l1 = f1.ReadLine 'Read: CHAPTERxx=hh:mm:ss.mss
l2 = f1.ReadLine 'Read: CHAPTERxxNAME=xn
' process input data
xx = mid(l1, 8, 2) 'number of chapter
xn = xx 'default name
If len(l2) > 14 Then xn = mid(l2, 15) 'name of chapter
hh = mid(l1, 11, 2)
mm = mid(l1, 14, 2)
ss = mid(l1, 16, 3) & ":"
ms = mid(l1, 20, 3)
If hh = "00" Then xt = mm Else xt = 60 * hh + mm
ms = int(ms * 3 / 40) ' Convert to 'frame' 1/75 sec.
If ms > 9 Then xt = xt & ss & ms Else xt = xt & ss & "0" & ms
' write output data
fe.WriteLine " TRACK " & xx & " AUDIO" 'write: TRACK 01 AUDIO
fe.WriteLine " TITLE " & chr(34) & xn & chr(34) 'write: TITLE "name"
fe.WriteLine " INDEX 01 " & xt 'write: INDEX 01 00:00:00
Loop
f1.Close
fe.Close
Else
MsgBox("Only .txt files.")
End If
Next
Else
MsgBox("Use Drag & Drop for chapter input files.")
End if
WScript.Quit
hello_hello
8th February 2022, 08:59
Brilliant, thank you!
I wish this script was mentioned in the starting post...
Also, to make it work with python3, it's enough to replace the last line with this:
print('Output successfully written to {0}'.format(args.cue_file))
I can't remember how long it's been the case, but these days foobar2000 will break a large file into chapters as it would using a cue file. All you should need to do is mux the audio into an MKV/MKA and include the chapters.
I loaded an MKV containing video and audio into a playlist as an example.
https://i.postimg.cc/217k84ZH/Clipboard01.jpg (https://postimg.cc/217k84ZH)
If the audio happens to be of a type foobar2000 doesn't natively support, or you want certain file types to be treated in different ways, there's also the "ffmpeg wrapper" component.
I think by default foobar2000 uses the chapters to split files in a playlist, but you can choose to decode selected file types with ffmpeg, and the wrapper component gives you a choice regarding chapter support. I have it disabled most of the time and only enable it when I need it.
https://i.postimg.cc/Y4XtQM8Y/Clipboard02.jpg (https://postimg.cc/Y4XtQM8Y)
And the chapters can be saved as a cue file.
https://i.postimg.cc/gr1kMcpK/Clipboard03.jpg (https://postimg.cc/gr1kMcpK)
tebasuna51
8th February 2022, 13:23
If we want extract audio tracks splited by chapters from a mkv we can use MkvToolNix directly:
1) Load the mkv and select only the audio track desired and the Chapters.
2) In Output tab select Split Mode: Before chapters and Chapters numbers: all
3) Start Multiplexing to obtain the mka's with the desired audio splitted.
Overdrive80
13th February 2022, 02:49
I haven't used this program for a long time and I no longer remember what the parameters were to change the speed of the audio while preserving the pitch.
%_TEST.wav -25.000 -changeTo23.976 -down32
With that options in spectogram I see one shift of ~1 semitone.
what should I add? Thanks
tebasuna51
13th February 2022, 03:23
With eac3to you can't preserve the pitch.
You can try with (for first audio track of INPUT):
ffmpeg -i "INPUT" -vn -af "atempo=0.959041" -acodec pcm_s32le "OUTPUT_TEST.wav"
Or with UsEac3to with CLP:
-af "atempo=0.959041" -acodec pcm_s32le
'A/V Recode'
'ReplaceENC'
'Decode to WAV'
Overdrive80
14th February 2022, 13:44
Thanks Teba. (Teba, siempre dando soluciones, muchas gracias. Me alegro de leerte. Un abrazo.)
XPEHOPE3
22nd February 2022, 00:25
tebasuna51
hello_hello
The more ways to do it the better, especially if they are easily found by search
For me python isn't an issue since I already have it as a developer. And I hate VBS more than python :)
On a related note - is there a way to get cue file via eac3to from multiple VOB input?eac3to.exe VIDEO_TS\VTS_03_1.VOB+VIDEO_TS\VTS_03_2.VOB+VIDEO_TS\VTS_03_3.VOB
LigH
22nd February 2022, 08:37
The "cue file" for DVD Video media is the set of IFO files in the VIDEO_TS folder.
A sequence of VOB files may contain more than only "the movie" you want to process (e.g. FBI warning trailers, ads, anti-skip trick junk, etc.); if you want to ensure that eac3to can process "the movie" alone, the best way is to extract the Program Chain into a continuous "PGC VOB" which contains only the content of the movie how you expect to watch it, and nothing else (using one of the common DVD Rippers in "Movie" or "IFO" mode, or PGCDemux when you already extracted the files as they are). This doesn't need to get segmented into pieces of 1 GB max, it can be one large file on your harddisk with NTFS.
tebasuna51
22nd February 2022, 12:08
Like LigH say you a DVD can have many 'movies' inside.
I use MakeMKV (https://www.makemkv.com/) to rip DVD's (can unprotect it also) from drive to hard disk and can obtain, see the image, a mkv for each 'Title' (movie, trailers, ads,...).
Of course you can select only the desired 'titles' and tracks in each.
After that you can use eac3to or other tool to manage the mkv's.
SeeMoreDigital
22nd February 2022, 16:45
Jeez...
One of those 'titles' has 99 chapters :eek:
XPEHOPE3
22nd February 2022, 19:27
That's probably offtopic, but... :)
I have a usual DVD folder. Among other things it contains a 96000/24 version of a 2-track album in VTS_03_0.IFO, VTS_03_1.VOB, VTS_03_2.VOB, VTS_03_3.VOB. The two tracks are spread over 3 VOB files. I was able to use PgcDemuxMod03 (thanks LigH!) to get the two tracks directly, or DoItFast4U.v.1.4.0 to get two VOB files and then eac3to to get 2 tracks. Then running foobar convert to multi-track files I can get an image + cue pair! (Cuetools won't do since format isn't 44100/16)
tebasuna51
Regarding MakeMKV: I've got these warnings on opening the top IFO:
Calculated BUP offset for VTS #0 does not match one in IFO header.
Calculated BUP offset for VTS #1 does not match one in IFO header.
Titleset start sector mismatch for titleset 1 : 3444 != 3443
Titleset start sector mismatch for titleset 2 : 10955 != 10954
Titleset start sector mismatch for titleset 3 : 1340580 != 1340579
Titleset start sector mismatch for titleset 4 : 2670186 != 2670185
Titleset start sector mismatch for titleset 5 : 3564405 != 3564404
Title #2 was added (2 cell(s), 0:43:40)
Title #3 was added (2 cell(s), 0:43:40)
Title #4 was added (2 cell(s), 0:43:40)
Resulting mkv file had chapter lengths different to previously obtained outputs (total length is equal).
Also I don't know why, but any DVD folder reader reports 0:43:40 as length but when I successfully demux audio (e.g. with PgcDemuxMod03) or remux it to mkv, I get length 0:43:43. I know that CD releases of the same album really are closer to 43:40, and the files I get are just silence-extended (either between chapters or at the end). So I'm not completely sure if I get correct output but non-silence audio data seems to be perfect.
tebasuna51
23rd February 2022, 02:14
@SeeMoreDigital
Yes, it is funy.
I can't understand DVD structure seems there are 3 titles with the same video and different audio or subs or chapters:
"D:\Video\MATRIX\title_t00.mkv" 5.365.296.613 bytes Main movie
------------------------------------------------------------------------------
MKV, 1 video track, 2 audio tracks, 10 subtitle tracks, 2:10:46, 50i
1: MPEG2, English, 576i50 (16:9)
2: AC3, English, 5.1 channels, 384kbps, 48kHz, dialnorm: -27dB "Surround 5.1"
3: AC3, Spanish, 5.1 channels, 384kbps, 48kHz, dialnorm: -27dB "Surround 5.1"
4: Subtitle (VobSub), English
5: Subtitle (VobSub), Spanish
6: Subtitle (VobSub), Portuguese
7: Subtitle (VobSub), Hebrew
8: Subtitle (VobSub), Polish
9: Subtitle (VobSub), Modern Greek
10: Subtitle (VobSub), Czech
11: Subtitle (VobSub), Turkish
12: Subtitle (VobSub), Hungarian
13: Subtitle (VobSub), Croatian
38 Chapters
"D:\Video\MATRIX\title_t01.mkv" 5.345.838.042 bytes Main movie only 1 sub
------------------------------------------------------------------------------
MKV, 1 video track, 2 audio tracks, 1 subtitle track, 2:10:46, 50i
1: MPEG2, English, 576i50 (16:9)
2: AC3, English, 5.1 channels, 384kbps, 48kHz, dialnorm: -27dB "Surround 5.1"
3: AC3, Spanish, 5.1 channels, 384kbps, 48kHz, dialnorm: -27dB "Surround 5.1"
4: Subtitle (VobSub), English
38 Chapters
"D:\Video\MATRIX\title_t04.mkv" 4.968.498.296 bytes Main movie only 1 audio
------------------------------------------------------------------------------
MKV, 1 video track, 1 audio track, 2:10:46, 50i
1: MPEG2, English, 576i50 (16:9)
2: AC3, English, 5.1 channels, 384kbps, 48kHz, dialnorm: -27dB "Surround 5.1"
99 Chapters
@XPEHOPE3
Sorry I can't help you with problems in DVD structure, try in (HD) DVD, Blu-ray & (S)VCD (https://forum.doom9.org/forumdisplay.php?f=49) subforum or in https://forum.makemkv.com/forum/
LigH
23rd February 2022, 08:40
I used to work in a DVD Authoring studio. So I learned a bit more about the logical structure of DVDs. And about logical copy protection attempts. A simple one is confusing ripper software by offering an overly complex PGC because they tend to preselect the one with the maximum of chapters or playtime... but it may as well be a commentary PGC pointing to every special scene explained in detail. I don't remember what's the reason for "Matrix", too long ago.
Bigmango
9th April 2022, 22:35
Hi,
SUP (PGS - bluray) subtitle extraction from mkv has been broken for many years.
-> loading the sup in bdsup2sub or any subtitle edit for ocr, etc... always tells me the subtitles are corrupt. Extracting with gmkvextract works perfectly. (this bug has been going on for many years, tested/used on many different systems).
Could you please fix this? (AND if you please, while you are at this please also make sure/confirm that any FORCED tag flags are added in the extracted track name. I dont remeber if eac3to does this, but gmkvextract doesn't and it's a lot of work always veryfying with mediainfo if there are forced tracks in the source).
(As it is now: I always have to demux the mkvs 2 times : first with eac3to to fix the audio delays, then with gmkvextract to extract the subtitles).
Many thanks! :thanks:
tebasuna51
10th April 2022, 09:45
SUP (PGS - bluray) subtitle extraction from mkv has been broken for many years
Not always, only when SUP (PGS ) are muxed compressed (zlib) in mkv (like is the default). Normally you obtain zlib compressed SUP not supported in other soft.
From BD files (m2ts) work fine because aren't compressed.
BTW eac3to is an abandoned soft and can't be improved for this or other feature request.
With UsEac3toGUI you can extract the SUP decompressed because work like a GUI for MkvExtract like gmkvextract.
madshi
8th May 2022, 22:03
eac3to v3.36 released
* fixed: UHD Blu-Ray support didn't work with newer releases
* fixed: on some OSs there were crashes
* fixed: libav command line output hooking wasn't working properly
* added special handling for TrueHD seamless branching
* 2nd pass for audio gap fixing is auto-disabled for (UHD) Blu-Rays now
* libDcaDec: updated to 0.2.0
http://madshi.net/eac3to.zip
Sorry for the long absence. The new build mainly aims at fixing the most important UHD Blu-Ray problems.
Please note that the new TrueHD seamless branching feature aims only at preventing any "pops" or other unwanted artifacts. It does not try to keep proper sync. Which is usually not important for TrueHD because sync loss is less than 1ms per seamless branching file/part. However, there may be a few rare (UHD) Blu-Rays with an insane number of parts. In that case there may be a small sync mismatch at the end of the audio track. Or maybe not. eac3to now drops frames where it helps prevent audio artifacts. And it doesn't drop frames where that's better to prevent audio artifacts. So maybe sync is already perfect afterwards, I'm not sure. Needs to be tested. For most (UHD) Blu-Rays, sync will not be an issue, anyway.
Are there any devs interested in taking over eac3to development (bugfixes and improvements)? I'm considering open-sourcing it, because I don't have a lot of time for it now, and probably in the near future. However, eac3to is written in Delphi, and the code is not in great shape (due to constant lack of time). Plus, the source code might be more complex/long than many devs might expect, because of the simple reason that eac3to has a *lot* of features, some more obvious than others. In any case, I'm not going to spend any time on open-sourcing it if there are no devs who have serious interest in working on it.
manuelin
8th May 2022, 23:08
eac3to v3.36 released
* fixed: UHD Blu-Ray support didn't work with newer releases
* fixed: on some OSs there were crashes
* fixed: libav command line output hooking wasn't working properly
* added special handling for TrueHD seamless branching
* 2nd pass for audio gap fixing is auto-disabled for (UHD) Blu-Rays now
* libDcaDec: updated to 0.2.0
http://madshi.net/eac3to.zip
Sorry for the long absence. The new build mainly aims at fixing the most important UHD Blu-Ray problems.
Please note that the new TrueHD seamless branching feature aims only at preventing any "pops" or other unwanted artifacts. It does not try to keep proper sync. Which is usually not important for TrueHD because sync loss is less than 1ms per seamless branching file/part. However, there may be a few rare (UHD) Blu-Rays with an insane number of parts. In that case there may be a small sync mismatch at the end of the audio track. Or maybe not. eac3to now drops frames where it helps prevent audio artifacts. And it doesn't drop frames where that's better to prevent audio artifacts. So maybe sync is already perfect afterwards, I'm not sure. Needs to be tested. For most (UHD) Blu-Rays, sync will not be an issue, anyway.
Are there any devs interested in taking over eac3to development (bugfixes and improvements)? I'm considering open-sourcing it, because I don't have a lot of time for it now, and probably in the near future. However, eac3to is written in Delphi, and the code is not in great shape (due to constant lack of time). Plus, the source code might be more complex/long than many devs might expect, because of the simple reason that eac3to has a *lot* of features, some more obvious than others. In any case, I'm not going to spend any time on open-sourcing it if there are no devs who have serious interest in working on it.
Nice to see you back madshi, the new version is much appreciated!
* 2nd pass for audio gap fixing is auto-disabled for (UHD) Blu-Rays now
Would it be possible to apply this behavior to PGS subtitles as well?
In UHD (seamless branching) the subtitles were also affected by this problem. The subtitles get out of sync as the different m2ts are joined (the same thing that happened to the audios).
But the bad thing is that 'no2ndpass' parameter doesn't work for subtitle tracks, so subtitles in UHD (seamless branching) are always demuxed out of sync. At least in the audios it could be solved using the 'no2ndpass' parameter, now thanks to this new version it is no longer necessary to specify this parameter.
Thank you very much for all your efforts!
Regards!
madshi
9th May 2022, 10:55
Which would be a good 1080p or UHD Blu-Ray to test that with? The bigger the subtitle sync issues the better. I can't promise a quick fix on that, though. If you find issues with TrueHD, that I might be able to fix more quickly, since I just worked on that, so I know the details. But subtitles would require me to deep dive into the related code, and that's not something I can do quickly.
tebasuna51
9th May 2022, 13:10
eac3to v3.36 released
Thanks madshi for that unexpected release to fix the most important UHD Blu-Ray problems. Like the sintax is the same can be used with my GUI UsEac3To v1.3.3 without changes.
Also the libdcadec.dll was updated but still don't support all DTS sources.
But seems the EAC3 decode problems remain unsolved.
Like I say before the decoder problems can be solved if eac3to can use the last avcodec-XX.dll, avutil-YY.dll delivered with ffmpeg.
That can solve the AAC, EAC3, DTS, ... decode.
About encoders the libFLAC.dll remain not updated and libAften.dll is obsolete.
It is possible use the libav encoders? Can be solved with 'pipe' commands but libav encoders are there.
Are there any devs interested in taking over eac3to development (bugfixes and improvements)? I'm considering open-sourcing it,...
I encourage to do it, I can't do the job (I'm new in Delphi) but I can help to any dev interested.
madshi
9th May 2022, 17:34
Updating libFLAC.dll should be easy. Unfortunately updating the ffmpeg dlls is not easy at all. Most of the dlls I'm using have a stable interface, which means you can update to a newer build without a worry in the world. However, with ffmpeg, updating is never easy. It could screw with everything. E.g. I've experienced in the past that the channel order of decoders changed from one libav build to another. The internal structures change for sure, which makes things more difficult for Delphi. So everything would have to be carefully retested from scratch. That's not something I can do atm. Changing to other decoders and/or encoders is even more time consuming. That's why I love dlls like libFLAC.dll and libDcaDec.dll because they make my life easy. Don't get me wrong, I think ffmpeg is a wonderful project. I just wish they offered a precompiled dll version with a stable binary interface, and with no funny unexpected changes like channel order reordering from one version to another, or other things like that.
hubblec4
9th May 2022, 20:17
eac3to v3.36 released
Sorry for the long absence.
Better late than never :-) and a big thanks for this new release.
Are there any devs interested in taking over eac3to development (bugfixes and improvements)? I'm considering open-sourcing it, because I don't have a lot of time for it now, and probably in the near future. However, eac3to is written in Delphi, and the code is not in great shape (due to constant lack of time). Plus, the source code might be more complex/long than many devs might expect, because of the simple reason that eac3to has a *lot* of features, some more obvious than others. In any case, I'm not going to spend any time on open-sourcing it if there are no devs who have serious interest in working on it.
Wow, maybe a dream can be true: eac3to as open-source project would be splendid.
I don't know how many devs on doom9 which have experience with Delphi/Pascal.
I use Lazarus (great brother of Delphi^^) and therefore it should be is easy for me to read the code.
It would be a pleasure and honor at the same time to study the eac3to source code.
richardpl
10th May 2022, 09:32
Its dead software, Jim.
jpsdr
10th May 2022, 14:21
Its dead software, Jim.
If it's using Lazarus, it should be fine.
(Ok, i'm out...:o).
Barough
10th May 2022, 18:16
Good to see ya around again madshi. :)
Updating libFLAC.dll should be easy. Unfortunately updating the ffmpeg dlls is not easy at all. Most of the dlls I'm using have a stable interface, which means you can update to a newer build without a worry in the world. However, with ffmpeg, updating is never easy. It could screw with everything. E.g. I've experienced in the past that the channel order of decoders changed from one libav build to another. The internal structures change for sure, which makes things more difficult for Delphi. So everything would have to be carefully retested from scratch. That's not something I can do atm. Changing to other decoders and/or encoders is even more time consuming. That's why I love dlls like libFLAC.dll and libDcaDec.dll because they make my life easy. Don't get me wrong, I think ffmpeg is a wonderful project. I just wish they offered a precompiled dll version with a stable binary interface, and with no funny unexpected changes like channel order reordering from one version to another, or other things like that.
Updating shared FFmpeg DLL's can for sure become a issue. Seen other softwares using the DLL's and manual updates of those can do more harm then good......
Would be gr8 to see a new release from ya in the near future that contains dll's that's easily updated. ;)
Unfortunately you are right, Barough. Updating the ffmpeg core in VirtualDub2 has been delayed for ... generations of ffmpeg, I fear. Some changes in the API / ABI :confused: ... must have been fundamental.
Bandits
11th May 2022, 09:01
eac3to v3.36 released
* fixed: UHD Blu-Ray support didn't work with newer releases
* fixed: on some OSs there were crashes
* fixed: libav command line output hooking wasn't working properly
* added special handling for TrueHD seamless branching
* 2nd pass for audio gap fixing is auto-disabled for (UHD) Blu-Rays now
* libDcaDec: updated to 0.2.0
http://madshi.net/eac3to.zip
Sorry for the long absence. The new build mainly aims at fixing the most important UHD Blu-Ray problems.
Please note that the new TrueHD seamless branching feature aims only at preventing any "pops" or other unwanted artifacts. It does not try to keep proper sync. Which is usually not important for TrueHD because sync loss is less than 1ms per seamless branching file/part. However, there may be a few rare (UHD) Blu-Rays with an insane number of parts. In that case there may be a small sync mismatch at the end of the audio track. Or maybe not. eac3to now drops frames where it helps prevent audio artifacts. And it doesn't drop frames where that's better to prevent audio artifacts. So maybe sync is already perfect afterwards, I'm not sure. Needs to be tested. For most (UHD) Blu-Rays, sync will not be an issue, anyway.
Are there any devs interested in taking over eac3to development (bugfixes and improvements)? I'm considering open-sourcing it, because I don't have a lot of time for it now, and probably in the near future. However, eac3to is written in Delphi, and the code is not in great shape (due to constant lack of time). Plus, the source code might be more complex/long than many devs might expect, because of the simple reason that eac3to has a *lot* of features, some more obvious than others. In any case, I'm not going to spend any time on open-sourcing it if there are no devs who have serious interest in working on it.
Madshi, thank you for the update. Hope your current projects are doing well. Was there anything done to -minPlayListRuntime? I can't seem to use it anymore.
Curious what was done for gap handling in TrueHD. I know over at DGDemux (https://rationalqm.us/board/viewforum.php?f=16) they wrestled with it for a bit.
Once again thanks for the update.
manuelin
14th May 2022, 05:39
Which would be a good 1080p or UHD Blu-Ray to test that with? The bigger the subtitle sync issues the better. I can't promise a quick fix on that, though. If you find issues with TrueHD, that I might be able to fix more quickly, since I just worked on that, so I know the details. But subtitles would require me to deep dive into the related code, and that's not something I can do quickly.
Any disc with a playlist that is split into several m2ts files instead of just a single m2ts file should work for you.
This problem only occurs with UHD Blu-ray, in 1080p Blu-ray the PGS subtitles are perfectly demuxed.
If you need a concrete example, I can tell you for example the following film that I have at hand right now: Soul (2020).
If you try to demux the 1080p Blu-ray of this movie the PGS subtitles are perfect, but if you demux the UHD Blu-ray the PGS subtitles are out of sync. In this movie both discs (1080p and UHD) are synchronized, so both subtitles should have the same timings (not exactly identical, as sometimes some timings have 1ms differences, but it is correct as the original subtitles are like that).
For example, if you look at the last line (1855) of both PGS demuxed with eac3to, you will see that the 1080 Blu-ray times are Start: 01:40:28.856 / End: 01:40:30.233 but the UHD Blu-ray times are Start: 01:40:31.067 / End: 01:40:32.443.
UHD times should be the same as 1080. With possible differences of 1ms as I mentioned before, since the subtitle timings are really like that, slightly different (-/+ 1ms) in both PGS files.
Thank you very much in advance!
P.S. If you are interested I can tell you about other bugs:
- In the new version (v3.36) all UHD Blu-rays are broken (and at least in 3.34 it works), eac3to is now internally trying to perform some kind of conversion to video which causes it to always fail:
This video conversion is not supported. <ERROR>
- This has been a known problem for many years, so it must affect all versions of eac3to. The eac3 7.1 audios fail to demux if they have dialnorm, there is no problem if the audio does not have dialnorm. The error displayed is as follows:
Removing AC3 dialog normalization...
Applying (E-)AC3 delay failed. <ERROR>
Aborted at file position XXXXXXX. <ERROR>
I have verified that the failure is caused by trying to remove the dialog normalization, because if you try to set the parameter 'keepDialnorm' it works perfectly (although of course, the dialnorm is kept and not removed).
Although I don't understand why the log shows that it is applying delay, if there is no delay. Maybe this has something to do with this error?
So I understand that there are 2 options: the most advisable would be to try to fix eac3to so that it is also able to remove the dialnorm in this type of audios, or else the other option would be that eac3to applies internally the 'keepDialnorm' parameter only to this type of audios so that at least the process does not fail.
If you want to test with this bug, coincidentally the Blu-ray we discussed earlier (Soul) contains audio of this type.
As a note, I also have eac3 7.1 audios that are not from Blu-ray and on those audios the eac3to does not fail and correctly removes the dialnorm. I'm not sure what the difference is between an eac3 7.1 and another one, I only see these differences:
Audio that fails: eac3to shows that core is AC3 and MediaInfo reports this: Format profile: Blu-ray Disc.
Audio that does not fail: eac3to shows that core is E-AC3 and MediaInfo does not report anything (so the profile must be Standard).
So if you decide the option that eac3to applies internally the 'keepDialnorm' parameter, you should try to only do it for the audios that fail (Format profile: Blu-ray Disc), so that eac3to can continue to remove the dialnorm in the other audios that do not fail.
tormento
14th May 2022, 20:17
eac3to v3.36 released
Welcome back!
Would be possible to have a x64 build?
P.S: There are newer versions of the libraries you included:
LibFLAC 1.3.4 (https://www.rarewares.org/lossless.php)
AFTEN git-20091226 (https://github.com/wieslawsoltes/AftenWindowsBuilds/releases/tag/git-20091226)
DCADEC latest git (https://github.com/staxrip/staxrip/issues/32)
tebasuna51
15th May 2022, 03:34
libFLAC v1.3.4 for win32 (https://www.rarewares.org/files/lossless/flac_dll-1.3.4-x86.zip)
Rename the libflac_dynamic.dll to libflac.dll
AFTEN git-20091226 (https://github.com/wieslawsoltes/AftenWindowsBuilds/releases/tag/git-20091226)
Forget libAften (https://forum.doom9.org/showthread.php?p=1794293#post1794293), use ffmpeg to encode to AC3, EAC3, ...
DCADEC latest git (https://github.com/staxrip/staxrip/issues/32)
Last version already included in eac3to v3.36
tormento
15th May 2022, 07:21
use ffmpeg to encode to AC3, EAC3
Actually, I use ffmpeg to decode audio only and I use TotalStudio to encode to AC3/EAC3. :)
meemeemee
16th May 2022, 18:02
Thanks a lot @madshi for this updated release of eac3to. Two thumbs up!
I can confirm what Manuelin wrote: if you use -check or -demux on UHD blu-rays which are either HDR10 only or HDR10+ with DoVi, I get "This video conversion is not supported" error (regular blu-rays are OK). Working on 3.34
Question: is there some possibility to add function where you can omit with -demux function E-AC3 tracks? If you got at least one audio track in E-AC3, eac3to refuses to do -demux and stops with error. If you got a lot of streams to -demux, it needs to be done manually. Example:
3: E-AC3, English, 7.1 channels, 896kbps, 48kHz, dialnorm: -27dB
(core: AC3, 5.1 channels, 512kbps, 48kHz, dialnorm: -27dB)
4: AC3, Danish, 5.1 channels, 640kbps, 48kHz, dialnorm: -27dB
5: AC3, Finnish, 5.1 channels, 640kbps, 48kHz, dialnorm: -27dB
6: AC3, Norwegian, 5.1 channels, 640kbps, 48kHz, dialnorm: -27dB
7: AC3, Swedish, 5.1 channels, 640kbps, 48kHz, dialnorm: -27dB
8: Subtitle (PGS), English
9: Subtitle (PGS), Danish
10: Subtitle (PGS), Finnish
11: Subtitle (PGS), Norwegian
12: Subtitle (PGS), Swedish
13: Subtitle (PGS), Danish
14: Subtitle (PGS), Finnish
15: Subtitle (PGS), Norwegian
16: Subtitle (PGS), Swedish
Creating file "00983 - Chapters.txt"...
s15 Extracting subtitle track number 15...
a03 Extracting audio track number 3...
a05 Extracting audio track number 5...
a06 Extracting audio track number 6...
s14 Extracting subtitle track number 14...
s16 Extracting subtitle track number 16...
a07 Extracting audio track number 7...
s11 Extracting subtitle track number 11...
v02 Extracting video track number 2...
a03 Removing AC3 dialog normalization...
s08 Extracting subtitle track number 8...
a04 Extracting audio track number 4...
s10 Extracting subtitle track number 10...
a05 Removing AC3 dialog normalization...
s12 Extracting subtitle track number 12...
s13 Extracting subtitle track number 13...
a06 Removing AC3 dialog normalization...
s09 Extracting subtitle track number 9...
a07 Removing AC3 dialog normalization...
a03 Applying (E-)AC3 delay failed.
a04 Removing AC3 dialog normalization...
Aborted at file position 1048576.
Observation: I demuxed one problematic seamless-branched uhd blu-ray - F9 saga with both versions of eac3to and gaps in ms seems to be a little bit different. Timestamps are the same. Is this because of that new "Optimizing TrueHD steam" function?
Comparison of logs: https://slow.pics/c/55Reejzh
oniiz86
27th May 2022, 16:14
In the new version (v3.36) all UHD Blu-rays are broken (and at least in 3.34 it works), eac3to is now internally trying to perform some kind of conversion to video which causes it to always fail:
- This has been a known problem for many years, so it must affect all versions of eac3to. The eac3 7.1 audios fail to demux if they have dialnorm, there is no problem if the audio does not have dialnorm.
So since the latest 3.36 is effectively broken & should not be used, is it best to remain on 3.34?
I'm a bit confused because you say it's fine in 3.34 but than you say it has been a problem for many years so it must affect all versions of eac3to?
tormento
2nd June 2022, 08:21
Can someone update us about the situation on DTS and THD decoding by external libraries?
I'd like to try something "professional" instead of the usual eac3to libraries (or ffmpeg).
richardpl
2nd June 2022, 08:49
Here are no professional people at all. You can always use your hardware implementation by just passing compressed frames to it via some specified way.
Besides both THD and DTS are bitexact decoders in FFmpeg, so your blasphemy is uncalled for, unless you want to buy license for using those codec - then go ahead, buy it. I hope you will make some people more rich then they are right now.
tormento
2nd June 2022, 09:42
Besides both THD and DTS are bitexact decoders in FFmpeg
AFAIK ffmpeg decoders are reverse engineered, not the exact algorithm.
If the specifications are available, then the libav implementation is as exact as any other.
richardpl
3rd June 2022, 08:44
Even when you have arguments you are left with personal attacks from people that lacks knowledge.
Both DTS (all specifications are available) and THD (always lossless, no real specifications available) decodes bit by bit exact.
There is certain motion here and elsewhere that makes reverse engineering sounds bad, but if properly done it is not worse than original binary code, it can be even better if original binary have security issues with specially crafted files.
tebasuna51
3rd June 2022, 09:09
AFAIK ffmpeg decoders are reverse engineered, not the exact algorithm.
(Remember forum rule 4)
I make many test encoding sources to DTS-MA and the decoded output of ffmpeg are always bitexact with sources.
Even better than ArcSoft decoders, with supossed original algorithms, than show some rounding errors with last bit unexact.
nekrovski
8th June 2022, 21:04
Hi, sorry for kinda newbish question but is there a way to use eac3to.exe CLI without all the DLLs?
If it runs at all, it may offer only a rather basic set of features, like demultiplexing only, but no conversions.
rsotome
26th September 2022, 03:15
Trying to demux an h265/hevc track from an mkv container, but with 3.36, I get this error...
This video conversion is not supported.
with 3.34, it works just fine, any help would be appreciated.
Thank you.
tebasuna51
26th September 2022, 10:59
@rsotome
You are right, I obtain this error also. I tried .hevc, .h265 and .265 with the same problem.
eac3to is old and I can't recommend you for video management, use mkvextract or ffmpeg.
rsotome
26th September 2022, 20:28
Would love to, but as far as I know, eac3to is the only program that can add missing video framerate information & remove dialnorm from audio tracks, on the fly.
tebasuna51
27th September 2022, 10:41
... eac3to is the only program that can add missing video framerate information...
I only test it with h264, but if v3.34 works for you use it.
oniiz86
28th September 2022, 08:09
Is it most unlikely for @madshi to revert the change or fix this regression, what exactly has v3.36 fixed or improved over v3.34, is it some UHD seamless branching audio dropouts?
jpsdr
28th September 2022, 17:51
At one point madshi talked to eventualy make his code public (on repo ?), don't know if still in thoughts for him.
meemeemee
30th September 2022, 19:24
Trying to demux an h265/hevc track from an mkv container, but with 3.36, I get this error...
This video conversion is not supported.
with 3.34, it works just fine, any help would be appreciated.
Thank you.
Yep, the same here... mentioned this in my first post on this forum:
https://forum.doom9.org/showpost.php?p=1969157&postcount=15162
3.36 is un-usable then at this state and we need to wait for @madshi to fix it.
oniiz86
1st October 2022, 08:15
Yep, the same here... mentioned this in my first post on this forum:
https://forum.doom9.org/showpost.php?p=1969157&postcount=15162
3.36 is un-usable then at this state and we need to wait for @madshi to fix it.
It is a real shame @madshi didn't thoroughly test v3.36 before release as it is quite a glaring regression, breaking the ability to demux hevc streams, I don't see this being rectified anytime soon as v3.36 was released approx. 5 years after v3.34 so maybe another release may come another 5 years from now :D
Mango
1st October 2022, 19:28
My homemade rip of a BluRay had trouble with the audio cutting out using TrueHD audio. I fixed it by creating a FLAC version with this software, which was cool. But I am wondering if TrueHD bitstreaming issues are common, or just something with this file?
Thunderbolt8
5th October 2022, 16:53
is it possible to exchange the built-in flac file for the latest one of 1.4.1?
btw. would look forward to others taking over the project if madshi doesnt have time for it any more. still my favourite all/(most) in one tool.
Thunderbolt8
5th October 2022, 20:36
If I wanted to convert a 6.1 DTS-HD MA track to 5.1 channel format whats the most accurate way to do this? Do I have to specify -down6? or do some manual remapping of the channels?
tebasuna51
6th October 2022, 11:28
is it possible to exchange the built-in flac file for the latest one of 1.4.1?
Yes. Updated the first post.
If I wanted to convert a 6.1 DTS-HD MA track to 5.1 channel format whats the most accurate way to do this? Do I have to specify -down6? or do some manual remapping of the channels?
To downmix with eac3to you can use only -down6.
For some manual downmix you can use ffmpeg or sox.
Read 7.1 downmix function? (https://forum.doom9.org/showthread.php?t=181726)
From 6.1 instead 7.1 you need change:
pan=stereo|c0=0.5*c4+0.5*c6|c1=0.5*c5+0.5*c7,
to:
pan=stereo|c0=0.412*c4+0.588*c5|c1=0.412*c4+0.588*c6,
KSSW
7th October 2022, 05:31
Encoding the core file (ac3) of the THD file to Dolby Surround EX mode, but the default is no Dolby Surround EX
log
command line: "C:\Users\****\Desktop\eac3to334\eac3to.exe" D:\ATMOS.mlp D:\A.THD+AC3
TrueHD (Atmos), 7.1 channels, 48kHz
AC3 encoding doesn't support back channels. Will mix them into the surround.
Decoding with libav/ffmpeg...
Mixing surround channels...
Remapping channels...
Encoding AC3 <640kbps> with libAften...Convert Encoding AC3 EX<640kbps> with libAften...
The main thing is to turn on Dolby Surround EX mode
Maybe add the command line
tebasuna51
7th October 2022, 11:34
But the downmix 7.1 -> 5.1:
SL' = SL + BL
SR' = SR + BR
is not a AC3 EX mix 6.1->5.1:
SL' = SL + 0.7*BC
SR' = SR + 0.7*BC
when a AVR read the EX flag extract the common part from SL'-SR' to send it to BC speaker, that is usefull only in 6.1 AVR's, from a mix 7.1 -> 5.1 it is not exact.
KSSW
9th October 2022, 10:23
But the downmix 7.1 -> 5.1:
SL' = SL + BL
SR' = SR + BR
is not a AC3 EX mix 6.1->5.1:
SL' = SL + 0.7*BC
SR' = SR + 0.7*BC
when a AVR read the EX flag extract the common part from SL'-SR' to send it to BC speaker, that is usefull only in 6.1 AVR's, from a mix 7.1 -> 5.1 it is not exact.
How to integrate with thd audio
However, eac3to does not support the ex mode
tebasuna51
9th October 2022, 10:56
How to integrate with thd audio
I never see THD 6.1
However, eac3to does not support the ex mode
And can't recommend use libAften to AC3 encode, use ffmpeg instead.
KSSW
9th October 2022, 14:29
I never see THD 6.1
And can't recommend use libAften to AC3 encode, use ffmpeg instead.
This is Dolby atmos, not THD6.1.
How to use ffmpeg and Eac3To together to use THD+AC3
tebasuna51
9th October 2022, 15:37
You don't need eac3to, see the thread 7.1 downmix function? (https://forum.doom9.org/showthread.php?t=181726) to do a good downmix and recode to AC3, and after join the two tracks with thdmerge (https://forum.doom9.org/showthread.php?p=1976255#post1976255):
"ffmpeg.exe" -i "thd71.thd" -filter_complex "asplit [f][s]; [f] pan=3.1|c0=c0|c1=c1|c2=c2|c3=c3 [r]; [s] pan=stereo|c0=0.5*c4+0.5*c6|c1=0.5*c5+0.5*c7, compand=attacks=0:decays=0:points=-90/-84|-10/-4|-6/-2|-0/-0.3, aformat=channel_layouts=stereo [d]; [r][d] amerge [a]" -map "[a]" -acodec ac3 -center_mixlev 0.707 -dsurex_mode 2 -ab 640k "ac351.ac3"
"thdmerge.exe" "thd71.thd" "ac351.ac3" "thd_BD.thd+ac3"
with "-dsurex_mode 2" you set the EX flag.
KSSW
10th October 2022, 00:11
You don't need eac3to, see the thread 7.1 downmix function? (https://forum.doom9.org/showthread.php?t=181726) to do a good downmix and recode to AC3, and after join the two tracks with thdmerge (http://rationalqm.us/board/viewtopic.php?f=16&p=15406#p15406):
"ffmpeg.exe" -i "thd71.thd" -filter_complex "asplit [f][s]; [f] pan=3.1|c0=c0|c1=c1|c2=c2|c3=c3 [r]; [s] pan=stereo|c0=0.5*c4+0.5*c6|c1=0.5*c5+0.5*c7, compand=attacks=0:decays=0:points=-90/-84|-10/-4|-6/-2|-0/-0.3, aformat=channel_layouts=stereo [d]; [r][d] amerge [a]" -map "[a]" -acodec ac3 -center_mixlev 0.707 -dsurex_mode 2 -ab 640k "ac351.ac3"
"thdmerge.exe" "thd71.thd" "ac351.ac3" "thd_BD.thd+ac3"
with "-dsurex_mode 2" you set the EX flag.
I can't find thdmerge.exe,Request download link thank you.
filler56789
10th October 2022, 06:44
I can't find thdmerge.exe,Request download link thank you.
Attachment = thdmerge_1.1.zip.
tebasuna51
10th October 2022, 11:42
The last version included in DGDemux_1.0.0.62.zip (https://www.rationalqm.us/dgdemux/binaries/):
mattmarsden
11th October 2022, 12:45
Is there a way to stretch audio from 24fps to 23.976 maybe adding very small loops every so often?
tebasuna51
11th October 2022, 21:53
Of course we can add a sample every 1000 samples (23.976 is really 24000/1001), to obtain 48048 samples from 48000.
You can do it with a ffmpeg filter like:
-af "aresample=48048, asetrate=48000"
The same method than do eac3to with:
-24 -changeTo23.976
mattmarsden
13th October 2022, 14:33
Of course we can add a sample every 1000 samples (23.976 is really 24000/1001), to obtain 48048 samples from 48000.
You can do it with a ffmpeg filter like:
-af "aresample=48048, asetrate=48000"
The same method than do eac3to with:
-24 -changeTo23.976
Thanks, I'm trying to do it without re encoding. The eac3to command doesn't do anything unless its re encoding. I just want to add in a gap or a loop every 1000 samples.
filler56789
13th October 2022, 15:49
Thanks, I'm trying to do it without re encoding. The eac3to command doesn't do anything unless its re encoding. I just want to add in a gap or a loop every 1000 samples.
Not possible, A.F.A.I.K.
(and principally with lossy compression) :-/.
PERHAPS you could do that by using uncompressed audio AND creating+editing a "timecodes.txt" file for a Matroska container...:confused:
—but I think it really would not be worth the effort :-/
tebasuna51
13th October 2022, 21:16
Without recode you only can delete/duplicate frames (11 ms in dts, 32 ms in AC3,...) that can produce (not always but many times) audible clicks and the result is always worse than recode.
von Suppé
14th October 2022, 10:39
Is there a way to stretch audio from 24fps to 23.976...
Thanks, I'm trying to do it without re encoding.
Maybe in your case speeding up video to 24fps instead is a viable option? No recoding, just rewriting timestamps.
r0lZ
14th October 2022, 11:29
PERHAPS you could do that by using uncompressed audio AND creating+editing a "timecodes.txt" file for a Matroska container...:confused:
mattmarsden, I suppose the audio is for a movie. If you want to mux it to MKV, it is possible to stretch the audio track with a simple setting in mkvtoolnix-gui. Just select your audio track, and, in the left pane, add the stretch factor in the "Stretch by" field. Usually, that option gives good results, without re-encoding.
Of course, that doesn't work if you want to rebuild an ISO, or something similar.
tebasuna51
14th October 2022, 12:01
Delete/Duplicate frames or modify audio timestamps (Stretch by) can produce audio discontinuity (https://forum.doom9.org/showthread.php?p=1587184#post1587184) and can are listened as clicks.
Modify the video timestamps (or fps) between 24 and 23.976 is the best choice because by nature video is a succession of different images.
Of course if you want synconize two languages, modified to join video at different speed, the best option is recode one of them.
dts350z
16th October 2022, 19:56
eac3to Feature Request:
eac3to can create a thd+ac3 track by decoding thd and downmixing (same downmix scheme as Dolby) 7.1 to 5.1. However if I want my own downmixed version (creating my own ac3 with Dolby Media Encoder) there is no way to interleave the TrueHD mlp and the AC3 into the thd+ac3 format.
I would like to see that capability added, so as to be able to create BlueRay compatible audio tracks with both TrueHD and AC3 in the same track, from separate mlp and AC3 encodings.
tebasuna51
16th October 2022, 20:58
Please read https://forum.doom9.org/showthread.php?p=1976221#post1976221
De_Hollander
21st October 2022, 20:57
I never see THD 6.1
And can't recommend use libAften to AC3 encode, use ffmpeg instead.
That is not possible encode with ffmpeg, even though ffmpeg is manual installed in windows 11, UsEac3to133 use libAften to AC3 encode.
tebasuna51
21st October 2022, 21:37
...UsEac3to133 use libAften to AC3 encode.
With UsEac3to use the 'A/V Recode' button (read the Readme).
tebasuna51
22nd October 2022, 12:04
From the Readme:
Working
-------
The first time ask for eac3to, but also you can go to 'Settings' to inform about:
...
- Folder with de/encoders: when the soft need a de/encoder search at UsEac3to folder, after in the folder indicated here and, at last, in the ec3to folder.
...
UsEac3to don't search in the system PATH, maybe in next version.
I have a folder "C:\Portable\0" where I have all command line encoders/decoders and have it in the system PATH and also in UsEac3to, Foobar2000, and others softs than use them.
When there are new versions only need modify the soft in C:\Portable\0
FrasierCrane
22nd October 2022, 12:35
Hi!
I've encountered a few bugs of eac3to:
1) Sometimes (seems random), conversion of any audio track to AC3 results in garbled sound. The audio is still somewhat recognizable, but distorted and overlayed with noise, etc. Running exactly the same eac3to command line again, mostly fixes it and the output is fine! Really strange... Logs attached.
2) Extracting PGS subtitles from MKV files results in corrupt SUP files, they are unreadable and are only about 1 third of the size they should be (when correctly extracting them with e.g. MKVExtract).
3) Demuxxing some formats (e.g. SUB subtitles) result in "This conversion is not supported" (or something like this) - should simply be demuxxed without any conversion.
4) Filenames containing ö,ä,ü,ß etc. lead to strange error messages! E.g.:
eac2to.exe "Hören.mkv" -progressnumbers -LOG="C:\log.txt"
Would be really nice if these issues could be fixed! Especially 1-3.
And I have a feature request:
It would be great if eac3to could extract the forced subtitles of each subtitle track into separate tracks (e.g. with the suffix "_FORCED"! The program already detects the forced flag of subtitles, so it should be possible to extract the forced captions. This would save a lot of time (currently I need to run "BDSup2Sub" just for doing that).
Thanks!
tebasuna51
22nd October 2022, 19:36
1) Use ffmpeg to encode AC3, Aften/libAften is abandoned longtime ago.
2) Know problem, eac3to extract compressed (not corrupt) SUP files only when them was compressed (default) by mkvmerge. If them was muxed without compression eac3to work fine.
Use MkvExtract
3,4,feature request) I doubt than madshi want add this, but who know?
Removed attachements not needed.
kdantas
29th October 2022, 01:55
Hello, I'm trying to insert a subtitle in a bluray movie, using TSMuxer/BDEdit, but the m2ts file has LPCM audio. Unfortunately I am not having success. Neither extract the LPCM audio. After demux, the LPCM audio file (wav) gets smaller by 2 minutes. I already tried to do demux/conversion with eac3to or ffmpeg, but the conversion of the LPCM file does not proceed with error, or the extracted file takes a shorter time than the original. It doesn't matter if I use eac3to or ffmpeg with gui, it always gives error. Does anyone have a solution to extract the LPCM file and then convert it to DTS/FLC/AC3?
The mediainfo of the m2ts file is:
General
ID : 0 (0x0)
Complete name : E:\Videodrome 1983 1080p GBR Blu-ray AVC LPCM 1.0-ESiR\BDMV\STREAM\00004.m2ts
Format : BDAV
Format/Info : Blu-ray Video
File size : 24.3 GiB
Duration : 1 h 28 min
Overall bit rate mode : Variable
Overall bit rate : 39.3 Mb/s
Maximum Overall bit rate : 48.0 Mb/s
Video
ID : 4113 (0x1011)
Menu ID : 1 (0x1)
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.1
Format settings : CABAC / 3 Ref Frames
Format settings, CABAC : Yes
Format settings, Reference frames : 3 frames
Codec ID : 27
Duration : 1 h 28 min
Bit rate mode : Variable
Bit rate : 35.0 Mb/s
Maximum bit rate : 38.0 Mb/s
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate : 23.976 (24000/1001) FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.704
Stream size : 21.8 GiB (90%)
Writing library : x264 core 128 r2216 198a7ea
Encoding settings : cabac=1 / ref=4 / deblock=0:-1:-1 / analyse=0x3:0x133 / me=umh / subme=10 / psy=1 / psy_rd=1.00:0.15 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-3 / threads=12 / lookahead_threads=2 / sliced_threads=0 / slices=4 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=1 / constrained_intra=0 / bframes=3 / b_pyramid=1 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=1 / weightp=1 / keyint=24 / keyint_min=1 / scenecut=40 / intra_refresh=0 / rc_lookahead=24 / rc=2pass / mbtree=0 / bitrate=35000 / ratetol=1.0 / qcomp=0.00 / qpmin=0 / qpmax=69 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / vbv_maxrate=38000 / vbv_bufsize=28500 / nal_hrd=vbr / ip_ratio=1.40 / pb_ratio=1.30 / aq=1:1.00
Color range : Limited
Color primaries : BT.709
Transfer characteristics : BT.709
Matrix coefficients : BT.709
Audio #1
ID : 4352 (0x1100)
Menu ID : 1 (0x1)
Format : PCM
Format settings : Big / Signed
Muxing mode : Blu-ray
Codec ID : 128
Duration : 1 h 28 min
Bit rate mode : Constant
Bit rate : 1 152 kb/s
Channel(s) : 1 channel
Channel layout : C
Sampling rate : 48.0 kHz
Bit depth : 24 bits
Stream size : 731 MiB (3%)
Audio #2
ID : 4353 (0x1101)
Menu ID : 1 (0x1)
Format : AC-3
Format/Info : Audio Coding 3
Commercial name : Dolby Digital
Codec ID : 129
Duration : 1 h 28 min
Bit rate mode : Constant
Bit rate : 192 kb/s
Channel(s) : 2 channels
Channel layout : L R
Sampling rate : 48.0 kHz
Frame rate : 31.250 FPS (1536 SPF)
Compression mode : Lossy
Stream size : 122 MiB (0%)
Service kind : Complete Main
Text
ID : 4608 (0x1200)
Menu ID : 1 (0x1)
Format : PGS
Codec ID : 144
tebasuna51
29th October 2022, 17:00
Here we can't help over downloaded movies.
Claim to ESiR any problem.
Whit well performed BD files that must work fine:
eac3to "...\00004.m2ts" 2: output.flac
kdantas
30th October 2022, 06:18
Here we can't help over downloaded movies.
Claim to ESiR any problem.
Whit well performed BD files that must work fine:
eac3to "...\00004.m2ts" 2: output.flac
Hi @tebasuna51, could you take a look at this audio file (url deleted), because the converted file (flac, wav, ...) is 2 minutes shorter than the original?
tebasuna51
30th October 2022, 11:58
I don't need check that audio (url deleted by rule 6), it's OK.
The problem is trust in all MediaInfo data, when a audio it's inside a container MediaInfo do some assumptions instead analize the full track
Check the PCM data:
Format : PCM
Duration : 1 h 28 min
Bit rate : 1 152 kb/s
Channel(s) : 1 channel
Sampling rate : 48.0 kHz
Bit depth : 24 bits
Stream size : 731 MiB
The BitRate is correct and without possible error:
24 bits * 1 channel * 48000 samples/sec = 1152000 b/s
But there are some problem whit the stream size:
1152000 b/s * 1 h 28 min = (1152000 * 5280 sec) bits = 726 MB
What is wrong, the Stream size, the Duration or both?
It's know than MediaInfo assume the duration of container when know the exact duration require analize the full audio stream (PCM, DTS-MA, THD, FLAC, AAC,...)
You can't trust in duration and stream size until extract the track outside the container.
Trust in eac3to, ffmpeg than read the full m2ts to extract fine the track
kdantas
31st October 2022, 02:08
I don't need check that audio (url deleted by rule 6), it's OK.
The problem is trust in all MediaInfo data, when a audio it's inside a container MediaInfo do some assumptions instead analize the full track
Check the PCM data:
The BitRate is correct and without possible error:
24 bits * 1 channel * 48000 samples/sec = 1152000 b/s
But there are some problem whit the stream size:
1152000 b/s * 1 h 28 min = (1152000 * 5280 sec) bits = 726 MB
What is wrong, the Stream size, the Duration or both?
It's know than MediaInfo assume the duration of container when know the exact duration require analize the full audio stream (PCM, DTS-MA, THD, FLAC, AAC,...)
You can't trust in duration and stream size until extract the track outside the container.
Trust in eac3to, ffmpeg than read the full m2ts to extract fine the track
https://imgur.com/WfiCrPv.jpg
I don't know if MediaInfo is showing wrong information, but the file player shows that it has a time of 01:28:39.
https://imgur.com/zggTDQX.jpg
Extracted PCM File MediaInfo. See Duartion info:
General
Complete name : E:\FFMpeg Temp\DG_output PID 1100 eng DELAY 0ms.w64
Format : Wave64
File size : 716 MiB
Duration : 1 h 26 min
Overall bit rate mode : Constant
Overall bit rate : 1 152 kb/s
Audio
Format : PCM
Format settings : Little / Signed
Codec ID : 1
Duration : 1 h 26 min
Bit rate mode : Constant
Bit rate : 1 152 kb/s
Channel(s) : 1 channel
Sampling rate : 48.0 kHz
Bit depth : 24 bits
Stream size : 716 MiB (100%)
tebasuna51
31st October 2022, 12:37
You can see the correct duration (1 h 26 min) and size (716 MiB) of PCM track.
Not all the tracks in a container must have the same duration and the container must show the longest one.
Of course a player must show the longest duration, not problem with a short one: play silence for audio or black screen for video.
You can see (signaled) other wrong data: 2304 kb/s when we know it is 1152 Kb/s
Taran2L
7th November 2022, 15:01
Hello. I have used eac3to for a lot of tracks for automatic converting from 7.1/5.1 Atmos or DD to AC3 5.1 640 and I never asked myself if is there something better then default libaften.dll
So now I’m a bit confused about ffmpeg
Which one is better to download from ffmpeg.org:
Windows builds from gyan.dev
Windows builds by BtbN
Or is it some other source to download only little dll?
And I never worried about convert option, just:
eac3to c:\Films\eng.dts c:\Films\eng.ac3
Is there something common for converting from dts file to ac3 with automating downmixing if need and remapping using ffmpeg parameters?
LigH
7th November 2022, 22:30
Hi.
The AC3 encoder currently built in ffmpeg/libavcodec (-codec:a ac3) is a lot better than libaften.
Furthermore, in addition to your list, one of the most generally famous Windows builds is that of Zeranoe.
tebasuna51
8th November 2022, 00:05
Furthermore, in addition to your list, one of the most generally famous Windows builds is that of Zeranoe.
"ffmpeg.zeranoe.com will close on Sep 18, 2020, and all builds will be removed"
Both gyan.dev or BtbN are good, with more or less components, but to AC3 encode the gyan essentials build is enough.
ffmpeg do automatic downmix from 7.1 to 5.1, if you want a better downmix read https://forum.doom9.org/showthread.php?t=181726
LigH
9th November 2022, 00:54
Oof, I completely missed that since I build my own with the media-autobuild suite... :o
guest
16th November 2022, 00:59
eac3to v3.36 released
* fixed: UHD Blu-Ray support didn't work with newer releases
* fixed: on some OSs there were crashes
* fixed: libav command line output hooking wasn't working properly
* added special handling for TrueHD seamless branching
* 2nd pass for audio gap fixing is auto-disabled for (UHD) Blu-Rays now
* libDcaDec: updated to 0.2.0
Hi madshi,
So with v3.36, you state that it has "fixed-UHD Blu-Ray support", but there's a couple of users on the RipBot264 thread that are having issues,
eg:-
https://forum.doom9.org/showthread.php?p=1972107#post1972107
and more recently another user posted this :-
https://forum.doom9.org/showthread.php?p=1978527#post1978527
Would be interested in your thoughts / suggestions on this :cool:
odino
21st November 2022, 13:40
My fault, I forget the stdout.wav. Corrected in the post.
Yep, in all my test using 0.34 or less the output is HE, using 0.35 or higer the output is LC.
Then your problem can't be about that.
Of course, QAAC is, for now, considered the best AAC encoder at low bitrates, for high bitrates we can't make test because the output can't be differentiated.
I'm not sure is this can cause the problem and how MkvMerge mux the m4a.
I will make some test about that.
Sorry to bring up this super old topic but I have this issue that every AAC encode results in HE AAC but I want it to be AAC-LC. Forcing quality doesn't change anything. Does it have anything to do with the neroAacEnc.exe I am using or can I force LC in any way?
tebasuna51
21st November 2022, 23:01
I can't reproduce your problem, using quality greater than 0.35 always output AAC-LC.
Please show your command line used.
My encoder:
18/02/2010 10:54 868.352 neroAacEnc.exe
odino
22nd November 2022, 04:54
I have the same encoder version; tried several command lines now but always HE AAC.
C:\Program Files (x86)\eac3to>eac3to.exe d:\test.mkv d:\test.aac -224 -quality=0.5
MKV, 1 video track, 1 audio track, 1 subtitle track, 0:41:47, 48i /1.001
1: h265/HEVC, 1080i
2: AC3, English, 5.1 channels, 448kbps, 48kHz
3: Subtitle (SRT), English
Track 2 is used for destination file "test.aac".
a02 Extracting audio track number 2...
a02 Decoding with libav/ffmpeg...
a02 Reducing depth from 64 to 32 bits...
a02 Encoding AAC <224kbps> with NeroAacEnc...
eac3to processing took 3 minutes, 9 seconds.
Done.
Same if I convert to WAV first and several different -quality= options.
ID : 1
Format : AAC LC SBR
Format/Info : Advanced Audio Codec Low Complexity with Spectral Band Replication
Commercial name : HE-AAC
Format settings : Explicit
Codec ID : mp4a-40-2
Duration : 41 min 47 s
Bit rate mode : Variable
Bit rate : 224 kb/s
Maximum bit rate : 250 kb/s
Channel(s) : 6 channels
Channel layout : C L R Ls Rs LFE
Sampling rate : 48.0 kHz
Frame rate : 23.438 FPS (2048 SPF)
Compression mode : Lossy
Stream size : 66.9 MiB (100%)
Writing library : Nero AAC codec 1.5.4.0
Encoding settings : -cbr 224000
tebasuna51
22nd November 2022, 14:23
eac3to.exe d:\test.mkv d:\test.aac -224 -quality=0.5
...
a02 Encoding AAC <224kbps> with NeroAacEnc...
You can't encode to a fix average bitrate (-224) and in quality mode.
eac3to send to encoder only the fix bitrate and it is not enough for LC mode.
Please use only -quality=0.35 to obtain the less bitrate possible at LC mode.
The encoder have a parameter (-lc) to force LC mode but eac3to can't use it, you can use the external encoder with:
eac3to "input" stdout.wav | NeroAacEnc -br 224 -lc -ignorelength -if - -of "output.m4a"
to force LC mode but it is not recommended at all.
LigH
22nd November 2022, 17:55
Quality based AAC encoding will produce a variable audio bitrate. That's fine, the MP4 and MKV containers can handle that.
weust
24th December 2022, 15:15
I was ripping some UHD's which are giving me a hard time for some reason, and at first I was using version 3.34 which is working without issues, but I noticed 3.36 was released too.
Normally I use MKVToolnix, since that works fine for me, and eac3to to list the playlists I might need to rip.
But with version 3.36 I am running into some weird issues when trying to rip.
Both video and audio show these messages:
"This video conversion is not supported", "This audio conversion is not supported."
This is for only ripping either the video track (both video and Dolby Vision) or audio track.
Going back to version 3.34 and it works fine as before.
I don't have any DLL's replaced, so pure unzip and use.
Am I doing something wrong?
Example:
D:\Tools\eac3to>eac3to.exe f: 2) 2:d:\videos\02video.hevc
M2TS, 2 video tracks, 3 audio tracks, 12 subtitle tracks, 0:54:12, 24p /1.001
1: Chapters, 8 chapters
2: h265/HEVC, 2160p24 /1.001 (16:9), 10 bits
3: h265/HEVC, 1080p24 /1.001 (16:9), 10 bits
4: TrueHD/AC3 (Atmos), English, 7.1 channels, 48kHz
(embedded: AC3, 5.1 channels, 448kbps, 48kHz, dialnorm: -27dB)
5: AC3, French, 5.1 channels, 640kbps, 48kHz
6: AC3, German, 5.1 channels, 640kbps, 48kHz
7: Subtitle (PGS), English
8: Subtitle (PGS), French
9: Subtitle (PGS), German
10: Subtitle (PGS), Dutch
11: Subtitle (PGS), Chinese
12: Subtitle (PGS), Korean
13: Subtitle (PGS), Danish
14: Subtitle (PGS), Finnish
15: Subtitle (PGS), Norwegian
16: Subtitle (PGS), Swedish
17: Subtitle (PGS), French
18: Subtitle (PGS), German
This video conversion is not supported.
Boulder
25th December 2022, 10:38
Put a whitespace after 2: :)
Ex0rcist
25th December 2022, 10:44
I'm trying to demux .mkv file with positive audio delay using eac3to. I've noticed that after delay is fixed distortion audio is added/occurs at the beginning, why is that and how to avoid it ?
tebasuna51
26th December 2022, 13:10
Only silence frames are added at the begining, if there are distortion must be present in the original audio.
Use mkvextract to extract the audio without apply the delay.
Ex0rcist
26th December 2022, 13:42
There's no distortion noticeable if i extract audio with mkvextract, so it's definitely eac3to issue. It should add silence frames where audio is missing but instead it adds buzzing sound. Does it make any difference if positive delay isnt fixed when demuxing/remuxing files ?
Edit: It doesnt work well if delay isnt fixed, because it shifts the audio for a few frames which doesnt make it synced as original.
tebasuna51
27th December 2022, 12:22
Please upload the log of eac3to when extract/demux the orginal file.
light5out
2nd January 2023, 20:55
Hello, I have a remux of a UHD bluray of a live concert. I am converting the audio to flac. I used MKVtoolnix to extract the audio to MKA, exported by chapters. Out of the 16 "tracks" that I was left with two of them fail to convert to flac. I am using the UsEac3To gui running a simple command of DTS to FLAC. This is the error I am getting on the failed files.
MKA, 1 audio track, 0:05:15
1: DTS Master Audio, English, 5.1 channels, 24 bits, 96kHz
(core: DTS, 5.1 channels, 1509kbps, 48kHz)
"DTS-HD Master Audio / 5.1 / 96 kHz / 6853 kbps / 24-bit"
[a01] Extracting audio track number 1...
[a01] Decoding with libDcaDec DTS Decoder...
[a01] libDcaDec reported the warning "Failed to parse XLL". <WARNING>
[a01] libDcaDec output changed from 6 channels, 96kHz to 6 channels, 48kHz. <ERROR>
Aborted at file position 262144. <ERROR>
Can anyone help a guy out?
tebasuna51
2nd January 2023, 22:40
I used MKVtoolnix to extract the audio to MKA, exported by chapters.
Maybe there are problems when mkvextract (designed to cut by video frames) cut audio by chapters.
Or there are some corrupt data, or not supported by libDcaDec.
With UsEac3to you can try the conversion with ffmpeg decoder:
Load the problematic file in UsEac3to and click in 'A/V Recode', select the first option 'Decode,Lossless.Wavdts' and 'flac' like output.
Run or Enqueue
(with Enqueue a .log file is created to attach here)
light5out
3rd January 2023, 00:44
Maybe there are problems when mkvextract (designed to cut by video frames) cut audio by chapters.
Or there are some corrupt data, or not supported by libDcaDec.
With UsEac3to you can try the conversion with ffmpeg decoder:
Load the problematic file in UsEac3to and click in 'A/V Recode', select the first option 'Decode,Lossless.Wavdts' and 'flac' like output.
Run or Enqueue
(with Enqueue a .log file is created to attach here)
Ok so that worked, but now it is messing with the file. We went from 96khz to 48khz and the bitrate dropped from 6,000 to 3,000.
I also tried making a wav, but the same thing happened. Strange. I might just manually extract the section with MKVtoolnix and see if I can then use the method I did with the original files?
tebasuna51
3rd January 2023, 11:23
Ok so that worked, but now it is messing with the file. We went from 96khz to 48khz
ffmpeg log show something like the:?
[a01] libDcaDec output changed from 6 channels, 96kHz to 6 channels, 48kHz. <ERROR>
I also tried making a wav, but the same thing happened.
The 96 to 48 KHz change?
Try decoding to w64 the full file without split by chapters.
light5out
3rd January 2023, 18:51
ffmpeg log show something like the:?
[a01] libDcaDec output changed from 6 channels, 96kHz to 6 channels, 48kHz. <ERROR>
The 96 to 48 KHz change?
Try decoding to w64 the full file without split by chapters.
I was able to decode the entire file to w64. Not sure what to do with that. Manual splitting?
tebasuna51
4th January 2023, 13:25
Then the problem is when mkvextract cut the full DTS.
I don't know how cut DTS/W64 by chapters then only method I can suggest you is manual split.
Sems there are only 2 parts with problems make the new flacs with:
light5out
4th January 2023, 20:31
Then the problem is when mkvextract cut the full DTS.
I don't know how cut DTS/W64 by chapters then only method I can suggest you is manual split.
Sems there are only 2 parts with problems make the new flacs with:
Thanks for the help, I was also able to rip a full quality flac file of the entire film. So I cam mess with that as well.
DreckSoft
10th January 2023, 17:53
I'm currently trying to sync a second audio track to a series. Movie is 23.976 fps, Audio source 25fps. Usually it should just be -slowdown or -25.000 -changeto23.976. This worked for previous seasons but now the resulting audio file is too short, resulting in async audio. It seems to be drifting continuously over the playtime. So changing the source or target framerate should fix this. Is there any way to make eac3to use non-standard framerates? It does not seem to accept 25.002 as source or 23.970 as target.
tebasuna51
10th January 2023, 23:08
It is not possible with eac3to.
Try with ffmpeg -i "INPUT" -af "atempo=0.959041" ...
with (slowdown) 23,976/25 = 0.959041 (change as you need)
DreckSoft
11th January 2023, 13:57
Thanks, that worked. I tried BeSweet before but that produces unpredictable output.
ErazorTT
11th January 2023, 15:53
It is apparently not possible export the dolby video stream from a uhd using version 3.36 anymore. This was working in 3.34. I am using eac3to in conjunction with megui, which it will now throw an error.
tebasuna51
11th January 2023, 19:44
It is apparently not possible export the dolby video stream from a uhd using version 3.36 anymore. This was working in 3.34. I am using eac3to in conjunction with megui, which it will now throw an error.
Then use v3.34 if the changes in the v3.36 don't work for you:
v3.36 2022-05-08
* fixed: UHD Blu-Ray support didn't work with newer releases
* fixed: on some OSs there were crashes
* fixed: libav command line output hooking wasn't working properly
* added special handling for TrueHD seamless branching
* 2nd pass for audio gap fixing is auto-disabled for (UHD) Blu-Rays now
* libDcaDec: updated to 0.2.0
(Preserve the libDcaDec.dll 0.2.0)
ErazorTT
15th January 2023, 15:47
Then use v3.34 if the changes in the v3.36 don't work for you:
Yes, thats exactly what I'm doing. I thought perhaps it would be nice to give feedback, so that it is known that there was a regression.
guest
20th January 2023, 07:21
What is the quickest & easiest way to convert THD 7.1 (or higher) to AAC 7.1 ??
Thanks
EDIT:- I think I may have found how to, BUT if there IS an easy way.
tebasuna51
20th January 2023, 11:46
For thd input I recommend ffmpeg decoder (avutil 57, avcodec 59), faster and more actualized than eac3to (avutil 52, avcodec 54), and for aac 7.1 output only qaac encoder:
"FFMPEG" -i "INPUT71.thd" -acodec pcm_s24le -f wav - | "QAAC" -V QUALITY --ignorelength --adts --no-delay -o "OUTPUT71.aac"
Others encoders, for instance using ffmpeg internal, convert standar thd 7.1 Channel layout: C L R Ls Rs Lb Rb LFE, to aac 7.1 Channel layout: C L R Ls Rs Lw Rw LFE
For easy way you can use UsEac3toGUI (load input and button A/V Recode)
guest
20th January 2023, 12:14
For thd input I recommend ffmpeg decoder, faster and more actualized than eac3to, and for aac 7.1 output only qaac encoder:
"FFMPEG" -i "INPUT71.thd" -acodec pcm_s24le -f wav - | "QAAC" -V QUALITY --ignorelength --adts --no-delay -o "OUTPUT71.aac"
Others encoders, for instance using ffmpeg internal, convert standar thd 7.1 Channel layout: C L R Ls Rs Lb Rb LFE, to aac 7.1 Channel layout: C L R Ls Rs Lw Rw LFE
For easy way you can use UsEac3toGUI (load input and button A/V Recode)
Hi, I really appreciate the info, but I am totally lost :(
I don't know how to use that command line you provided, and converting the channel layout's....:confused::confused:
So you're saying that eac3to isn't the best way to convert ??
I have very recently started using "cleverFFmpeg", and it's got so many options, it's crazy, but I do use eac3to quite bit for e-ac3 conversions.
tebasuna51
20th January 2023, 14:07
UsEac3toGUI can work like eac3to and ffmpeg GUI. If you want some eac3to audio management use it and encode with qaac.
cleverFFmpeg can decode with ffmpeg and encode with qaac, remember the discussion in that thread (https://forum.doom9.org/showthread.php?p=1977780#post1977780)
Balling
30th January 2023, 20:02
The message is clear: this track is a mix of 1.0 and 2.0
Try with:
ffmpeg -i japanese.thd -ac 2 -acodec pcm_s24le -f wav japanese.wav
Hi, what does it mean? THD 1.0? Is that version of THD or mono? We still have this ticket and it futher regressed. Do you have full japanese.thd?
https://trac.ffmpeg.org/ticket/667#comment:10
* added special handling for TrueHD seamless branching
is that as good as https://github.com/domyd/mlp or worse as in DGDemux? Or even more perfect as in MakeMKV?
tebasuna51
31st January 2023, 13:18
Hi, what does it mean? THD 1.0? Is that version of THD or mono?
A mix of mono and stereo audio.
We still have this ticket and it futher regressed. Do you have full japanese.thd?
Nope.
The track uploaded in comment 15 is a correct mono track without problems to decode, after extract thd and ac3 streams.
* added special handling for TrueHD seamless branching
is that as good as https://github.com/domyd/mlp or worse as in DGDemux? Or even more perfect as in MakeMKV?
Sorry, currently I haven't TrueHD seamless branching BD's to check it.
Balling
31st January 2023, 14:27
>A mix of mono and stereo audio.
The author gave the full sample from another disk, it appears to be just mono.
tebasuna51
12th February 2023, 23:25
I'm trying to demux .mkv file with positive audio delay using eac3to. I've noticed that after delay is fixed distortion audio is added/occurs at the beginning, why is that and how to avoid it ?
Seems the method used by eac3to to delay aac streams is repeat the first frame, if it isn't silence an annoying sound can be produced.
Use mkvextract or ffmpeg to extract them.
For ac3/dts streams I think eac3to use methods like the old DelayCut with really ac3/dts silence frames.
Ex0rcist
13th February 2023, 15:37
mkvextract ignores delay info and just shifts audio to first frame, so that's pretty much useless because audio won't be in sync as it should be. Is it possible to report this bug to eac3to dev for possible fix in the future ?
tebasuna51
13th February 2023, 22:28
In the first post you have the link to the bug tracker (http://eac3to.bugs.madshi.net/).
jlw_4049
9th April 2023, 17:36
We've recently discovered removing dialNorm from a truehd track during demux actually edits the header in the way the Atmos data is no longer valid. It's still there, but it cannot be used by any official tools or players.
Is there any way to restore dialNorm to normal?
I confirmed this by demuxing with eac3to with -keepDialnorm and without it and the only one that actually worked with the Atmos channels was the -keepDialnorm. I'm not sure which header is being edited in the file itself, but editing it with a hex editor to match the one with -keepDialnorm allows the Atmos to work correctly again. However, I can't do this across other files as easily.
Is there a way to do this with eac3to or any other tool?
tebasuna51
10th April 2023, 08:11
@jlw_4049
Yes, to preserve the Atmos data you must extract it with -keepDialnorm.
And not, I don't know a tool to restore the dialNorm.
jlw_4049
10th April 2023, 15:23
@jlw_4049
Yes, to preserve the Atmos data you must extract it with -keepDialnorm.
And not, I don't know a tool to restore the dialNorm.
Do you think it's possible for such a tool to be designed? As the data is still in the file, just seems like the header of the file has been modified. Not allowing the atmos to be decoded.
With the following line:
eac3to audio.thd audio.wav
eac3to removes the Dialogue Normalization metadata.
The question is what happens to Dynamic Range Compression metadata?
tebasuna51
2nd May 2023, 13:04
The question is what happens to Dynamic Range Compression metadata?
The old libav decoder in eac3to output the same volume than updated ffmpeg, even when I try use -drc_scale 0 with the message:
Codec AVOption drc_scale (percentage of dynamic range compression to apply) specified for input file #0 (D:\Test\chan-check-5.1.thd) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some decoder which was not actually used for any stream.
I try with many thd samples with the same message, then I don't have a sample with DRC, or ffmpeg ignore that metadata if exist.
I can't check it.
After testing I came to the conclusion:
With a .thd sound, the ffmpeg ignores the DN and the DRC.
Center channel .thd
drc_scale 0.0 --> RMS -28.9576 dB
drc_scale 1.0 --> RMS -28.9576 dB
With a .ac3 sound (core from .thd), the ffmpeg ignores the DN but applies the DRC.
Center channel .ac3 core
drc_scale 0.0 --> RMS -29.0598 dB
drc_scale 0.5 --> RMS -30.2756 dB
drc_scale 1.0 --> RMS -31.1711 dB
tebasuna51
7th May 2023, 00:22
The volume level of ac3 drc_scale 0.0 (-29 dB) is the same than the thd, then seems the decode is correct without atenuation.
nevcairiel
7th May 2023, 00:28
Dialog Normalization in AC3 is only used if you set target_level to adjust the target volume of the decoded stream. Its how the AC3 spec wants to control a unified volume, by including metadata to let you request a reference level.
The ffmpeg decoding is correct when with drc_scale 0 we have no compression and with drc_scale 1 we have full compression :)
For downmix 5ch --> 2ch i prefer audio with DRC=1.
I don't know what it is ac3 target_level...
Balling
31st May 2023, 23:02
The old libav decoder in eac3to output the same volume than updated ffmpeg, even when I try use -drc_scale 0 with the message:
I try with many thd samples with the same message, then I don't have a sample with DRC, or ffmpeg ignore that metadata if exist.
I can't check it.
FFmpeg does NOT support TrueHD DRC, it just outputs lossless stream, that is the same (aside from the lossy) as EAC3 with -drc_scale 0. Also, FFmpeg does not support it anywhere with encoding.
But EAE and microsoft and others support decoding TrueHD (now lossily) with DRC.
Balling
31st May 2023, 23:04
After testing I came to the conclusion:
With a .thd sound, the ffmpeg ignores the DN and the DRC.
Center channel .thd
drc_scale 0.0 --> RMS -28.9576 dB
drc_scale 1.0 --> RMS -28.9576 dB
With a .ac3 sound (core from .thd), the ffmpeg ignores the DN but applies the DRC.
Center channel .ac3 core
drc_scale 0.0 --> RMS -29.0598 dB
drc_scale 0.5 --> RMS -30.2756 dB
drc_scale 1.0 --> RMS -31.1711 dB
drc_scale is not EVEN an option for truehd decoder!!
Compare commands ffmpeg -h decoder=truehd and ffmpeg -h decoder=eac3
tebasuna51
6th June 2023, 08:34
FFmpeg does NOT support TrueHD DRC, it just outputs lossless stream, that is the same (aside from the lossy) as EAC3 with -drc_scale 0. Also, FFmpeg does not support it anywhere with encoding.
...
drc_scale is not EVEN an option for truehd decoder!!
Compare commands ffmpeg -h decoder=truehd and ffmpeg -h decoder=eac3
Thanks to confirm the ffmpeg behaviour. Not always is easy know how ffmpeg work.
Decoder eac3 [ATSC A/52B (AC-3, E-AC-3)]:
(E-)AC3 decoder AVOptions:
-cons_noisegen <boolean> .D..A...... enable consistent noise generation (default false)
-drc_scale <float> .D..A...... percentage of dynamic range compression to apply (from 0 to 6) (default 1)
-heavy_compr <boolean> .D..A...... enable heavy dynamic range compression (default false)
-target_level <int> .D..A...... target level in -dBFS (0 not applied) (from -31 to 0) (default 0)
-downmix <channel_layout> .D..A...... Request a specific channel layout from the decoder
The default -drc_scale 1 is correct for a player, but for a decoder the default must be 0.
But EAE and microsoft and others support decoding TrueHD (now lossily) with DRC.
Bad news if there aren't a option to override the DRC.
resolution
19th June 2023, 05:42
We've recently discovered removing dialNorm from a truehd track during demux actually edits the header in the way the Atmos data is no longer valid. It's still there, but it cannot be used by any official tools or players.
Is there any way to restore dialNorm to normal?
I confirmed this by demuxing with eac3to with -keepDialnorm and without it and the only one that actually worked with the Atmos channels was the -keepDialnorm. I'm not sure which header is being edited in the file itself, but editing it with a hex editor to match the one with -keepDialnorm allows the Atmos to work correctly again. However, I can't do this across other files as easily.
Is there a way to do this with eac3to or any other tool?
@jlw_4049
Yes, to preserve the Atmos data you must extract it with -keepDialnorm.
And not, I don't know a tool to restore the dialNorm.
Do either of you know if MKVToolNix has the same issue with Atmos tracks? It also has a dialnorm removal feature (Preferences/Default values/Enable dialog normalization gain removal for audio tracks).
Encore
17th August 2023, 11:29
what is the proper file extension for a dts-x (7.1) audio to keep the original core and object based effect. I have been extracting audio from a mkv using gMKVExtractGUI and its output was a .dts file. When I tried with TSMuxer it was same. But, as extracting tracks using eac3to was giving me 'video conversion not supported' error for -> 'eac3to source.mkv -demux' command, I used -> 'eac3to source.mkv 2: audio.dtsma' command and it gave me a audio.dtsma file without any warning or error. But my doubt here is which is the right file extension for a dts-x audio? .dtsma extension only needed for dts-hdma audio? dts.5.1 and dts-x 7.1 audios can be extracted using .dts extension without affecting the audio?
tebasuna51
18th August 2023, 11:54
Welcome to the Doom9's Forum Encore.
You can use always only .dts without problems.
The software must read the headers to know the kind of dts, the extension is not only used.
Encore
21st August 2023, 08:38
Welcome to the Doom9's Forum Encore.
Thank you..
You can use always only .dts without problems.
The software must read the headers to know the kind of dts, the extension is not only used.
If it doesn't make any change to original audio, ok. Then why eac3to demux a dts-hdma audio to .dtsma extension when u demux a bluray folder?
eg: -> eac3to 'source folder' 1) 'Destination folder'\Some-movie.*
tebasuna51
21st August 2023, 09:39
Just to inform you.
But the extension is not important, there are dtshd (dtsma and dtshr), dts exprees (low quality), dts-x (3D), dts 6.1 (discrete or matrixed),...
And all can have the .dts extension without problems.
Also the Master Audio Suite Encoder create .dts with a special and unic header at the begining of the file.
The decoders must read the headers to manage them.
Encore
24th August 2023, 02:54
Just to inform you.
But the extension is not important, there are dtshd (dtsma and dtshr), dts exprees (low quality), dts-x (3D), dts 6.1 (discrete or matrixed),...
And all can have the .dts extension without problems.
Also the Master Audio Suite Encoder create .dts with a special and unic header at the begining of the file.
The decoders must read the headers to manage them.
@tebasuna51 , thank u mate for clarifying the doubts.
On the other hand, dolby audios like TrueHD is better of .thd+ac3 while demuxing or .thd will lose its core without thd+ac3 extension?
tebasuna51
24th August 2023, 09:38
Extract .thd+ac3 from BD's is only usefull if you want create other BD, maybe changing video or others without changing duration.
Of course you can extract (from the m2ts) both tracks at same time N: thdpart.thd N: ac3part.ac3
If you want use other container (mkv) or make some audio edition the interleaved .thd+ac3 is useless.
BTW there are tools to restore the .thd+ac3 from the .thd and .ac3 tracks if you want create .m2ts after some edition.
Encore
27th August 2023, 12:37
Extract .thd+ac3 from BD's is only usefull if you want create other BD, maybe changing video or others without changing duration.
Of course you can extract (from the m2ts) both tracks at same time N: thdpart.thd N: ac3part.ac3
If you want use other container (mkv) or make some audio edition the interleaved .thd+ac3 is useless.
BTW there are tools to restore the .thd+ac3 from the .thd and .ac3 tracks if you want create .m2ts after some edition.
means, if you add a .thd+ac3 to mkv - it will not work as it was in BD or those atmos effects will be gone? And demxing a truhd atmos audio from a container other than .m2ts like .mkv not a good choice?
If so, how to make mkv from a BD with truhd atmos 7.1 audio into a mkv for back ups?
tebasuna51
27th August 2023, 18:23
Only m2ts container support thd+ac3 (tracks interleaved), in mkv both tracks are stored like separated tracks and must select the track you want listen.
BD players select the best for your system (maybe without thd support).
Of course you can use the mkv container without problems for BD backups, and the Atmos feature is preserved in the thd track, the ac3 track can be used in audio systems without thd support.
maudit
5th September 2023, 13:11
Hi, what is the syntax, if possible, to cut an audio from N time to the end?
example
-edit=1:42:04.200,-80ms #remove 80ms
cut till the end?
-edit=1:42:04.200,"WHAT HERE?" #remove till the end.
or I just specify a value greater than what I need?
tebasuna51
5th September 2023, 13:58
...
or I just specify a value greater than what I need?
Yes, for instance:
-edit=1:42:04.200,-9999999ms
maudit
5th September 2023, 21:34
Yes, for instance:
-edit=1:42:04.200,-9999999ms
ok thx, I have to cut about 5min, maybe I'll try to use "-400000ms" or more.
Thunderbolt8
7th September 2023, 23:04
I would like to update eac3to libflac.dll to current version 1.4.3
Here are 4 different versions of libflac.dll, though. Which one do I need?
https://www.rarewares.org/lossless.php#flac-dll
Barough
7th September 2023, 23:56
I would like to update eac3to libflac.dll to current version 1.4.3
Here are 4 different versions of libflac.dll, though. Which one do I need?
https://www.rarewares.org/lossless.php#flac-dll
I used this one
https://www.rarewares.org/files/lossless/flac_dll-1.4.3-x86.zip
and it worked perfect
Encore
16th October 2023, 01:13
Which is the best way to covert PCM 2.0 lossly to remux into a mkv. As, mkvtoolnix (tried Tsmuxer too) doesn't recognise pcm streams still I believe only way is muxing into m2ts to ass pcm audio which I don't want to save movie file as. Can I use eac3to to conver to pcm t wav and then use mkvtoolnix to remux?
von Suppé
17th October 2023, 09:27
Try FLAC.
tebasuna51
17th October 2023, 11:12
You can use eac3to to convert pcm to wav, or flac also:
eac3to input.pcm your.wav
You can obtain this message:
This might be a RAW/PCM file. Trying to figure out the details.
This will probably take a while. Please be patient...
Was not able to figure out all parameters of this RAW/PCM file.
Please specify channel, bitdepth and endian parameters via command line.
Then you need know these parameters to do the conversion, for instance:
eac3to input.pcm your.wav -override -2 -16 -big -48000
szabi
17th October 2023, 20:08
Hi
I did not find a way to extract core ac3 so I did encode thd 7.1ch audio by ac3-ffm with these settings:
stdout.w64 | ffmpeg -i - -c:a ac3 -b:a 640k -center_mixlev 0.707 %_.ac3
I did also try A/V Recode selecting E/AC3, ffmpeg:640.
My output is ac3 5.0ch in both cases.
I expected ac3 5.1ch output.
I do not understand where is the missing channel?
Regards
szabi
LigH
18th October 2023, 09:04
The ".1" channel would be a separate Low Frequency Effects channel. It is not mandatory to cover the whole frequency spectrum of the audio (especially music), it is an addition, usually produced by a sound designer for cinematic movies.
tebasuna51
18th October 2023, 10:07
I did not find a way to extract core ac3
Then your source is not from a m2ts BD, please put a MediaInfo of your source.
so I did encode thd 7.1ch audio by ac3-ffm with these settings:
stdout.w64 | ffmpeg -i - -c:a ac3 -b:a 640k -center_mixlev 0.707 %_.ac3
Then your source is decoded with libav dll's (2015) included in eac3to package.
And after encoded, and downmixed, to AC3 by ffmpeg.
I did also try A/V Recode selecting E/AC3, ffmpeg:640.
Now your source is decoded, downmixed and encoded by ffmpeg (easy and recommended way if you have a 5.1 audio system and don't want a more dedicated downmix (https://forum.doom9.org/showthread.php?t=181726))
My output is ac3 5.0ch in both cases.
I expected ac3 5.1ch output.
I do not understand where is the missing channel?i
Both methods preserve the LFE channel, if you obtain a 5.0 maybe your source is not a 7.1. Put the MediaInfo...
I was wrong, the automatic ffmpeg downmix have a bug at this moment and destroy the LFE channel
szabi
20th October 2023, 13:28
Hi
Thanks for you both for helping me to figure out.
Input was recognised by eac3to as thd 7.1ch audio.
I copy-paste the mediainfo:
Audio
Format : MLP FBA 16-ch
Format/Info : Meridian Lossless Packing FBA with 16-channel presentation
Commercial name : Dolby TrueHD with Dolby Atmos
Bit rate mode : Variable
Maximum bit rate : 5 967 kb/s
Channel(s) : 8 channels
Channel layout : L R C LFE Ls Rs Lb Rb
Sampling rate : 48.0 kHz
Frame rate : 1 200.000 FPS (40 SPF)
Compression mode : Lossless
Number of dynamic objects : 11
Bed channel count : 1 channel
Bed channel configuration : LFE
It also tells 8 channels.
My orginal intention was to keep all the 8 channel and encode it to eac 7.1ch audio.
However I was told in the eac3 7.1 encoder topic (https://forum.doom9.org/showthread.php?t=177346) it is still not possible.
So it is encoded to ac3 but I lost an other channel too.
Regards
szabi
tebasuna51
21st October 2023, 01:38
You are rigth and the bug is when ffmpeg downmix 7.1 automatically:
Input #0, truehd, from 'C:\Mis_Doc\Audio71\Core\thd\CoreAT.thd':
Stream #0:0: Audio: truehd, 48000 Hz, 7.1, s32 (24 bit)
Output #0, ac3, to 'C:\tmp\CoreAT.thd_.ac3':
Stream #0:0: Audio: ac3, 48000 Hz, 5.0(side), fltp, 640 kb/s
You can use the eac3to downmix with:
stdout.w64 -down6 | ffmpeg -i - -c:a ac3 -b:a 640k -center_mixlev 0.707 %_.ac3
or a better ffmpeg downmix, instead the automatic, explained in the mentioned thread (https://forum.doom9.org/showthread.php?t=181726).
szabi
21st October 2023, 10:09
I actually do not understand from the mentioned thread what I should do now.
I downloaded the newest ffmpeg now but no luck with BtbN or gyan version, both has the issue.
Because formarly this issue did not exist I assume there is an older version ffmpeg which works properly.
Might you know which is the last correct ffmpeg?
richardpl
21st October 2023, 10:22
To even be able to help someone, first needs exact command someone tried with full output of that command with any log message and errors it can give.
tebasuna51
21st October 2023, 20:46
To even be able to help someone, first needs exact command someone tried with full output of that command with any log message and errors it can give.
The bug is clear, tested with any source (wav,w64,thd,...) 7.1:
ffmpeg -i 7.1.any -acodec ac3 -ab 640k output.ac3
without warnings or errors the output is 5.0 like show the previous post.
tebasuna51
21st October 2023, 20:55
I actually do not understand from the mentioned thread what I should do now.
A recommended downmix 7.1 -> 5.1 to preserve the full volume in the front channels and mix the 4 surround channels in only 2 without clips is:
ffmpeg -i input71.thd -filter_complex "asplit [f][s]; [f] pan=3.1|c0=c0|c1=c1|c2=c2|c3=c3 [r]; [s] pan=stereo|c0=0.5*c4+0.5*c6|c1=0.5*c5+0.5*c7, compand=attacks=0:decays=0:points=-90/-84|-8/-2|-6/-1|-0/-0.1, aformat=channel_layouts=stereo [d]; [r][d] amerge [a]" -map "[a]" -acodec ac3 -center_mixlev 0.707 -ab 640k output.ac3
szabi
22nd October 2023, 08:32
I copy-paste it to command line, the result:
https://abload.de/img/ffmpegjaipx.png
What else I need to do?
LigH
22nd October 2023, 09:02
Looks like there is a problem parsing that command line... check twice if there is an unexpected wrap, maybe prefer writing it in a batch file (which you can edit easier later).
d4rk3
22nd October 2023, 09:51
I copy-paste it to command line, the result:
https://abload.de/img/ffmpegjaipx.png
What else I need to do?
Try this:
ffmpeg -i "input71.thd" -filter_complex "asplit [f][s]; [f] pan=3.1|c0=c0|c1=c1|c2=c2|c3=c3 [r]; [s] 'pan=stereo|c0=0.5*c4+0.5*c6|c1=0.5*c5+0.5*c7', 'compand=attacks=0:decays=0:points=-90/-84|-8/-2|-6/-1|-0/-0.1', aformat=channel_layouts=stereo [d]; [r][d] amerge [a]" -map "[a]" -acodec "ac3" -center_mixlev "0.707" -ab "640k" "output.ac3"
szabi
22nd October 2023, 10:38
I did try your command line but the result is the same: don't found .exe
tebasuna51
23rd October 2023, 09:15
Copy it to a X.bat file, edit it to use your path's to ffmpeg.exe, input and output files and execute the X.bat
szabi
24th October 2023, 18:22
Hi
All of you are right copy to bat has worked.
So presently this is the best free technique to encore 7.1ch audio to 5.1ch ac3?
Because still no free 7.1ch encoder to eac3, how can I encode the input to 5.1ch eac3?
Is it worth to use eac3 instead of ac3?
I still interested why it did not work over UsEac3To? Also it would be nice to have this option in UsEac3To
It might be useful to someone later so bat file I used:
"C:\My Program Files\audio-encoders\ffmpeg.exe" -i "E:\1\engaudio.thd" -filter_complex "asplit [f][s]; [f] pan=3.1|c0=c0|c1=c1|c2=c2|c3=c3 [r]; [s] pan=stereo|c0=0.5*c4+0.5*c6|c1=0.5*c5+0.5*c7, compand=attacks=0:decays=0:points=-90/-84|-8/-2|-6/-1|-0/-0.1, aformat=channel_layouts=stereo [d]; [r][d] amerge [a]" -map "[a]" -acodec ac3 -center_mixlev 0.707 -ab 640k "E:\1\engaudio.ac3"
Last but not least thanks for your help.
Regards
szabi
tebasuna51
24th October 2023, 23:58
So presently this is the best free technique to encode 7.1ch audio to 5.1ch ac3?
I think so.
I still interested why it did not work over UsEac3To? Also it would be nice to have this option in UsEac3To
It is already present, see the attached image.
When select the bitrate the E prefix encode to EAC3, of course with better quality than AC3.
When the source is a container (a m2ts for instance) remember select the track with map:X in the Audio Recode window.
(X for ffmpeg is 1 less, normally, than for eac3to)
szabi
25th October 2023, 17:04
Hi
With your guidance I could do it over UsEac3To.
I use ffmpeg version N-112483-gd799ad2404-20231020, with UsEac3To v1.3.3.
The FFMPEG functions parameters a bit different when I select 71-51.
https://abload.de/img/ffmpeg-cmdgii2p.png
Is this different an issue? Should I modify it to your parameters?
points=-90/-84|-10/-4|-6/-2|-0/-0.3
points=-90/-84|-8/-2|-6/-1|-0/-0.1
Also during encode it was written:
Input #0, truehd, from 'E:\1\engaudio.thd':
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0:0: Audio: truehd (Dolby TrueHD + Dolby Atmos), 48000 Hz, 7.1, s32 (24 bit)
[out#0/eac3 @ 0000024a207781c0] Codec AVOption center_mixlev (Center Mix Level) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.
Stream mapping:
Stream #0:0 (truehd) -> asplit:default
amerge:default -> Stream #0:0 (eac3)
Press [q] to stop, [?] for help
[Parsed_amerge_5 @ 0000024a20804180] Input channel layouts overlap: output layout will be determined by the number of distinct input channels
[Parsed_pan_1 @ 0000024a207778c0] Pure channel mapping detected: 0 1 2 3
Output #0, eac3, to 'E:\1\engaudio.thd_.eac3':
Metadata:
encoder : Lavf60.15.100
Stream #0:0: Audio: eac3, 48000 Hz, 5.1, fltp, 800 kb/s
Metadata:
encoder : Lavc60.30.102 eac3
Is the two line in red a problematic message?
And once more I just repeat myself many thanks for your help.
Regards
szabi
tebasuna51
25th October 2023, 18:49
The FFMPEG functions parameters a bit different when I select 71-51.
Select yourself the desired compand curve (https://forum.doom9.org/showthread.php?p=1926777#post1926777) to manage high volumes.
If the 4 surround channels have high volume we can't obtain the same volume with only 2 speakers but is only in a few moments in the movie (explosions, Rex roaring, ...). Most the time the 2 surround speakers of 5.1 can supply the same volume than the 4 of the 7.1.
Is the two line in red a problematic message?
No problem, forget them.
szabi
26th October 2023, 16:58
Select yourself the desired compand curve (https://forum.doom9.org/showthread.php?p=1926777#post1926777) to manage high volumes.
If the 4 surround channels have high volume we can't obtain the same volume with only 2 speakers but is only in a few moments in the movie (explosions, Rex roaring, ...). Most the time the 2 surround speakers of 5.1 can supply the same volume than the 4 of the 7.1.
No problem, forget them.
Hi
I might understand what u say but definetly cannot decide the default or your parameters should be selected.
EDIT:
This is the point when I am back to my initial 8 years old question about 7.1ch EAC3 output is desired.
Regards
szabi
tebasuna51
27th October 2023, 01:10
I might understand what u say but definetly cannot decide the default or your parameters should be selected.
Both are ok, and sugested by me, with little differences.
This is the point when I am back to my initial 8 years old question about 7.1ch EAC3 output is desired.
I'm not interested in 7.1 audio, to obtain sound 2D the 5.1 is more than enough.
But maybe 5.1.2 to obtain 3D sound from Atmos sources can be interesting.
szabi
27th October 2023, 14:11
What to do if no free 7.1ch eac3 encoder. It is what it is.
Once more thanks for help. :)
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.
j7n
28th November 2023, 17:45
Thank you. Eac3to works as expected now.
eac3to_mod
28th November 2023, 19:13
Thank you for testing, gentlemen.
eac3to_mod
2nd December 2023, 18:42
Build 3.41 is released.
v3.41
* Can now extract the AC3 core from EAC3 with sensible syntax and no re-encoding:
eac3to_mod in.eac3 out.ac3 -core. If -core is omitted, re-encoding will occur.
* Fixed some displays that gave wrong signs for dB.
* Extensions 'avc', 'mvc', and '264' are now accepted for demuxing in addition to 'h264'.
* Print 0dB in displays instead of -0dB.
* Changed the -showall option: If -showall is in the INI file, then all
playlists, including 'weird' ones are displayed. Without -showall
you get the previous 3.34/3.36 behavior. With the previous 3.40 -showall
behavior, some disks were showing no playlists without -showall. This is
fixed.
https://rationalqm.us/eac3to_mod/eac3to_mod_3.41.rar
Bandits
3rd December 2023, 01:50
* Changed the -showall option: If -showall is in the INI file, then all
playlists, including 'weird' ones are displayed. Without -showall
you get the previous 3.34/3.36 behavior. With the previous 3.40 -showall
behavior, some disks were showing no playlists without -showall. This is
fixed.
It matches 3.36 only. 3.34 has -minPlayListRuntime and -maxPlayListRuntime which makes it possible to see playlists with playtime less than 10:00.
If you have access to 3.34 source, I am sure it's an easy fix since it was accidently left out of 3.36 completely. It was an extension of the original playlist sorting that allows to see all playlists regardless of length.
guest
3rd December 2023, 05:49
Build 3.41 is released.
v3.41
* Can now extract the AC3 core from EAC3 with sensible syntax and no re-encoding:
eac3to_mod in.eac3 out.ac3 -core. If -core is omitted, re-encoding will occur.
* Fixed some displays that gave wrong signs for dB.
* Extensions 'avc', 'mvc', and '264' are now accepted for demuxing in addition to 'h264'.
* Print 0dB in displays instead of -0dB.
* Changed the -showall option: If -showall is in the INI file, then all
playlists, including 'weird' ones are displayed. Without -showall
you get the previous 3.34/3.36 behavior. With the previous 3.40 -showall
behavior, some disks were showing no playlists without -showall. This is
fixed.
https://rationalqm.us/eac3to_mod/eac3to_mod_3.41.rar
So just to confirm, if an app uses eac3to already (3.34 or 3.36), is it just a copy & rename to integrate this build ??
eg:- eac3to_mod.exe & eac3to_mod.ini to eac3to.exe & eac3to.ini ??
tebasuna51
3rd December 2023, 11:26
So just to confirm, if an app uses eac3to already (3.34 or 3.36), is it just a copy & rename to integrate this build ??
eg:- eac3to_mod.exe & eac3to_mod.ini to eac3to.exe & eac3to.ini ??
Yes, that files can be replaced, also the changelog.txt and libFLAC.dll (I always replace it from www.rarewares.org), the rest are the same than last madshi package.
I have now in my folder:
08/05/2022 21:43 2.037.720 eac3to.336
28/10/2023 15:07 1.983.488 eac3to.337
03/11/2023 18:54 1.980.416 eac3to.339
27/11/2023 14:11 1.975.296 eac3to.340
02/12/2023 18:25 1.976.832 eac3to.exe ;Now the eac3to_mod 3.41
26/11/2023 16:50 24 eac3to.ini ;With my settings
02/12/2023 17:02 1.331 eac3to_mod notes.txt
02/12/2023 17:04 48 eac3to_mod.ini
To do easy changes to compare versions.
guest
3rd December 2023, 13:10
Yes, that files can be replaced, also the changelog.txt and libFLAC.dll (I always replace it from www.rarewares.org), the rest are the same than last madshi package.
I have now in my folder:
08/05/2022 21:43 2.037.720 eac3to.336
28/10/2023 15:07 1.983.488 eac3to.337
03/11/2023 18:54 1.980.416 eac3to.339
27/11/2023 14:11 1.975.296 eac3to.340
02/12/2023 18:25 1.976.832 eac3to.exe ;Now the eac3to_mod 3.41
26/11/2023 16:50 24 eac3to.ini ;With my settings
02/12/2023 17:02 1.331 eac3to_mod notes.txt
02/12/2023 17:04 48 eac3to_mod.ini
To do easy changes to compare versions.
Thanks so much for the detailed explanation, teb :)
eac3to_mod
3rd December 2023, 13:37
I am sure it's an easy fix since it was accidently left out of 3.36 completely. It isn't easy and it wasn't an accident.
Sakura-chan
5th December 2023, 07:13
I was wondering why eac3to was dropping all my last chapters and I found this:
last chapter is now removed, if it's less than 10 seconds from end of movie
Is there a way to reverse that? I see no command to preserve all chapters. Mkvtoolnix keeps all chapters, but I can batch extract them with it.
Magister Irrylio
10th December 2023, 04:47
I can confirm I have the same thing with Nemo.
H:\eac3to>eac3to D:\FINDING_NEMO 1) 3: Y:\nemo.thd+ac3
M2TS, 1 video track, 1 audio track, 1 subtitle track, 1:40:54, 24p /1.001
1: Chapters, 32 chapters
2: h264/AVC, 1080p24 /1.001 (16:9)
3: TrueHD/AC3, English, 7.1 channels, 48kHz
(embedded: AC3 EX, 5.1 channels, 640kbps, 48kHz)
4: Subtitle (PGS), English
a03 AC3 encoding doesn't support back channels. Will mix them into the surround.
a03 Extracting audio track number 3...
a03 Extracting TrueHD stream...
a03 Decoding with libav/ffmpeg...
a03 Remapping channels...
a03 Extracting audio track number 3...
a03 Mixing surround channels...
a03 Extracting TrueHD stream...
a03 Encoding AC3 <640kbps> with libAften...
[mlp @ 009c2d10] Substream 0 parity check failed
[mlp @ 009c2d10] Substream 0 checksum failed
[mlp @ 009c2d10] Substream 0 length mismatch.
a03 The libav decoder reported error -1 while decoding.
11 years later, seeing the same thing with Shrek 3D, both when using eac3to v3.34 and v.3.36, even when just running the -check command.
eac3to v3.34
command line: eac3to "D:\eac3to\Shrek" -check
------------------------------------------------------------------------------
M2TS, 2 video tracks, 11 audio tracks, 4 subtitle tracks, 1:30:05, 24p /1.001
1: Chapters, 20 chapters
2: h264/AVC (left eye), 1080p24 /1.001 (16:9)
3: h264/MVC (right eye), 1080p24 /1.001 (16:9)
4: AC3, German, 5.1 channels, 640kbps, 48kHz, dialnorm: -27dB
5: TrueHD/AC3, English, 7.1 channels, 48kHz
(embedded: AC3, 5.1 channels, 640kbps, 48kHz)
6: AC3, Spanish, 5.1 channels, 640kbps, 48kHz, dialnorm: -27dB
7: AC3, French, 5.1 channels, 640kbps, 48kHz, dialnorm: -27dB
8: AC3, Italian, 5.1 channels, 640kbps, 48kHz, dialnorm: -27dB
9: AC3, Korean, 5.1 channels, 640kbps, 48kHz, dialnorm: -27dB
10: AC3, Chinese, 5.1 channels, 640kbps, 48kHz, dialnorm: -27dB
11: AC3, Dutch, 5.1 channels, 640kbps, 48kHz, dialnorm: -27dB
12: AC3, Portuguese, 5.1 channels, 640kbps, 48kHz, dialnorm: -27dB
13: AC3, Russian, 5.1 channels, 640kbps, 48kHz, dialnorm: -27dB
14: AC3, Turkish, 5.1 channels, 640kbps, 48kHz, dialnorm: -27dB
15: Subtitle (PGS), Korean
16: Subtitle (PGS), Chinese
17: Subtitle (PGS), Russian
18: Subtitle (PGS), Turkish
[a05] AC3 encoding doesn't support back channels. Will mix them into the surround.
[a09] Extracting audio track number 9...
[a13] Extracting audio track number 13...
[a06] Extracting audio track number 6...
[s16] Extracting subtitle track number 16...
[s18] Extracting subtitle track number 18...
[v02] Extracting video track number 2...
[a05] Extracting audio track number 5...
[a05] Extracting audio track number 5...
[a08] Extracting audio track number 8...
[a04] Extracting audio track number 4...
[s17] Extracting subtitle track number 17...
[a11] Extracting audio track number 11...
[a12] Extracting audio track number 12...
[s15] Extracting subtitle track number 15...
[a07] Extracting audio track number 7...
[a14] Extracting audio track number 14...
[a10] Extracting audio track number 10...
[a05] Extracting TrueHD stream...
[a05] Decoding with libav/ffmpeg...
[a05] Extracting TrueHD stream...
[a05] Mixing surround channels...
[a05] Remapping channels...
[a05] Encoding AC3 <640kbps> with libAften...
[a05] The original audio track has a constant bit depth of 20 bits.
[a05] Processed audio track, L+R+C+LFE: constant bit depth of 20 bits.
[a05] Processed audio track, SL+SR: max 24 bits, average 21 bits.
Video track 2 contains 129600 frames.
Video track 3 contains 129600 frames.
Subtitle track 15 contains 1 caption.
Subtitle track 16 contains 1 caption.
Subtitle track 17 contains 1 caption.
Subtitle track 18 contains 1 caption.
eac3to processing took 5 minutes, 45 seconds.
Done.
Build 3.41 is released.
I would try using this, but the link is dead.
fkid
12th December 2023, 16:28
Last chapter is not removed with latest version 3.42 of eac3to. Please update your build: https://rationalqm.us/eac3to
meemeemee
12th December 2023, 22:17
Last chapter is not removed with latest version 3.42 of eac3to. Please update your build: https://rationalqm.us/eac3to
That's not the last chapter, that's the END of the file/movie. Chapter should have some content - that's why you have often named chapters on retail discs. You know, they are describing scenes, parts of the movie - like the first chapter for example named Intro/Credits etc.. This addition is not describing anything so it is not chapter. You got the same for End credits: main movie ends, [end credits start, movie/file finishes] <--- the last chapter.
I don't know why this was changed when eac3to got it right for all of those years.
Ian1182
13th December 2023, 15:03
Not sure if it's just me but I'm see a virus warning for eac3to.exe in the 3.42 rar file. My system is flagging the module for Trojan:Win32/Wacatac.B!lm , hopefully this is a false positive
stax76
13th December 2023, 16:21
You can try virus total:
https://www.virustotal.com
Ian1182
15th December 2023, 17:51
unfortunately its a fail there as well for 3 of the checks. I'll wait until a newer version of eac3to appears
j7n
16th December 2023, 01:17
You can try deleting HookSurcode.dll, thdmerge.exe, and maybe libmatrix.dll, and use eac3to without these features. But be reasonable. Nobody makes a virus that is a few kilobytes today. It has to do something useful for the owner, and report back through the web, which adds a lot of program code. The detections are vague suspicions.
Xorp
18th December 2023, 03:37
rationalqm.us eac3to_mod download links are down?
SeeMoreDigital
18th December 2023, 11:31
Windows 10 inbuilt anti-virus/security software reports the following: -
https://i.ibb.co/6vyXH05/wacapew-C-ml.png
The weird thing is, the eac3to.exe file has been deleted from the downloads folder.
Barough
18th December 2023, 16:33
rationalqm.us eac3to_mod download links are down?
https://www.rationalqm.us/eac3to/
SeeMoreDigital
18th December 2023, 17:09
https://www.rationalqm.us/eac3to/
This is where I got 'eac3to_3.43.rar 2023-12-17 12:55 4.5M' from, which generated the above warning :confused:
StainlessS
18th December 2023, 22:22
Virus total:- https://www.virustotal.com/gui/file/6af880d479c279b60891e08f472f2d4580aaad434a9af646dcb796d160e0fc4f
On Relations Tab,
Scanned Detections File type Name
2023-12-16 3/72 Win32 EXE thdmerge.exe
2023-12-18 1/72 Win32 EXE eac3to.exe
Security vender appraisal
MaxSecure Trojan.Malware.300983.susgen [susgen = a bit suspicious]
Microsoft Trojan:Win32/Wacatac.B!ml [B!ml = some kind of Microsoft scareware alert]
Sophos Generic Reputation PUA (PUA) [PUA = Possibly Unwanted App, usually for system tool]
3/72 bad, means 69 out of 72 say is OK, forget the other scaremongers. [start getting a bit more wary when you get to maybe 10 / 72].
EDIT: My MS defender on win10 dont alert to anything on download/extract. [I aint got around to installing Comodo CIS instead of M$ yet on new W10 install]
SeeMoreDigital
18th December 2023, 22:31
Virus total:- https://www.virustotal.com/gui/file/6af880d479c279b60891e08f472f2d4580aaad434a9af646dcb796d160e0fc4f
On Relations Tab,
Scanned Detections File type Name
2023-12-16 3/72 Win32 EXE thdmerge.exe
2023-12-18 1/72 Win32 EXE eac3to.exe
Security vender appraisal
MaxSecure Trojan.Malware.300983.susgen [susgen = a bit suspicious]
Microsoft Trojan:Win32/Wacatac.B!ml [B!ml = some kind of Microsoft scareware alert]
Sophos Generic Reputation PUA (PUA) [PUA = Possibly Unwanted App, usually for system tool]
3/72 bad, means 69 out of 72 say is OK, forget the other scaremongers. [start getting a bit more wary when you get to maybe 10 / 72].
I'm not sure what all that means... Is 'Wacatac.B!ml' okay or not?
StainlessS
18th December 2023, 22:48
You can be scared if you like, but M$ is not that reliable, is all based on security vender guesswork.
I once got a load of bad hits for a Visual Basic Lottery checker app (which I wrote), just because
it had a 7x7 grid of buttons for each ball number (in the days of 49 balls). I changed the order of drawing on form a little
bit and all the AV scareware agreed that it was OK.
3/72 is nothing to get yourself worked up about, their guesses are MOST LIKELY totally wrong.
[Although you may give them more credence if you think that Graft is a bit of a dodgy character :) ]
EDIT: Maybe Anti-malware stuff should also give a "confidence rating", eg 100.0% sure that its infected, for the real deal.
(not our Reel.Deel, he's 100.0% ok-ish)
EDIT: I think that 'susgen' is just 'generally suspicious', maybe was similar for my Lottery Checker.
'PUA' = 'Possibly Unwanted App', meaning very little evidence for panic if it was your intent to download a system tool.
(although it could be dangerous if is eg a password revealing tool, downloaded/used by some malware).
(PUA app might just do something a little bit non usual).
'Wacatac.B!ml', not the faintest idea what that is supposed to mean.
Security venders make their guess based on 'who knows what', you gotta make your guess based on number of security vender 'detects/guesses'.
kedautinh12
19th December 2023, 03:04
If you scared about only 3/72 softwares virus warning. Don't use it anymore. I still using cause 3/72 mean that ok with 69 antivirus softwares
amayra
22nd December 2023, 23:17
Are there any devs interested in taking over eac3to development (bugfixes and improvements)? I'm considering open-sourcing it, because I don't have a lot of time for it now, and probably in the near future. However, eac3to is written in Delphi, and the code is not in great shape (due to constant lack of time). Plus, the source code might be more complex/long than many devs might expect, because of the simple reason that eac3to has a *lot* of features, some more obvious than others. In any case, I'm not going to spend any time on open-sourcing it if there are no devs who have serious interest in working on it.
do you still have plan to open-sourcing this project ?
i will help with this
tebasuna51
23rd December 2023, 10:33
The source code is not open but released to other developers here: https://www.rationalqm.us/board/viewforum.php?f=18
eac3to_mod
28th December 2023, 13:14
Slipstream for 3.43 available for download:
* Fix subtitles sync for non-playlist input.
* Fix spurious EAC3 bitstream parsing warnings.
https://rationalqm.us/eac3to
tebasuna51
30th December 2023, 10:55
Posts deleted by rule 4, please don't use this thread for disputes about the https://www.rationalqm.us/board/viewforum.php?f=18 forum
Like madshi seems not interested in this thread I will close it.
Feel free to open new threads about the new eac3to development.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.