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

Jeff Flowerday
28th September 2009, 15:10
eac3to will decode DD+ without Nero 7. Nero 7 was only really needed for DD+ because it a certified DD+ decoder.

Madshi has indicated many times he can't hear the different between Nero doing the DD+ decoding and the default eac3to library.

So the question becomes how important is it to have DD+ certified decoding of a lossy stream or can you survive with the default eac3to decoding which gives you pretty much the same results? How many HD-DVDs do you have to rip, because DD+ only existing on HD-DVDs and maybe a couple Blu-Rays?

TruckChase!
29th September 2009, 06:37
I found a solution to the Windows 7 problem!

For some reason the file...
C:\Program Files\Common Files\Ahead\DSFilter\NeAudio2.ax
didn't get installed with Nero on my Windows 7 machine. This is Nero's DirectShow audio filter module. I copied that file over from my XP machine, then registered that module as a service with Windows by opening a command prompt in that folder and using the command...
regsvr32 neaudio2.ax

Now when I run eac3to -test it says that Nero Audio Decoder is working fine.
:)

Thank you, that worked great! (copied from my Vista install)

eac3to will decode DD+ without Nero 7. Nero 7 was only really needed for DD+ because it a certified DD+ decoder.

Madshi has indicated many times he can't hear the different between Nero doing the DD+ decoding and the default eac3to library.

So the question becomes how important is it to have DD+ certified decoding of a lossy stream or can you survive with the default eac3to decoding which gives you pretty much the same results? How many HD-DVDs do you have to rip, because DD+ only existing on HD-DVDs and maybe a couple Blu-Rays?

1. I'm anal.
2. I installed this bloatware (Nero + Arcsoft) on my new Win7 install, I want to use it damnit. :D

ACrowley
29th September 2009, 10:00
Im wondering that i cant see the "removing Dialog Normalization" Message anymore when decoding A(E)C3,TrueHD ?
I think because the DialNom removal is a standard Operation and latest eac3to wont output that Message everytime?

magic144
30th September 2009, 07:57
@ACrowley
I saw this message for both HDDVD and BluRay audio streams just this week using eac3to 3.16
(HD-DVD was E-AC3 extracting to .ac3, BluRay was TrueHD/AC3 extracting to .ac3, both sources reported as having dialnorm: -27dB)
What is your source/command-line/output?

ACrowley
30th September 2009, 10:49
@ACrowley
I saw this message for both HDDVD and BluRay audio streams just this week using eac3to 3.16
(HD-DVD was E-AC3 extracting to .ac3, BluRay was TrueHD/AC3 extracting to .ac3, both sources reported as having dialnorm: -27dB)
What is your source/command-line/output?

Standard cmd using Gui

something like:
eac3to input.truhd output.wavs

Decoder is libavcodec for Dolby. I dont get this DialNorm removal Message anymore for TrueHD and AC3

magic144
30th September 2009, 14:34
I assume if your input file (.thd or .ac3) was previously extracted from a disc source, the DialNorm removal will have been done then (and only then) - unless perhaps you initially used keepDialnorm (I've never tried).

I still see it when I do something like this (track 2 being an AC3 stream in the source):-
eac3to L: 1) 2: audio.ac3

EpheMeroN
30th September 2009, 18:33
Can do eac3to do timestretching to audio?

I used to use BeHappy to use timestretch for audio that I wanted to change the pitch of, but maintain the same tempo when going from 25>23.976.

tebasuna51
1st October 2009, 02:06
Can do eac3to do timestretching to audio?

I used to use BeHappy to use timestretch for audio that I wanted to change the pitch of, but maintain the same tempo when going from 25>23.976.

The -slowdown eac3to parameter is equal to use in AviSynth (for a 48 KHz audio):
SSRC(50050).AssumeSampleRate(48000)

Maybe the SSRC routines used in Eac3to are more recent than SSRC routines in AviSynth.

And is equivalent to TimeStretch(rate=98.0/1.001), the duration and the pitch change.

Eac3to can't do the others TimeStretch modes:
TimeStretch(tempo=98.0/1.001), change duration and preserve the pitch
TimeStretch(pitch=98.0/1.001), change pitch and preserve duration

odyssey
2nd October 2009, 10:05
It didn't work for me either, in Nero licence management, it clearly shows the BluRay/HDDVD plugin being registered but eac3to just can't detect it. It detects Arcsoft, Sonic and Surcode just fine but something about the Windows 7 architecture is preventing eac3to from accurately checking Nero 7 status. To get around this, I am running eac3to in a WinXP virtual machine.

Are there any update on this issue? I can't get it to work at all on Windows 7.

ACrowley
2nd October 2009, 10:23
Are there any update on this issue? I can't get it to work at all on Windows 7.

same Problem here on W7 x64 RTM

Anyway, i use libavcodec for AC3/THd. THD output should be Bitperfect from libavcodec and i cant hear any difference for AC3 decoding

Tarnatos
4th October 2009, 09:12
Hello,

why does eac3to don't maintain the tone pitch when in use the slowdown cmd?

The voices always sounds muffled!

I use Windows XP x64 - current eac3to version and libAv.

Boulder
4th October 2009, 09:39
eac3to is unable to process the 5.0 AC3 track from the Häxan Criterion Collection.

Here's the log:
eac3to v3.16
command line: eac3to.exe "f:haxan.ac3" f:\temp\captures\haxan_1922_audio2.m4a -quality=0.40 -normalize -down2
------------------------------------------------------------------------------
AC3, 5.0 channels, 0:00:50, 384kbps, 48khz, dialnorm: -27dB
Removing AC3 dialog normalization...
Decoding with DirectShow (Nero Audio Decoder 2)...
DirectShow reports 5.0 channels, 24 bits, 48khz
Writing WAV...
Creating file "f:\temp\captures\haxan_1922_audio2.m4a.pass1.wav"...
Starting 2nd pass...
Reading WAV...
Reducing depth from 64 to 32 bits...
Encoding AAC <0.40> with NeroAacEnc...
The Nero AAC encoder aborted processing. <ERROR>
[NeroAacEnc] ERROR: could not open AAC encoder
Aborted at file position 262144. <ERROR>

