Log in

View Full Version : eac3to - audio conversion tool


Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 [303] 304 305 306 307 308

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.