Encoding the other two tracks (2.0) works just fine.

Here's a sample: http://www.mediafire.com/?sharekey=9b19b691e7eb0ac9d2db6fb9a8902bda

tebasuna51
4th October 2009, 11:06
eac3to is unable to process the 5.0 AC3 track from the Häxan Criterion Collection.
...
Here's a sample: http://www.mediafire.com/?sharekey=9b19b691e7eb0ac9d2db6fb9a8902bda

You don't need samples, is NeroAacEnc the culprit, can't encode 5.0 audio, must be 5.1

Boulder
4th October 2009, 11:18
But why doesn't the down2 parameter work?

tebasuna51
4th October 2009, 11:20
why does eac3to don't maintain the tone pitch when in use the slowdown cmd?

The method used don't maintain the pitch.

And madshi say is the correct method to convert the audio previously speedup to put in PAL DVD: recover the original pitch.

But if your audio is recorded with a PAL camera and want slowdown preserving the pitch you need use other method like TimeStretch(tempo=100.1/0.96) in AviSynth

tebasuna51
4th October 2009, 11:31
But why doesn't the down2 parameter work?
Sorry, I don't see your -down2 parameter.
Yes this is a eac3to problem, only downmix 5.1 audio.

If you have AviSynth you can try:
NicAc3Source("f:haxan.ac3", Channels=2)

the downmix is Dolby ProLogic, or other downmix options,
with SoundOut, Wavi, BeHappy or MeGUI methods

dchard
5th October 2009, 20:51
I am using the latest TotalMedia Theater (v3) platinum on win7 x64, and eac3to continously sais that the Arcsoft decoder is not installed.

Can anyone help me to solve this problem?

Dchard

Nnoitra
8th October 2009, 03:53
I notice that in some movies, like Kill Bill 1&2, forced subtitles are not detected. There is one big English subtitle track with all subs, and another much smaller track with just the forced subs, but eac3to does not detect it as forced (nor does any other tool like BDSupToSub). Yet standalone Blu-Ray players somehow figure this out... how?

Nobody knows the answer to this? There must be some flag in the BD structure somewhere that marks these files as forced that eac3to isn't checking.

saint-francis
8th October 2009, 23:06
I have the Criterion Kagemusha and it has 4 channel DTS MA. eac3to is unable to cope with it. It spits out various errors. I'm using Arcsoft. Any ideas? I can upload a sample if someone would be so kind as to describe in detail how to cut it (I'm a movie watching enthusiast, bit a programmer so I'm not familiar with the use of hex editors).

tebasuna51
9th October 2009, 01:12
With a common tool you can extract the first MB:

VirtualDub -> Tools -> Hex Editor -> File (open the DTS file) -> Edit -> Extract segment -> 0 - 1000000 -> OK

saint-francis
9th October 2009, 01:48
With a common tool you can extract the first MB:

VirtualDub -> Tools -> Hex Editor -> File (open the DTS file) -> Edit -> Extract segment -> 0 - 1000000 -> OK

Thanks tebasuna.

Here's a sample: http://www.mediafire.com/?sharekey=cd17d0be1d2e2563d6baebe61b361f7c2d988c7d23ec3ed6935cbde7375ca78c

I hope someone can make heads or tails of it.

It's a sample of the entire m2ts BTW. If I need to upload just the DTS MA file I can do that too.

TinTime
9th October 2009, 12:16
Just tried your sample and it seems ok here. I decoded the DTS-MA to wav and all seems correct - 4 channels, correct channel mask.

What errors are you getting?

saint-francis
9th October 2009, 13:39
Just tried your sample and it seems ok here. I decoded the DTS-MA to wav and all seems correct - 4 channels, correct channel mask.

What errors are you getting?

I cam decode to WAV also. Or at least I got eac3to to produce a WAV. I can't encode to AC3. Is AC3 only 2 and 6 channels? What other format can I use then?

tebasuna51
9th October 2009, 14:02
You need use the external encoder Aften with the sintax, if the audio track is the second:
eac3to input.m2ts 2: stdout.wav | Aften -readtoeof 1 - output.ac3

saint-francis
9th October 2009, 14:49
You need use the external encoder Aften with the sintax, if the audio track is the second:
eac3to input.m2ts 2: stdout.wav | Aften -readtoeof 1 - output.ac3

Thanks tebasuna. But I can't seem to get it to work.

G:\the hive\software\video tools\eac3to\eac3to.exe F:\KAGEMUSHA 2: stdout.wav "C:\Program Files (x86)\megui\tools\aften\Aften.exe" -readtoeof 1 - F:\KAGEMUSHA\test.ac3

Nothing happens. What am I doing wrong? :(

TinTime
9th October 2009, 15:04
You haven't copied tebasuna51's command exactly (missing pipe), and you need quotes around paths / filenames containing spaces. Try...

"G:\the hive\software\video tools\eac3to\eac3to.exe" F:\KAGEMUSHA 2: stdout.wav | "C:\Program Files (x86)\megui\tools\aften\Aften.exe" -readtoeof 1 - F:\KAGEMUSHA\test.ac3

saint-francis
9th October 2009, 15:55
OK. Making some progress here. Now I get this:

"G:\the hive\software\video tools\eac3to\eac3to.exe" F:\KAGEMUSH
A 2: stdout.wav | "C:\Program Files (x86)\megui\tools\aften\Aften.exe" -readtoeo
f 1 - F:\KAGEMUSHA\test.ac3

Aften: A/52 audio encoder
Version SVN
(c) 2006-2007 Justin Ruggles, Prakash Punnoor, et al.

input format: Raw PCM Signed 16-bit little-endian 48000 Hz mono
output format: 48000 Hz mono (1/0)

SIMD usage: MMX SSE SSE2 SSE3
Threads: 4

progress: 100% | q: 532.0 | bw: 38.0 | bitrate: 96.0 kbps

And nothing else. That all happened right away. It immediately said progress 100%. So I'm assuming there's an error, or I did something wrong. The resulting ac3 is 384 bytes. Nothing is happening for over 20 minutes now. Are there some additional Aften parameters or something?

Thanks for all of the help tebasuna and TinTime.

tebasuna51
9th October 2009, 19:54
OK. Making some progress here. Now I get this:...

And nothing else....
But your input file is a folder: F:\KAGEMUSHA
and you say me is a m2ts.
If you have a complete BD structure please put the log of this command line:

"G:\the hive\software\video tools\eac3to\eac3to.exe" F:\KAGEMUSHA

saint-francis
9th October 2009, 20:40
Right, right. Stupid error.

"G:\the hive\software\video tools\eac3to\eac3to.exe" F:\KAGEMUSH
A
1) 00001.mpls, 00257.m2ts, 3:00:37
- Chapters, 31 chapters
- h264/AVC, 1080p24 /1.001 (16:9)
- AC3, English, stereo, 48khz
- DTS Master Audio, Japanese, multi-channel, 48khz

2) 00752.mpls, 00260.m2ts, 0:43:45
- Chapters, 20 chapters
- h264/AVC, 1080i60 /1.001 (16:9)
- AC3, Japanese, stereo, 48khz

3) 00751.mpls, 00259.m2ts, 0:41:01
- Chapters, 7 chapters
- h264/AVC, 1080i60 /1.001 (16:9)
- AC3, Japanese, stereo, 48khz

4) 00795.mpls, 00267.m2ts, 0:19:21
- h264/AVC, 1080i60 /1.001 (16:9)
- AC3, English, mono, 48khz

It's 00001.mpls

EDIT:
I think I got it now.

tebasuna51
9th October 2009, 20:49
Your DTS-MA is the track 2?
Please run this before:

"G:\the hive\software\video tools\eac3to\eac3to.exe" F:\KAGEMUSHA 1)

saint-francis
9th October 2009, 20:58
Your DTS-MA is the track 2?
Please run this before:

"G:\the hive\software\video tools\eac3to\eac3to.exe" F:\KAGEMUSHA 1)

No. It was #4. I got it to work. I think. I guess I have gotten lazy with the eac3to GUI in MeGUI and I spaced the track number. Now I need to encode the video and see if everything matches up upon muxing.

Thanks for all of the help.

BTW, Why couldn't eac3to handle this on it's own?

ron spencer
10th October 2009, 18:20
is development still ongoing for eac3to? just curious

madshi
11th October 2009, 20:35
I've encountered a very strange problem with EAC3TO, at least to me. I loaded my copy of Ice Age 2 in eac3to. It said the length of the movie was 1h 30m 38s (all playlists). I ripped the Dutch 768kbps audiotrack. But when I played that seperate track in MPC-HC it was 1h 32m 15s. Other players and MediaInfo revealed the same. EAC3TO says the seperate audiotrack is 1h 30m 38s. I am confused. Who is right? And why?
eac3to is right. Blu-Ray DTS tracks are very slightly different to DVD DTS tracks and that throws off the runtime calculation of many applications and filters.

yep.. i got the same error in my application (but i read stdout)
the last line is truncated :confused:
Don't know why. I've added a "flush" now after every log line. Hopefully that helps.

Mkvmerge will drop the core when input TrueHD, the coreless THD will not be recognized by tsMuxeR,can eac3to adds a function to fix this issue?(Like combine a normal ac3 and a coreless TrueHD into a normal TrueHD)
That feature already exists. Just ask eac3to to output a "something.thd+ac3" file.

I do think THD has its own bits depth because it is lossless, why don't eac3to show it?
All TrueHD tracks are stored in 24bit. Some of those may be zero. eac3to shows the true bitdepth after having decoded a TrueHD track.

How to disable fixes using AV gaps during eac3to demuxing ts source?
-no2ndpass

As someone suggested a few pages back, this is clearly caused by highpoint's various sector size feature (which allows you to have partitions > 2TB e.g. in Win XP).
I could confirm this by creating a new array that is identical to the old one except I have left the sector size at the default value. Eac3to then has no trouble writing the the array.
For arrays with non-standard sector size: while eac3to can read from such raid arrays, it can't write to them.
Maybe you can add support for this?
eac3to uses simple "WriteFile" calls. That's the very core win32 API for writing files. I don't see what I could change there. Maybe I'm writing too big chunks at a time? That's not really my fault, though. If your RAID array can't cope with that, I'd consider that a big bug of your RAID array - or of its driver or something. Maybe you change the drive's cache settings somehow? Don't know...

I'm trying to re-encode a Blu-ray that's 24fps instead of the usual 23.976fps. Video and audio are fine, but the sub is out of sync.

Will this option fix my subtitle sync issue? Or will this cause other problems?
If your only problem is the subtitle sync issue I'd suggest trying to modify the subtitle FPS. E.g. SubAdjust can do that. That's much less violent than changing video and audio FPS!!

When you have time to get back to this, would you consider adding support for FLV (Flash Video) please? It would be great if eac3to can demux and give info on this file type.
You mean with MKV containers? That would not be easy because I'd have to add a full FLV bitstream parser. Possible, but too time consuming right now. Maybe somewhen in the future...

A nice feature for eac3to would extracting a FLAC stream from an mkv file. Currently, the FLAC stream is decoded then encoded back to FLAC.
eac3to always decodes FLAC if you feed FLAC to it. The reason for that is that eac3to does not have a FLAC parser. Instead it relies on libFLAC. The only disadvantage I can see is that it takes more time. I don't consider that much of a problem, so no change planned here.

just been converting an HD-DVD I own (Elizabeth: The Golden Age) and I came across the following issue.

[...]

now everything appears fine, but when I later compared the .dts file here with the equivalent .ac3 file I got when separately extracting track 5 - the English E-AC3 audio is perfectly in sync with the video, whereas this .dts audio is 89ms too early (it needs a +89ms delay to be in-sync with the E-AC3 and the video)

[...]

Can it be that eac3to hasn't read/observed some kind of delay (separate meta-data?) that should apply to the TrueHD track in this case? And would this delay/offset only turn up when extracting TrueHD from HD-DVD sources (vs BluRay TrueHD tracks)?

(has the HD-DVD side of the code been abandoned anyway?!)
The HD DVD side has not been abandoned. But finding out exact delays is really difficult. I've found problems sometimes, too. To be honest, I'm not sure if eac3to is doing something wrong or if some discs are simply not encoded properly. In your case you've also reencoded to DTS. Maybe Surcode adds its own bit of delay. Anyway, I don't have much hope of improving the situation.

ps - probably an easier question - what does (DVD) signify in the subtitle track listings? Obviously, these extract as HD subs in a .sup file (albeit presumably an HD-DVD specific .sup variant)
It means that the type of the subtitles is similar to DVD subtitles. Blu-Ray subtitles are totally different. HD DVD subtitles are similar to DVD.

I notice that in some movies, like Kill Bill 1&2, forced subtitles are not detected. There is one big English subtitle track with all subs, and another much smaller track with just the forced subs, but eac3to does not detect it as forced (nor does any other tool like BDSupToSub). Yet standalone Blu-Ray players somehow figure this out... how?
Probably the Blu-Ray player fetches some additional information from somewhere else. Maybe the menus have it hard coded or something. eac3to reads out the default fields. If the information is not available there, there's nothing more eac3to can do.

why does eac3to don't maintain the tone pitch when in use the slowdown cmd?
There are 2 different kinds of algorithms. One kind changes the pitch, another one doesn't. Both are useful. Neither one is "better" than the other. Depending on the circumstances you should choose one or the other. If you choose the wrong one, audio quality will suffer. eac3to's algorithm changes the pitch. If you need an algorithm which doesn't change the pitch, try e.g. TimeFactory (expensive).

Is it possible to add Radscorpion's Monogram AAC Decoder support with the option of "-mmaac"?
Using this, i got the best results even with problematic aac files.
If you need any problematic aac _supposed to be- which eac3to can not figure out- i mean nero audio decoder2 or libav inside eac3to-, i can pm a sample to you.
Is the problem the decoding or the bitstream parsing? If the bitstream parsing doesn't work properly, then it's an eac3to problem and no external decoder can help.

Eac3to has a big problem with seemless branching movies with THD soundtracks eg. Spiderman 2, Cars (reg.B), Ratatouille (reg.b).
That sounds weird to me. I've done countless seamless branching discs and never had a problem. Can anybody reproduce this? Or is only CapnBob affected (for whatever reason)?

Hi, i'm using Hdconverttox that use eac3to to muxing/demuxing/decoding/encoding...
Recently i'm having this problem constantly when I start from a mkv with aac audio tracks.
Can I have a sample, please?

The transcoding to FLAC from PCM 3.0 of the English audio stream on the "Vicky Cristina Barcelona" BluRay failed miserably with respect to channel mapping.
The dialogue is in the left surround speaker of the finished FLAC stream.
That's problematic because the problem could also be caused by the playback system. 3.0 audio tracks are simply weird... :(

Does eac3to have any way to convert from OGG Vorbis audio to AAC?
Currently no.

strange thing with the "A bug's life" BD, according to the log its 39.395p. but is this only a display bug, because anything else tells me its 23.976fps, when I play the remuxed file (length is 1:34:53; playlist info tells 24/1.001 as well)?
There are different sources of framerate information. E.g. you can see in the video track listing that eac3to correctly identifies the video track as being 24/1.001. However, the container timestamps seem to be weird. They are not very important, though, eac3to mostly ignores them. So don't worry. If you want me to look at this, I'd need a sample which is big enough so that the problem can be reproduced with the sample.

I get the same problem as Thunderbolt8 with Cars BD. Not sure if the fps in the stream is set correctly, haven't remuxed yet, but it would be helpful if in the log the true fps were indicated
Ok, have added that.

Does the -down6 switch mix the entire rear channels with the sides, or does it work in a different way?
Rear channels are mixed with the sides.

Has anyone been able to rip the 'Waiting...' Blu-Ray? When I type in
c:\eac3to.exe e: 2)
with 2) being the main movie, it just hangs there for 20 seconds or so, and then brings me back to the prompt. Every other disc I have tried has worked just fine. Thoughts?
Weird. That's the first time I hear about such a problem. Maybe the rip is broken in a weird way. Can you please try reripping the disc, just to be sure?

If a Blu-ray has multiple 7.1 tracks, lets say all three lossless/uncompressed varieties, and I want to downmix to 5.1, does it matter which one I use? I'm guessing the PCM track might better since the layout is more straight-forward.
I'd suggest using the PCM track cause there can be no decoding issues whatsoever. Next best option would be TrueHD because there are no known bugs. DTS-MA should work fine in most cases, too, but there are some (rare) tracks where ArcSoft stumbles over the speaker configuration.

madshi, can you implement extracting the subtitles from HDTV recordings? The subtitles can be viewed if playing the files with VLC.

6: Subtitle (DVB), Dutch
I wouldn't even know in which format to save DVB subtitles. Probably there is some format which can hold this kind of subtitles, but I don't know it. And it would probably cost a lot of time to implement. So right now I don't have much hope to implement that anytime soon.

do you plan to add VobSub format support of subtitles to eac3to? It was already disscussed here that it is not supported. But is it planned?
Sooner or later, probably.

I have a bug report for eac3to when using seamless branching blurays and .w64 audio extension. eac3to creates a w64 file then it detects the gaps and re writes the w64 file. The first file is 4.5 gigs but after it re-writes the w64 file it is only 465 megs. It seems to only write the gap information up to the first gap then it stops. Using the same file with the dts or pcm file extension creates a file the correct size.
Are you sure that your harddisk had enough free space? Can anybody else reproduce this problem?

Hi, I am seem to be encountering the same troubles as some previous users with the 300 HD-DVD.
That's a weird behaviour. Can you fully reproduce it? I think I've done 300 once and it worked for me, IIRC.

How can I disable "Patching bitdepth to 24 bits..." during extracting Core from DTS-HD?
Not at all. I see no good reason for disabling that.

When I use eac3to to demux evo-Containers with the -demux switch, eac3to demuxes not all the streams (especially subtitles with ID: 28 and up).
Can I have a sample, please? Are you sure there's actually data in those subtitles tracks?

Is there a way to split an MLP file with eac3to if you have a cue sheet or somehow just typing in where (in time/samples etc) to split the audio file?
No, sorry.

madshi
11th October 2009, 20:35
Would be .mpls file reading be a reasonable feature to add? i.e. just load a mpls playlist file in eac3to and get the order the m2ts files will be played in, regardless if you have the rest of the disc structure or not. Would probably also be useful for GUIs versions.
That feature was already there, however, it required the m2ts files to exist. I've now changed that so that it works even if the m2ts files are no longer available.

Anyone have any ideas on what might be wrong here.

eac3to v3.16
command line: "C:\VID2EVA\tools\eac3to\eac3to.exe" "F:\BDMV\STREAM" 1) "Z:\VIDEOS\Vid2eva.mkv" -seekToIFrames -stripPulldown -lowPriority
------------------------------------------------------------------------------
M2TS, 1 video track, 5 audio tracks, 5 subtitle tracks, 1:44:05, 24p /1.001
1: Chapters, 24 chapters
2: h264/AVC, 1080p24 /1.001 (16:9)
3: DTS Master Audio, English, 6.1 channels, 24 bits, 48khz
(core: DTS-ES, 6.1 channels, 24 bits, 1509kbps, 48khz)
4: AC3, Spanish, 5.1 channels, 448kbps, 48khz, dialnorm: -27dB, -13ms
5: AC3, French, 5.1 channels, 448kbps, 48khz, dialnorm: -27dB, -13ms
6: AC3, English, 2.0 channels, 224kbps, 48khz, dialnorm: -27dB, -19ms
7: AC3, English, 2.0 channels, 224kbps, 48khz, dialnorm: -27dB, -19ms
8: Subtitle (PGS), English
9: Subtitle (PGS), French
10: Subtitle (PGS), Spanish
11: Subtitle (PGS), Spanish
12: Subtitle (PGS), English
Creating file "Z:\VIDEOS\Vid2eva - Chapters.txt"...
[a03] The ArcSoft and Sonic decoders don't seem to work, will use libav instead.
[a03] The libav DTS decoder doesn't decode the back channels. <WARNING>
[a03] The libav DTS decoder doesn't decode the full DTS-HD information. <WARNING>
[v02] Extracting video track number 2...
[a04] Extracting audio track number 4...
[v02] Muxing video to Matroska...
[a05] Extracting audio track number 5...
[a06] Extracting audio track number 6...
[a06] Removing AC3 dialog normalization...
[a07] Extracting audio track number 7...
[s09] Extracting subtitle track number 9...
[a03] Extracting audio track number 3...
[s10] Extracting subtitle track number 10...
[s11] Extracting subtitle track number 11...
[s08] Extracting subtitle track number 8...
[s12] Extracting subtitle track number 12...
[a05] Removing AC3 dialog normalization...
[a04] Removing AC3 dialog normalization...
[a04] A remaining delay of -13ms could not be fixed.
[a07] Removing AC3 dialog normalization...
[a03] Extracting DTS core...
[a05] A remaining delay of -13ms could not be fixed.
[a06] Applying (E-)AC3 delay...
[a07] Applying (E-)AC3 delay...
[a07] A remaining delay of +13ms could not be fixed.
[a06] A remaining delay of +13ms could not be fixed.
[a03] Decoding with libav/ffmpeg...
[a03] Remapping channels...
[a03] Reducing depth from 64 to 24 bits...
[a03] Encoding FLAC with libFlac...
[a03] Creating file "Z:\VIDEOS\Vid2eva - 3 - DTS Master Audio, English, 6.1 channels, 24 bits, 48khz.flac"...
[a04] Creating file "Z:\VIDEOS\Vid2eva - 4 - AC3, Spanish, 5.1 channels, 448kbps, 48khz.ac3"...
[a05] Creating file "Z:\VIDEOS\Vid2eva - 5 - AC3, French, 5.1 channels, 448kbps, 48khz.ac3"...
[a06] Creating file "Z:\VIDEOS\Vid2eva - 6 - AC3, English, 2.0 channels, 224kbps, 48khz.ac3"...
[a07] Creating file "Z:\VIDEOS\Vid2eva - 7 - AC3, English, 2.0 channels, 224kbps, 48khz.ac3"...
[s12] Creating file "Z:\VIDEOS\Vid2eva - 12 - Subtitle (PGS), English.sup"...
[s08] Creating file "Z:\VIDEOS\Vid2eva - 8 - Subtitle (PGS), English.sup"...
[s10] Creating file "Z:\VIDEOS\Vid2eva - 10 - Subtitle (PGS), Spanish.sup"...
[a03] Clipping detected, a 2nd pass will be necessary. <WARNING>
[a03] The original audio track has a constant bit depth of 64 bits.
[a03] The processed audio track has a constant bit depth of 24 bits.
[s09] Creating file "Z:\VIDEOS\Vid2eva - 9 - Subtitle (PGS), French.sup"...
[s11] Creating file "Z:\VIDEOS\Vid2eva - 11 - Subtitle (PGS), Spanish.sup"...
[a03] The libav DTS decoder doesn't decode the back channels. <WARNING>
[a03] The libav DTS decoder doesn't decode the full DTS-HD information. <WARNING>
[a03] Starting 2nd pass...
[a03] Extracting audio track number 3...
[a03] Extracting DTS core...
[a03] Decoding with libav/ffmpeg...
[a03] Remapping channels...
[a03] Reducing depth from 64 to 24 bits...
[a03] Encoding FLAC with libFlac...
[a03] Creating file "Z:\VIDEOS\Vid2eva - 3 - DTS Master Audio, English, 6.1 channels, 24 bits, 48khz.flac"...
[a03] Writing the destination file failed. <ERROR>
[a03] One of the FLAC encoder's callbacks returned a fatal error. <ERROR>
Aborted at file position 56623104. <ERROR>
Can I have a sample, please?

I have a question about audio gaps, I have the following:


[a02] Audio has a gap of 39ms at playtime 0:03:39. -> +32(-7)
[a02] Audio has a gap of 41ms at playtime 0:03:55. -> +32(-16)
[a02] Audio has a gap of 41ms at playtime 0:16:51. -> +32(-25)
[a02] Audio has a gap of 44ms at playtime 0:25:56. -> +32(-37)
[a02] Audio has a gap of 22ms at playtime 0:37:43. -> +32(-25)
[a02] Audio has a gap of 54ms at playtime 0:47:29. -> +32(-47)
[a02] Audio has a gap of 29ms at playtime 0:55:48. -> +32(-44)
[a02] Audio has a gap of 28ms at playtime 1:03:05. -> +32(-40)
[a02] Audio has a gap of 21ms at playtime 1:11:36. -> +32(-29)
[a02] Audio has a gap of 58ms at playtime 1:27:22. -> +32(-55)


I put in the red, just assuming you would pad 32ms, the number in parenthesis would be the running total left over in ms at each spot, just wondering how you would actually fill the gaps. The video is 23.976FPS and the audio is 48KHz AC3.
Your list assumes that eac3to strictly handles each gap separately. That's not how eac3to works. eac3to always keeps track on how far audio has drifted from where it should be. So e.g. in your "+32(-25)" line eac3to would add in 2 audio frames.

Demuxing M2TS files produced by an HD camcorder: Canon HF100. The camcorder produces almost a BD structure on the flash (or is it a complete BD structure?).

Anyway, it seems like files shorter than 10 seconds or so can be demuxed just fine:

http://dl.getdropbox.com/u/29966/demux/00001.MTS

eac3to v3.16
command line: eac3to 00001.MTS 1: 00001.mkv 2: 00001.ac3 -seekToIFrames
------------------------------------------------------------------------------
M2TS, 1 video track, 1 audio track, 0:00:11, 60i /1.001
1: h264/AVC, 1080i60 /1.001 (16:9)
2: AC3, 2.0 channels, 256kbps, 48khz
[v01] Extracting video track number 1...
[a02] Extracting audio track number 2...
[v01] Muxing video to Matroska...
[a02] Creating file "00001.ac3"...
Added fps value to MKV header.
Video track 1 contains 658 fields.
eac3to processing took 1 second.
Done.

However, files longer than 20 sec or so cannot be demuxed - eac3to fails at some point.

http://dl.getdropbox.com/u/29966/demux/00002.MTS

eac3to v3.16
command line: eac3to 00002.MTS 1: 00002.mkv 2: 00002.ac3 -seekToIFrames
------------------------------------------------------------------------------
M2TS, 1 video track, 1 audio track, 0:00:21, 60i /1.001
1: h264/AVC, 1080i60 /1.001 (16:9)
2: AC3, 2.0 channels, 256kbps, 48khz
[v01] Extracting video track number 1...
[a02] Extracting audio track number 2...
[v01] Muxing video to Matroska...
Unfortunately the Haali Muxer cannot handle this source file. <ERROR>
It doesn't contain enough seek/recovery points. <ERROR>
The "-seekToIFrames" option may work around that.
However, using this option may result in artifacts when seeking.
Aborted at file position 35651584. <ERROR>

The position where it's aborted is not always exactly the same, but the values are pretty similar - always 30 ... 40 million.

What's going on? Does it fail after a GOP or something?

The files are valid, I can open them in various programs and they work very well.
Have you bothered to read the warnings eac3to reported to you? :) They explain fairly well what happened and what options you have. There's nothing more I have to add to that. If you have specific questions, let me know.

In the log file, if the command was for something like stream 1) please list the .m2ts files that would be reported when listing 1), e.g. 00000.m2ts+00183.m2ts+00184.m2ts
Makes sense, I'll add that to my to do list.

Does r8brain (pro) produce better quality than SSRC for pal/ntsc conversions?
Check out this one:

http://src.infinitewave.ca/

According to those measurements eac3to's SSRC implementation might be ever so slightly superior to r8brain pro's linear phase implementation. I don't really know if these measurements are good enough to fully judge, though. In the end, only your ear can decide.

What FPS values are supported? Is it planned to make it possible to use any custom FPS?
SSRC is limited in what framerates it supports. eac3to only allows default framerates (23.976, 24.000, 24.975, 25.000, 29.970, 30.000, 47.962, 48.000, 50.000, 59.940, 60.000).
What arguments I can use with ssrc_hp.exe to get same settings?
eac3to uses special coefficients which are not available in ssrc_hp. So there's no way to reproduce eac3to's resampling with ssrc_hp.exe.

Did you compare SSRC with SoX Resampler (GPL)?
The SoX resampler's "VHQ Linear Phase" configuration looks virtually identical to eac3to's SSRC implementation in the comparison site linked to above. I don't have done direct comparison tests with real audio files, though. So I can't really judge. Why don't you compare for yourself?

eac3to cannot use SoX' resamplers because eac3to is not open source and thus cannot use GPL code.

Thank you for your help but as mentioned earlier when I muxed with tsMuxeR only (avoiding EAC3to), the disc created played with no problem at all. So that leaves the only different viarable as EAC3to.
eac3to sets AC3 and E-AC3 files to -31, but simply "clears" the dialnorm field of TrueHD tracks. The simple reason for that is that I don't have a TrueHD format specification, so I don't know *exactly* which fields in the TrueHD header are responsible for dialnorm. I'm simply clearing a number of fields and that makes Nero's decoder not apply dialnorm, anymore. If I had exact documentation available I could use -31, which might be better than clearing. Maybe I should not remove dialnorm from TrueHD tracks by default - except for decoding. The main problem I see with that is that it would make the parameters more complicated again. Currently there's only "-keepDialnorm". I would have to readd "-stripDialnorm".

Opinions?

madshi
11th October 2009, 20:51
EAC3TO has problems with mpg clips from all HP digicams.
eac3to supports VOB and EVO containers. And MPG containers which behave similar to VOB. This specific MPG file you uploaded is different: It doesn't have the video data packages in PES packets. Instead the video data is directly part of the MPG structure itself. eac3to doesn't support this type of file. On the first direct video data packet eac3to aborts processing.

madshi
11th October 2009, 20:57
eac3to D:\ -progressnumbers
eac3to D:\ 1) -progressnumbers
doesn't work as I imagined, eac3to goes straight into processing.
I fixed the first. Not sure what you mean with the 2nd? It seems to work fine for me.

also when doing this on a HD-DVD:

eac3to D:\ 1)

multiple times, the results are different each time - like a counter is not being reset so the (results are 1), the 2), then 3) etc)
Can you post 2 logs for the same HD DVD with different order? Thanks...

madshi
11th October 2009, 21:12
eac3to v3.17 released

http://madshi.net/eac3to.zip

* updated libFLAC to version 1.2.1
* added a flush after every log line to help GUIs
* "eac3to some.mpls" now also works if the stream files aren't there, anymore
* fixed: number of subtitles was not appended to demuxed subtitles' file name
* fixed: dialnorm removal (for Nero decoder) failed with some 2.0 TrueHD files

Inspector.Gadget
11th October 2009, 21:15
The return of the king :thanks:

I look forward to testing out this new version.

Thunderbolt8
11th October 2009, 21:28
thanks!

EDIT: is there something wrong? when I just enter 'eac3to' then it directly says 'HD DVD/Blu-ray disc structure not found' and does not display what eac3to can do as usual.

madshi
11th October 2009, 21:42
EDIT: is there something wrong?
Yes, stupid me forgot to remove some debugging code. Please download again (same link). You may have to empty your browser cache to make sure you get the fixed one.

honai
11th October 2009, 22:18
Great to see you back, madshi!

If time permits, would you ponder adding FLAC->Apple Lossless conversion? AFAIK libavcodec supports encoding to Apple Lossless.

TinTime
11th October 2009, 23:00
Thanks very much for your continuing work on this (and madVR). It's much appreciated.

:thanks:

ron spencer
12th October 2009, 00:03
thanks!!!!

dat720
12th October 2009, 01:17
Madshi, excellent work as usual...

I'd like to propose a couple of features, assuming you have the time and consider the ideas to be useful.

Extend the -demux option to allow stream selection rather than all streams, it would be nice to be able to demux streams to their native format without having to specify file name's and extensions.
Example: eac3to e: 1) -demux 2:,5:

Linux friendly, I remember earlier on in this thread you quoted that there would be no Linux build as it works perfectly under wine, happy to use it this way it work's fine, however since you introduced console text colouring wine now throws a heap of garbage on the screen (see below), OS Detection would be nice, ie if its not win* then don't colour the console... even a simple -nocol switch would be useful.

Also is there a way to use dll's directly rather than having to have things installed, ie Haali Media Spliter, ArcSoft etc, would it be difficult to set it up so there is a directory called addon's for instance and all support files are dropped in there, rather than having to set everything up manually, this would also allow Linux (hopefully) to use these filters and codecs and also allow other Windows systems on the network to use them without having to go through the whole deal of installing everything, adding arcsoft to the path etc.

That's all for now :) Keep up the good work, it is highly appreciated.

PS have you setup a donation system yet? I'd like to donate some money to say thanks for all the hard work.

$ wine eac3to.exe -test
fixme:reg:GetNativeSystemInfo (0x32fce0) using GetSystemInfo()
Hooking GetModuleFileNameA failed (Success).
Hooking WriteConsoleA failed (Success).
eac3to (v3.17) is up to date
err:ole:CoGetClassObject class {83e69a3d-56a5-4850-89c9-f6b6f003eb9b} not registered
err:ole:CoGetClassObject no class object {83e69a3d-56a5-4850-89c9-f6b6f003eb9b} could be created for context 0x1
err:ole:CoGetClassObject class {83e69a3d-56a5-4850-89c9-f6b6f003eb9b} not registered
err:ole:CoGetClassObject no class object {83e69a3d-56a5-4850-89c9-f6b6f003eb9b} could be created for context 0x1
Nero Audio Decoder (Nero 6 or older) doesn't seem to be installed
http://www.nero.com/eng/store-blu-ray.html
CAUTION: You need Nero 7. Nero 8 won't work with eac3to.
err:ole:CoGetClassObject class {1a89085b-b654-4ed8-8831-5ac629a05ff5} not registered
err:ole:CoGetClassObject no class object {1a89085b-b654-4ed8-8831-5ac629a05ff5} could be created for context 0x1
err:ole:CoGetClassObject class {1a89085b-b654-4ed8-8831-5ac629a05ff5} not registered
err:ole:CoGetClassObject no class object {1a89085b-b654-4ed8-8831-5ac629a05ff5} could be created for context 0x1
ArcSoft DTS Decoder doesn't seem to be installed
http://www.arcsoft.com/products/totalmediatheatre
err:ole:CoGetClassObject class {9f062738-cd84-4f54-a3c4-bd5eb44f416b} not registered
err:ole:CoGetClassObject no class object {9f062738-cd84-4f54-a3c4-bd5eb44f416b} could be created for context 0x1
err:ole:CoGetClassObject class {9f062738-cd84-4f54-a3c4-bd5eb44f416b} not registered
err:ole:CoGetClassObject no class object {9f062738-cd84-4f54-a3c4-bd5eb44f416b} could be created for context 0x1
Sonic Audio Decoder (3.17.0.0) doesn't seem to be installed
err:ole:CoGetClassObject class {564fd788-86c9-4444-971e-cc4a243da150} not registered
err:ole:CoGetClassObject no class object {564fd788-86c9-4444-971e-cc4a243da150} could be created for context 0x1
Haali Matroska Muxer doesn't seem to be installed
http://haali.net/mkv
Nero AAC Encoder (1.3.3.0) is up to date
Surcode DTS Encoder doesn't seem to be installed
http://www.surcode.com
MkvToolnix doesn't seem to be installed
http://www.bunkus.org/videotools/mkvtoolnix

Xorp
12th October 2009, 03:04
madshi any chance you could integrate an open source AAC decoder like libfaad2? I know Nero has better quality but is the difference really that dramatic? Myself and others have also had some issues getting eac3to to detect the Nero filters sometimes. A built-in decoder would streamline setup for those that just need a quick conversion.

A aesthetic bug I noticed is that eac3to reports the dialnorm setting different between Dolby and DTS. For a TrueHD track it might say -27dB (the DN setting), but for a DTS-MA track it says -4dB (the DN offset). It's unlikely the DTS-MA track was actually set 27dB lower than standard.

Snowknight26
12th October 2009, 03:21
eac3to spits this out when analyzing an mkv (or flac):

eac3to v3.17
command line: eac3to.exe "C:\Users\Admin\Videos\Unsorted\F8.2001.480p.DVD.MPEG-2.mkv"
------------------------------------------------------------------------------
This doesn't seem to be a valid EVO/VOB file ($0). <ERROR>
MKV, 1 video track, 1 audio track, 0:12:27, 60i /1.001
1: MPEG2, 480i60 /1.001 (16:9)
2: AC3, 5.1 channels, 448kbps, 48khz
"AC3, 5.1 channels, 448kbps"


And this when analyzing my HD DVD:

C:\unzipped\eac3to>eac3to.exe "E:"
1) FEATURE_1.EVO+FEATURE_2.EVO, 2:17:03
"Main Movie"
- VC-1, 1080p (16:9)
- E-AC3, English, 5.1, 48khz
- E-AC3, Spanish, 2.0, 48khz
- E-AC3, French, 2.0, 48khz

C:\unzipped\eac3to>eac3to.exe "E:" 1)
$3f800
$40000
$40000
$40000
$40000
$40000
$40000
$40000
$40000
$40000
$40000
$40000
$40000
$40000
---------^C
C:\unzipped\eac3to>

nyonya
12th October 2009, 04:39
My problem with the "Waiting..." Blu-Ray was fixed with an update to AnyDVD HD. Awesome work madshi, love using eac3to and madflac, and look forward to trying madVR once I upgrade to a more powerful CPU!

9700PRO
12th October 2009, 06:21
Helo Madshi. Thank you very much for you EAC3TO.
But I have problem with her.
I have Windows 7 64 bit and i'm installed Nero 7. Nero work good and correct, but EAC3TO don't see it. Please help.

madshi
12th October 2009, 08:28
If time permits, would you ponder adding FLAC->Apple Lossless conversion? AFAIK libavcodec supports encoding to Apple Lossless.
If I do that, the next person will come and say: "You write Apple Lossless files, you should also be able to read them". It's a never ending circle, I guess...

Currently my focus is on madVR, so eac3to will have to make do with bugfixes and minor improvements for a while.

Extend the -demux option to allow stream selection rather than all streams
I don't consider that important, because you can simply demux everything and then delete whatever you're not interested in. The only benefit of the feature you've suggested would be a small gain in speed. I usually don't consider small speed gains as worth spending many hours of programming time on.

since you introduced console text colouring wine now throws a heap of garbage on the screen (see below), OS Detection would be nice, ie if its not win* then don't colour the console... even a simple -nocol switch would be useful.
How can I detect I'm running under wine?

And why is everybody expecting *ME* to fix wine problems? I'm not doing any hacks to do colored console text. I'm using highly official win32 APIs. If wine doesn't like that, then that's a very clear bug in wine. Have you tried reporting this to the wine programmers? ;)

Also is there a way to use dll's directly rather than having to have things installed, ie Haali Media Spliter, ArcSoft etc, would it be difficult to set it up so there is a directory called addon's for instance and all support files are dropped in there, rather than having to set everything up manually, this would also allow Linux (hopefully) to use these filters and codecs and also allow other Windows systems on the network to use them without having to go through the whole deal of installing everything, adding arcsoft to the path etc.
That's all nice and fine but it would bypass the license checks of the commercial products. And I don't want to do that.

madshi any chance you could integrate an open source AAC decoder like libfaad2? I know Nero has better quality but is the difference really that dramatic? Myself and others have also had some issues getting eac3to to detect the Nero filters sometimes. A built-in decoder would streamline setup for those that just need a quick conversion.
I'm not sure what to do with AAC decoding. I'm still waiting for the freeware "does it all in perfect quality" decoder. I was hoping that the command line decoder shipping with Nero's AAC encoder package would do the trick, and I've suggested a few changes to the Nero folks. But last time I checked they haven't implemented that yet. Haven't checked for a while, though. I can't use libfaad2 because eac3to is not GPL and so I can't use any GPL libs. I can only use LGPL.

A aesthetic bug I noticed is that eac3to reports the dialnorm setting different between Dolby and DTS. For a TrueHD track it might say -27dB (the DN setting), but for a DTS-MA track it says -4dB (the DN offset). It's unlikely the DTS-MA track was actually set 27dB lower than standard.
Hmmmm... I think I'm reporting dialnorm in the same way for both AC3 and DTS. Dialnorm is rare for DTS, anyway. Do you have a DTS track where you know for sure that eac3to's dialnorm information is incorrect?

eac3to spits this out when analyzing an mkv (or flac): [...]

And this when analyzing my HD DVD: [...]
Argh, another few debug messages I forgot to remove!! I've now re-uploaded eac3to v3.17 another time, with these debug messages removed, too.

My problem with the "Waiting..." Blu-Ray was fixed with an update to AnyDVD HD.
Good to hear!

I have Windows 7 64 bit and i'm installed Nero 7. Nero work good and correct, but EAC3TO don't see it. Please help.
Please check out the other posts about this. IIRC some other users have been able to make it work somehow.

allak
12th October 2009, 09:25
Would you consider adding a flag like -simpleoutput to disable console text colouring and console character position handling ? That is, just output the plain text log messages without any formatting.

This way the Linux users and the Cygwin users (like me) could use your tool without having to fire up the Windows console. Maybe it could make the live easier for the people that wrote the GUI wrappers.

Just a thought, it's obviously not a priority. Thanks anyway for the great tool.