View Full Version : eac3to - audio conversion tool
jchappo
2nd May 2008, 00:03
howdy, been using your nice program here for awhile. I recently ran into a problem decoding DTS-HD to WAV using Sonic Decoder 4.3. When remuxing the WAV file back with the video in M2TS container, TsMuxer reports the WAV has no channel info.
When playing the movie back over a popcorn hour A-100, the audio plays fine for about 20-30% of the movie, then it goes all screetchy and is basically garbage. I can't determine what the problem is. How to I test if Sonic is not causing the problem? It's weird because the audio plays fine for a little while, then goes bad for some reason.
itsancho
2nd May 2008, 01:21
hi all
strange problem with Basic Instinct, here is the log:
eac3to v2.44
command line: eac3to244\eac3to "K:\Basic Instinct (1992) BluRay AVC dts-HD Hi-Res" 1) 2: i:\video.mkv
------------------------------------------------------------------------------
M2TS, 1 video track, 4 audio tracks, 2:08:15
1: Chapters, 17 chapters
2: h264/AVC, 1080p24 /1.001 (16:9)
3: DTS Hi-Res, English, 6.1 channels, 24 bits, 3093kbit/s, 48khz, dialnorm: -4dB
4: AC3, English, 5.1 channels, 640kbit/s, 48khz, dialnorm: -27dB
5: AC3, English, 2.0 channels, 192kbit/s, 48khz, dialnorm: -27dB
6: AC3, English, 2.0 channels, 192kbit/s, 48khz, dialnorm: -27dB
[v02] Extracting video track number 2...
[v02] Muxing video to Matroska...
Unfortunately the Haali Muxer cannot handle this source file.
It doesn't contain enough seek/recovery points.
Aborted at file position 142065664. i've tried to remux raw h264 stream (using 3 different programs) and then mux it with mkvtollnix, but... :-( runtime was 2:09:44
big 10x in advance 4 helping with this one!
Yraen, nope, for sorry that is not the problem, with or without any " the result is the same...
Looks like you missed an " here:
i:\video.mkv"
That might be the problem. Try it and if it fails post that log.
Hmmmm... That's quite strange. Could you send me the last 20MB of 00000.m2ts and the first 20MB of 00001.m2ts?
Ok here you go: http://www.mediafire.com/?g499bligrz0
end of first m2ts doesn't play, i hope it did right
BTW the end of the file is at 30684420096, while the error is at 30684829696, BUT the file converts to mkv fine when there is no joining.
Hi,
I seem to have run into another bug as follows:
M:\to convert\SciFi\bluray>eac3to UNDERWORLD
1) 00106.mpls, 2:13:39
[93+94+95+96+97+98+99+100].m2ts
- MPEG2, 480i30 /1.001 (4:3)
- AC3, English, stereo, 48khz
2) 00011.mpls, 00011.m2ts, 2:13:37
- h264/AVC, 1080p24 /1.001 (16:9)
- RAW/PCM, English, multi-channel, 48khz
- AC3, English, multi-channel, 48khz
- AC3, French, multi-channel, 48khz
- RAW/PCM, Italian, multi-channel, 48khz
- AC3, Italian, multi-channel, 48khz
- AC3, English, stereo, 48khz
3) 00095.mpls, 00093.m2ts, 0:47:18
- MPEG2, 480i30 /1.001 (4:3)
- AC3, English, stereo, 48khz
4) 00101.mpls, 00099.m2ts, 0:19:13
- MPEG2, 480i30 /1.001 (4:3)
- AC3, English, stereo, 48khz
M:\to convert\SciFi\bluray>eac3to UNDERWORLD UNDERWORLD.mkv
M2TS, 1 video track, 1 audio track, 2:13:38
1: Chapters, 13 chapters
2: MPEG2, 480i60 /1.001 (4:3)
3: AC3, English, 2.0 channels, 192kbit/s, 48khz, dialnorm: -27dB
Creating file "UNDERWORLD - Chapters.txt"...
[a03] Extracting audio track number 3...
[v02] Extracting video track number 2...
[v02] Muxing video to Matroska...
[a03] Removing dialog normalization...
[a03] Creating file "UNDERWORLD - 3 - AC3, English, 2.0 channels, 192kbps, 48khz
.ac3"...
[v02] Video overlaps for 1 frames at playtime 0:47:18.
[v02] Video overlaps for 1 frames at playtime 1:00:21.
[v02] Video overlaps for 1 frames at playtime 1:10:18.
[v02] Video overlaps for 1 frames at playtime 1:22:48.
[v02] Video overlaps for 1 frames at playtime 1:34:31.
[v02] Video overlaps for 1 frames at playtime 1:45:18.
[v02] Video overlaps for 1 frames at playtime 2:04:31.
[v02] The MKV file was created without making use of the gap/overlap information
.
[v02] Please check whether audio is in sync. If it is in sync everything is fine
.
[v02] Otherwise you can ask eac3to to repeat the muxing. It will then automatica
lly
[v02] make use of the detailed gap/overlap information.
[a03] Audio overlaps for 31ms at playtime 0:47:18.
[a03] Audio overlaps for 42ms at playtime 1:00:21.
[a03] Audio overlaps for 27ms at playtime 1:10:18.
[a03] Audio overlaps for 24ms at playtime 1:22:48.
[a03] Audio overlaps for 46ms at playtime 1:34:31.
[a03] Audio overlaps for 39ms at playtime 1:45:18.
[a03] Audio overlaps for 25ms at playtime 2:04:31.
[a03] The audio file was demuxed without making use of the gap/overlap informati
on.
[a03] Please rerun the same eac3to command line. That will correct the gaps/over
laps.
Added fps value to MKV header.
Video track 2 contains 240318 frames.
eac3to processing took 8 minutes, 15 seconds.
Done.
For some reason the main (listed under 2) movie is not converted by default. The main movie file is 38GB so may be that is the reason. When I went into the stream directory and converted the 00011.m2ts file directly it converted correctly.
madshi
2nd May 2008, 07:28
:) Sorry didn't mean to offend, I thought I remember you saying you weren't English. Not that I could tell from what you write - impeccable English!
You didn't offend me at all, don't worry. You are right in that my native language is not English. So it makes sense that you thought I'd prefer having my native language muxed. But it's just not that way. And thanks for the compliment on my English capabilities... :) I guess reading/writing English every day helps!
false alarms would indeed be really bad, you are right that we dont want that. hm is there maybe a way to combine the gap/overlap checking with the audio tracks used? for example if I only decide to use a pcm or truehd/dts-hd and no ac3 track for my muxing at all would it be possible then to have that checking only apply to those tracks, which have quite shorter frames as ac3?
Not sure if I've understood you correctly. eac3to already checks only those tracks you are demuxing.
Is there a way to lower the overlap/gap threshold only for m2ts files that are to be joined from a single playlist, and only at the endpoints of the m2ts files? That may give better results overall - for multiple m2ts and single m2ts files.
That sounds like a good idea in theory. The problem is that I've two different thresholds: (1) For one gap/overlap it's 5ms. (2) For all gaps/overlaps combined it's 40ms. The small threshold for one gap/overlap is not problematic because even if the timestamps are unstable, they are always fluctuating around the right value. And thanks to 2 pass processing eac3to can clear out most short time fluctuations.
I guess I'll try lowering the threshold in the next build. Maybe to 20ms. And maybe I can also offer a switch to lower it even further. But I'll depend on you guys reporting your results with the thresholds, so that we can find the optimal default value (which would be the lowest possible value with which there are no false alarms with 99.9% of the movies).
I recently ran into a problem decoding DTS-HD to WAV using Sonic Decoder 4.3. When remuxing the WAV file back with the video in M2TS container, TsMuxer reports the WAV has no channel info.
There are two different types of WAV headers. Some programs prefer one type, others prefer the other type. eac3to by default writes the simpler type. It can also write the more complicated one, but currently there's no option for that. Will add that in the next build. It seems that TsMuxer wants to have the more complicated type. That most likely doesn't have anything to do with the garbage problems you're having, though...
When playing the movie back over a popcorn hour A-100, the audio plays fine for about 20-30% of the movie, then it goes all screetchy and is basically garbage. I can't determine what the problem is. How to I test if Sonic is not causing the problem?
By playing the WAV file itself (without the video/movie) on your HPTC or on your popcorn hour.
strange problem with Basic Instinct, here is the log:
Unfortunately the Haali Muxer cannot handle this source file.
It doesn't contain enough seek/recovery points.
There's a bug in the Haali Matroska Muxer which results in a total freeze when muxing some h264 movies. eac3to detects this situation and aborts processing directly before the Haali Matroska Muxer freezes. Currently there's no way to properly mux such a movie with eac3to respectively with Haali's Matroska Muxer. You can use the option "-seekToIFrames" to mux the movie in a different way. This should succeed. However, this comes at a cost: Sometimes when seeking such a movie there are very noticable image artifacts for a short time (max a few seconds). Haali knows about this problem but hasn't fixed it yet, sadly.
Ok here you go: http://www.mediafire.com/?g499bligrz0
end of first m2ts doesn't play, i hope it did right
BTW the end of the file is at 30684420096, while the error is at 30684829696, BUT the file converts to mkv fine when there is no joining.
Thanks, will check this out. If it's a bug in eac3to, it will be fixed in the next build.
I seem to have run into another bug as follows: [...] For some reason the main (listed under 2) movie is not converted by default. The main movie file is 38GB so may be that is the reason. When I went into the stream directory and converted the 00011.m2ts file directly it converted correctly.
There's no easy to find information (I know of) in the Blu-Ray disc structure which tells us which is the main movie. Consequently eac3to can only list all playlists sorted by their runtime. The playlist with the longest runtime is listed first cause that's usually the movie. In your case it's not the movie. So you have to do "eac3to UNDERWORLD 2) UNDERWORLD.mkv".
sundansx
2nd May 2008, 08:44
Madshi,
first, thanks for a great program.
I am working on Serenity HDDVD and it fails to use libav when I specify it with other streams as shown below. It tries to use nero, which I dont have installed. When I run a pass with the audio separately followed by a separate pass to pick up the rest it works fine and uses libav. As a note, this same thing also happened on Beowulf. I dont think it is title dependent.
F:\VideoStore\DVD\Serenity>c:\utils\HDCruncher\eac3to.exe d:\HVDVD_TS 1) 2: chap
ters.txt 3: out.mkv 4: out.ac3 8: subtitle.sup -libav -down6 -640 -24
EVO, 1 video track, 4 audio tracks, 3 subtitle tracks, 1:59:01
"MainMovie"
1: Joined EVO file
2: Chapters, 20 chapters with names
3: VC-1, 1080p24 /1.001 (16:9)
4: E-AC3, English, 5.1 channels, 1536kbit/s, 48khz, dialnorm: -27dB
5: E-AC3, Spanish, 5.1 channels, 768kbit/s, 48khz, dialnorm: -27dB
6: E-AC3, French, 5.1 channels, 768kbit/s, 48khz, dialnorm: -27dB
7: AC3, English, 2.0 channels, 192kbit/s, 48khz, dialnorm: -27dB
"Director's Commentary"
8: Subtitle, English, "SDH"
9: Subtitle, Spanish
10: Subtitle, French
Creating file "chapters.txt"...
[a04] The Nero decoder doesn't seem to work, will use libav instead.
[v03] Extracting video track number 3...
[v03] Muxing video to Matroska...
[a04] Extracting audio track number 4...
[a04] Removing dialog normalization...
[a04] Decoding with DirectShow (Nero Audio Decoder 2)...
[a04] Getting "Nero Audio Decoder 2" instance failed.
Aborted at file position 32768.
Beastie Boy
2nd May 2008, 08:56
The -libav switch should be used in the audio 'group of the command line, so your command lines becomes:
F:\VideoStore\DVD\Serenity>c:\utils\HDCruncher\eac3to.exe d:\HVDVD_TS 1) 2: chap
ters.txt 3: out.mkv 4: out.ac3 -libav 8: subtitle.sup
Note that -640 is not required as that is the default.
Cheers, Beastie
monohouse
2nd May 2008, 11:01
hi, I was wondering, is there a way to use the libav/ffmpeg TrueHD decoder in real time ? as in decoding the stream as it being played ? not for reconversion purpose ?
I have demuxed the truehd track using evodemux and now wondering how to replace the FLAC I created with the truehd track that is present, is there a program that is used to do this or evodemux can do this also ? I seemed to notice that eac3to appears to be able to mux it as well, but I was unable to find the manual for eac3to.
I have a few questions: why doesn't eac3to tell the original bit-depth of the stream ? only resolution and channels, and can this stream be directly muxed with a video without additional operations, I understand that the use of FLAC in video is new, so I am not entirely sure if any additional procedures are required, are there any guides that explain how to handle evo+truehd ?
itsancho
2nd May 2008, 11:10
There's a bug in the Haali Matroska Muxer which results in a total freeze when muxing some h264 movies. eac3to detects this situation and aborts processing directly before the Haali Matroska Muxer freezes. Currently there's no way to properly mux such a movie with eac3to respectively with Haali's Matroska Muxer. You can use the option "-seekToIFrames" to mux the movie in a different way. This should succeed. However, this comes at a cost: Sometimes when seeking such a movie there are very noticable image artifacts for a short time (max a few seconds). Haali knows about this problem but hasn't fixed it yet, sadly. BIG, BIG 10x madshi!!! Everything is absolutely OK and btw there is no any "seeking artifacts"!
crazydane
2nd May 2008, 13:44
Madshi, do you know if Sonic plans to fix their DTS decoder so that it can handle DTS-HD MA 7.1 titles properly?
Alternatively, do you know if there is a libav/ffmpeg DTS decoder in the works that can replace the Sonic one that does 7.1?
Granted, there aren't that many 7.1 titles yet, but I do own 6 so far and would love to be able to play them off my media server in their full 7.1 glory. Until then, I'll bitstream them from my Panny BD30 player to my Onkyo 885 pre/pro.
And thanks again for this wonderful program!
moshmothma
2nd May 2008, 14:23
There's a bug in the Haali Matroska Muxer which results in a total freeze when muxing some h264 movies. .... .... Haali knows about this problem but hasn't fixed it yet, sadly.
And others Madshi. This is exactly why we need another dshow splitter from someone who understands the issues and is willing to respond to them. Please reconsider this. No pressure though :)
BTW, have you ever considered writing an editing app? Seems like you have the basis of all you would need at this point. Just wondering.
Bluestraw
2nd May 2008, 14:53
I haven't seen it yet myself, but I heard promising things about this editing app due for release soon...
(sorry for going slightly OT - but the point being that I guess Madshi's skills may be better invested elsewhere!)
EDIT - oops I forgot the URL first time around!:
http://bitstreamtools.com/
wildchild22
2nd May 2008, 23:12
I have a question I have just finished spiderman2 the ac3 track I made and dts track made with eac3to are fine but the lpcm track around 35% way though goes all static and then the volume of what should be heard is very low. ( the funny thing is the ac3 and dts track are made from the wav) I am running the eac3to wav file through delay cut and I am going to re-encode again. I have tested playback on both the ps3 and also the istar mini hd 1.3 same result.
jchappo
3rd May 2008, 05:06
Madashi, I have more info regarding the bad DTS-HD to WAV conversion.
It seems that even DD+ tracks that I convert to WAV suffer from the same problem. Someone on the A-100 forum said it was related to the >2gb WAV header problem? They also said if they split the file up and then convert it, each slice plays perfect.
Any ideas? The popcorn hour A-100 passes the PCM audio directly to my receiver.
Edit: just played the WAV file by itself, it plays fine for the first 10% or so, then it sounds like people are talking in slow mo, and there is no background noise. Does this mean it is a decoder problem? It doesn't seem like eac3to is producing the same LPCM track that ships with some Bluray discs.
saint-francis
3rd May 2008, 06:00
Okay, trying this on Golden Compass which appears to NOT have branching...
First I tried:
D:\Video\eac3to>eac3to x:
1) 00010.mpls, 00008.m2ts, 1:53:18
- VC-1, 1080p24 /1.001 (16:9)
- DTS Master Audio, English, multi-channel, 48khz
- DTS, English, stereo, 48khz
2) 00013.mpls, 00011.m2ts, 1:53:18
- VC-1, 1080p24 /1.001 (16:9)
- DTS, English, multi-channel, 48khz
3) 00011.mpls, 00008.m2ts, 1:53:18
- VC-1, 1080p24 /1.001 (16:9)
- DTS Master Audio, English, multi-channel, 48khz
- DTS, English, stereo, 48khz
4) 00012.mpls, 00011.m2ts, 1:53:18
- VC-1, 1080p24 /1.001 (16:9)
- DTS, English, multi-channel, 48khz
Fingers crossed but it seems odd that ONLY DTS is listed, that file 8 wasn't listed until I specified it, and I'm concerned that the "core" from the DTS may not give me 5.1 sound - not sure on that, anyone? Cannot watch it till it's ripped so hopefully I'll be able to see what's going on then.
Edit: Okay start looks good, I see credits at end, length is correct! Wonder what the 21Gig piece is....
Did you figure out why each is listed twice? I am tinkering with this one right now and I noticed that the first file (00008.m2ts I believe) is the main movie and the second file (00011.m2ts) is commentary with a picture in picture of extras and the like. So that is still only two movies. Why are there four listed? Also no chapters?
madshi
3rd May 2008, 07:29
hi, I was wondering, is there a way to use the libav/ffmpeg TrueHD decoder in real time ?
There are some mplayer builds with the latest libav decoders in them, I think. But I'm not sure.
I have demuxed the truehd track using evodemux and now wondering how to replace the FLAC I created with the truehd track that is present
I don't understand what you mean. Can you explain?
I have a few questions: why doesn't eac3to tell the original bit-depth of the stream ? only resolution and channels
Of which stream? TrueHD? TrueHD streams have no fixed bit-depth. They are all encoded in 24bit, but some of those 24bit may be zeroed out, which would make the track lower than 24bit. eac3to shows the bitdepth of all tracks which have a fixed bitdepth.
and can this stream be directly muxed with a video without additional operations, I understand that the use of FLAC in video is new, so I am not entirely sure if any additional procedures are required, are there any guides that explain how to handle evo+truehd ?
You're confusing me. One time you're talking about FLAC, then you're talking about TrueHD. Then you're talking about muxing and EVO. I've no idea what you really want to do.
Madshi, do you know if Sonic plans to fix their DTS decoder so that it can handle DTS-HD MA 7.1 titles properly?
I've no idea.
Alternatively, do you know if there is a libav/ffmpeg DTS decoder in the works that can replace the Sonic one that does 7.1?
Not that I knew of.
This is exactly why we need another dshow splitter from someone who understands the issues and is willing to respond to them. Please reconsider this.
No. :)
BTW, have you ever considered writing an editing app? Seems like you have the basis of all you would need at this point. Just wondering.
I thought about it, but I don't plan to do this. Now we have Blu-Ray which is practically perfectly cut/edited. So I don't really see the need for an editing app, anymore. It might be useful for broadcasts. But for my personal needs Blu-Ray will more and more replace broadcasts...
I have a question I have just finished spiderman2 the ac3 track I made and dts track made with eac3to are fine but the lpcm track around 35% way though goes all static and then the volume of what should be heard is very low. ( the funny thing is the ac3 and dts track are made from the wav)
If the ac3 and dts tracks are made from the WAV play ok then probably the WAV is fine and the PS3 and Istar are at fault. As you may have heard, WAV "officially" doesn't support files bigger than 4GB. Some applications and media players even have problems with WAV files bigger than 2GB. eac3to supports >4GB WAVs (just like some other applications).
It seems that even DD+ tracks that I convert to WAV suffer from the same problem. Someone on the A-100 forum said it was related to the >2gb WAV header problem? They also said if they split the file up and then convert it, each slice plays perfect.
Any ideas? The popcorn hour A-100 passes the PCM audio directly to my receiver.
Edit: just played the WAV file by itself, it plays fine for the first 10% or so, then it sounds like people are talking in slow mo, and there is no background noise. Does this mean it is a decoder problem? It doesn't seem like eac3to is producing the same LPCM track that ships with some Bluray discs.
Please try to play the WAV file on your PC. Does it play fine there? To be honest, I'm not even sure if the PC WAV source filter supports >4GB (or >2GB) files, though. The best test would be to ask eac3to to convert the WAV file to AC3. If the final AC3 file plays fine from beginning to end then the WAV file is probably alright. The problem is most probably that all the playback software/hardware does not support WAV files this big. There's nothing I can do about it. You need to ask those people who don't support big WAV files to add support for it, if you actually have to use WAV. I'd suggest using FLAC instead, if possible.
Did you figure out why each is listed twice? I am tinkering with this one right now and I noticed that the first file (00008.m2ts I believe) is the main movie and the second file (00011.m2ts) is commentary with a picture in picture of extras and the like. So that is still only two movies. Why are there four listed? Also no chapters?
Most probably those 2 with the Master Audio track in them are the real movie and the other 2 are the encodings with the PIP in them. Don't know why there are 2 of each. But it doesn't matter much. eac3to only takes the m2ts part numbers from the playlist. So it doesn't matter which of the double playlists you're using for conversion. You will only have to decide between the one with the Master Audio track and the one without.
robena
3rd May 2008, 13:17
Thanks for this great program.
I have a problem though. I am trying to demux and speedown an AC3 track from an UK Sky cap.
Here is what I get:
d:\m1\cmd\eac3to\eac3to "test.ts" 2: "test.ac3" -slowdown -384
This doesn't seem to be a valid (E-)AC3 stream.
TS, 1 video track, 0:45:05
1: h264/AVC, 1080i50 (16:9)
The source file doesn't contain a track with the number 2.
The file does have an AC3 track (stream_type = 0x81) associated with pid 0x14.
I am using version 2.44. Nero 7 is installed:
8{prob}% d:\m1\cmd\eac3to\eac3to -test
Sonic Audio Decoder (2.44.0.0) doesn't seem to be installed
Nero Audio Decoder (Nero 7 or older) works fine
Haali Media Splitter doesn't seem to be installed
Surcode DTS Encoder doesn't seem to be installed
MkvToolnix doesn't seem to be installed
Any idea?
Beastie Boy
3rd May 2008, 13:21
First run eac3to without specifying an output, eg:
d:\m1\cmd\eac3to\eac3to "test.ts"
This will list the streams with their ID numbers.
Cheers, Beastie.
robena
3rd May 2008, 13:24
First run eac3to without specifying an output, eg:
d:\m1\cmd\eac3to\eac3to "test.ts"
This will list the streams with their ID numbers.
Cheers, Beastie.
Thanks for the tip. I get the same error:
c8{prob}% d:\m1\cmd\eac3to\eac3to "test.ts"
This doesn't seem to be a valid (E-)AC3 stream.
TS, 1 video track, 0:45:05
1: h264/AVC, 1080i50 (16:9)
I know that there is an AC3 track. TSPE for example shows it and can play it.
Sorry in advance guys if this has been answered already:
I follow this way while demuxing my HD/BD rips:
Demux video with TSMuxer
Demux audio with EAC3to..
The first time i pulldown 23.97 with TS muxer while demuxing.
So it is sure i have to sync the audio this time.
How can i do this?
Thanks.
madshi
3rd May 2008, 13:44
I have a problem though. I am trying to demux and speedown an AC3 track from an UK Sky cap.
Here is what I get:
d:\m1\cmd\eac3to\eac3to "test.ts" 2: "test.ac3" -slowdown -384
This doesn't seem to be a valid (E-)AC3 stream.
The AC3 track seems to be slightly damaged. It might be 99% alright, but if there is one wrong bit anywhere in the beginning of the AC3 stream, eac3to won't accept it. You'll have to demux the AC3 track with another tool (e.g. xport or TsMuxer) and then run the demuxed AC3 track through delaycut. delaycut will probably find something to fix. Afterwards eac3to can do the slowdown for you.
At this point in time eac3to is VERY picky about the source material. The source must be in perfect state. If there's any problem with the source, eac3to will refuse to work properly. I may improve this in a future version, but that's the way it is right now.
Sorry in advance guys if this has been answered already:
I follow this way while demuxing my HD/BD rips:
Demux video with TSMuxer
Demux audio with EAC3to..
The first time i pulldown 23.97 with TS muxer while demuxing.
So it is sure i have to sync the audio this time.
How can i do this?
I'm not sure what your question is. You're describing what you're doing. And then you're asking "how can i do this"?
I'm not sure what your question is. You're describing what you're doing. And then you're asking "how can i do this"?
I mean audio stays matching to 29.97 fps.
The question was how i could syncronize audio to downmixed video?
madshi
3rd May 2008, 14:18
Audio is never 29.97 for a movie. Why do you think it is?
monohouse
3rd May 2008, 14:44
-----
Beastie Boy
3rd May 2008, 14:46
madshi, your reply to robena above seems to quote a different error to the one he posted when I replied. In the post I replied to, eac3to could not detect an audio stream, whereas your quote suggests eac3to found a damaged stream.
Not sure what happened there.
robena, if eac3to cannot detect the audio that is definately there, perhaps a sample would be useful for madshi.
Cheers, Beastie.
Audio is never 29.97 for a movie. Why do you think it is?
OK.
I used a short clip in my trial.
When i demux video and audio as is and after remux to TS,
clip takes 2:25 minutes. Audio and video matches to each other; no syncronization issue.
When i demux video to 23.97 and leave audio as is,
this time clip takes 3:05 minutes; audio and video never overlap and while video keeps playing, audio finishes at 2:25 minutes.
EDIT: Sorry, i found my mistake, i made 23.96 by manually, this created the issue.
I tried with "remove pulldown" option selected in TSMuxer; no any problem left.
Hi,
I am unable to convert Xmen3 at all. It is the first 7 channel movie that I have run across. Here is the output:
eac3to v2.44
command line: eac3to xmen3 XMEN3.mkv -libav -core
------------------------------------------------------------------------------
M2TS, 1 video track, 5 audio tracks, 1:44:05
1: Chapters, 31 chapters
2: h264/AVC, 1080p24 /1.001 (16:9)
3: DTS Master Audio, English, 6.1 channels, 24 bits, 48khz
4: AC3, Spanish, 5.1 channels, 448kbit/s, 48khz, dialnorm: -27dB, -13ms
5: AC3, French, 5.1 channels, 448kbit/s, 48khz, dialnorm: -27dB, -13ms
6: AC3, English, 2.0 channels, 224kbit/s, 48khz, dialnorm: -27dB, -19ms
7: AC3, English, 2.0 channels, 224kbit/s, 48khz, dialnorm: -27dB, -19ms
Creating file "XMEN3 - Chapters.txt"...
[a03] The libav DTS decoder doesn't decode the 7th channel.
[a03] The libav DTS decoder doesn't decode the full DTS-HD information.
[a03] Doubling 7th channel...
[v02] Extracting video track number 2...
[a05] Extracting audio track number 5...
[a04] Extracting audio track number 4...
[a03] Extracting audio track number 3...
[a03] Extracting DTS core...
[a06] Extracting audio track number 6...
[a07] Extracting audio track number 7...
[a03] Remapping channels...
[a03] The channel modder was started with incorrect parameters.
[v02] Muxing video to Matroska...
Aborted at file position 16384.
I tried it without -libav and without -core, but to no avail.
nautilus7
3rd May 2008, 16:47
What do you want to do with audio and which audio is that? Change the command to make use of ID numbers for the tracks. E.g:
eac3to xmen3 1: xmen3.mkv 2: audio.dts -core
Thunderbolt8
3rd May 2008, 21:34
Not sure if I've understood you correctly. eac3to already checks only those tracks you are demuxing.
so would it then be possible to adapt the gap value to those specific tracks? from what I understood its only 40ms, because an ac3 frame is 32ms, but when for example only decoding a truehd track then it should be possible to lower the gap detection to a value, which is only slightly higher than a truehd frame is, shouldnt it?
or did I understood it wrong, about those 40ms?
robena
3rd May 2008, 22:55
The AC3 track seems to be slightly damaged. It might be 99% alright, but if there is one wrong bit anywhere in the beginning of the AC3 stream, eac3to won't accept it. You'll have to demux the AC3 track with another tool (e.g. xport or TsMuxer) and then run the demuxed AC3 track through delaycut. delaycut will probably find something to fix. Afterwards eac3to can do the slowdown for you.
At this point in time eac3to is VERY picky about the source material. The source must be in perfect state. If there's any problem with the source, eac3to will refuse to work properly. I may improve this in a future version, but that's the way it is right now.
Thanks for the explanation and for the workaround.
jchappo
4th May 2008, 03:38
Madashi, yet more info on DTS-HD to WAV problem.
I just converted a TrueHD track to WAV and it plays fine on the popcorn hour. Looks like libav works, but got this error:
C:\DVDRips\HD>eac3to.exe Ripped\legend_audio.truehd Ripped\output.wav
TrueHD/AC3, 5.1 channels, 48khz, dialnorm: -27dB
Extracting TrueHD stream...
Removing dialog normalization...
Writing WAV...
Creating/writing file "Ripped\output.24bit.wav"...
[libav] Lossless check failed - expected 0, calculated d1
Caution: The WAV file is bigger than 4GB.
Some WAV readers might not be able to handle this file correctly.
This audio track contains only 16 bit of information.
The zero bytes were successfully removed.
eac3to processing took 9 minutes, 14 seconds.
Done.
Sonice and Nero both produce garbage audio after about 20%
Encoder888
4th May 2008, 04:21
@madshi
I had trouble extracting the chapters from The Terminator BD (it's MPEG-2). I got this:
CHAPTER01=00:00:00.000
CHAPTER01NAME=
CHAPTER02=00:06:23.925
CHAPTER02NAME=
CHAPTER03=00:13:38.234
CHAPTER03NAME=
CHAPTER04=00:15:04.737
CHAPTER04NAME=
CHAPTER05=00:22:42.528
CHAPTER05NAME=
CHAPTER06=00:29:42.698
CHAPTER06NAME=
CHAPTER07=00:38:40.026
CHAPTER07NAME=
CHAPTER08=00:41:18.101
CHAPTER08NAME=
CHAPTER09=00:47:39.398
CHAPTER09NAME=
CHAPTER10=00:00:00.000
CHAPTER10NAME=
CHAPTER11=00:00:00.000
CHAPTER11NAME=
CHAPTER12=00:00:00.000
CHAPTER12NAME=
CHAPTER13=00:00:00.000
CHAPTER13NAME=
CHAPTER14=00:00:00.000
CHAPTER14NAME=
CHAPTER15=00:00:00.000
CHAPTER15NAME=
CHAPTER16=00:00:00.000
CHAPTER16NAME=
CHAPTER17=00:00:00.000
CHAPTER17NAME=
So, the first 8 are okay, but the last 8 are all 00:00:00.000 for some reason... Any idea what may be causing this?
madshi
4th May 2008, 07:12
I am unable to convert Xmen3 at all. It is the first 7 channel movie that I have run across. Here is the output:
eac3to v2.44
command line: eac3to xmen3 XMEN3.mkv -libav -core
------------------------------------------------------------------------------
M2TS, 1 video track, 5 audio tracks, 1:44:05
1: Chapters, 31 chapters
2: h264/AVC, 1080p24 /1.001 (16:9)
3: DTS Master Audio, English, 6.1 channels, 24 bits, 48khz
4: AC3, Spanish, 5.1 channels, 448kbit/s, 48khz, dialnorm: -27dB, -13ms
5: AC3, French, 5.1 channels, 448kbit/s, 48khz, dialnorm: -27dB, -13ms
6: AC3, English, 2.0 channels, 224kbit/s, 48khz, dialnorm: -27dB, -19ms
7: AC3, English, 2.0 channels, 224kbit/s, 48khz, dialnorm: -27dB, -19ms
Creating file "XMEN3 - Chapters.txt"...
[a03] The libav DTS decoder doesn't decode the 7th channel.
[a03] The libav DTS decoder doesn't decode the full DTS-HD information.
[a03] Doubling 7th channel...
This looks like a bug. Should be fixed in the next build (I hope).
Madashi, yet more info on DTS-HD to WAV problem.
I just converted a TrueHD track to WAV and it plays fine on the popcorn hour. Looks like libav works, but got this error:
C:\DVDRips\HD>eac3to.exe Ripped\legend_audio.truehd Ripped\output.wav
TrueHD/AC3, 5.1 channels, 48khz, dialnorm: -27dB
Extracting TrueHD stream...
Removing dialog normalization...
Writing WAV...
Creating/writing file "Ripped\output.24bit.wav"...
[libav] Lossless check failed - expected 0, calculated d1
Caution: The WAV file is bigger than 4GB.
Some WAV readers might not be able to handle this file correctly.
This audio track contains only 16 bit of information.
The zero bytes were successfully removed.
eac3to processing took 9 minutes, 14 seconds.
Done.
Which error do you mean? The track seems to have been converted successfully?
Sonice and Nero both produce garbage audio after about 20%
With which movie/audio track? Also with the TrueHD track of "I Am Legend"? And the libav conversion of the same track works ok? That sounds extremely strange to me. I almost cannot believe that. How long are the final WAV files produced by libav, Nero and Sonic for this one specific TrueHD track?
I had trouble extracting the chapters from The Terminator BD (it's MPEG-2). [...] the first 8 are okay, but the last 8 are all 00:00:00.000 for some reason... Any idea what may be causing this?
Not right now. Can you please upload the playlist (mpls) file you used?
Encoder888
4th May 2008, 07:27
@madshi
It's not a seamless branching movie, it's just one m2ts... It's the first title that's behaved like this, very weird...
madshi
4th May 2008, 07:59
It's not a seamless branching movie, it's just one m2ts... It's the first title that's behaved like this, very weird...
Can you please upload the playlist (mpls) file you used?
P.S: Do "eac3to BluRayMovieFolder" and then upload the first mpls file that gets listed, if that's the movie playlist.
madshi, did I create the sample correctly? concerning this: http://forum.doom9.org/showpost.php?p=1133416&postcount=4558
madshi
4th May 2008, 09:20
madshi, did I create the sample correctly? concerning this: http://forum.doom9.org/showpost.php?p=1133416&postcount=4558
Yes. The bug is already fixed in my sources.
PHD_1976
4th May 2008, 09:52
madshi, hi.
Is it possible to have a piece of your source code where you handle seamless branching audio?
If not could you please explain the algorithm of fixing multi file audio without reencoding?
I've tried to PM you, but your inbox limit is exceeded.
Thanx in advance for your help -)
madshi
4th May 2008, 10:02
it only shows the information after the process is complete, I cannot force it to create only one file (instead of 2 which it makes automatically) of the bit depth that is relevant, eac3to makes both files and then deletes the wrong one, what I wanted to ask is how is it possible to know the bit-depth of the stream before starting to convert it (and yes I mean "truehd" or should we call it "craphd", what kind of bs is that creating a 24-bit if only 16-bit is used?)
The bitdepth is simply not known before the processing. The information about the bitdepth is not contained anywhere in the TrueHD track. eac3to has no other choice than to fully decode the full track and check the bitdepth of every single audio sample (of which there are usually 48000 for every second of the runtime). If all 24bit audio samples have 8bits zeroed out, eac3to will state that it's a 16bit track only and will remove the 24bit file. There's nothing else I can do.
but I do have one question though: is it possible to demux video+demux audio+convert audio into other format+remux into mkv without saving the files, process them directly into mkv (or maybe something else ?) ?
No.
is there a way to remove dialnorm from ac3 in real time ? without re-converting ? and if reconverting is necessary, is it possible to convert ac3 to ac3 without loosing the quality (demux?) ? because I was wondering, what is dialnorm ? im guessing that dialnorm is a form of processing that is being done on the audio stream to increase the volume of the dialogs if necessary based on current level of the other data, if so it is a form of processing that involves DRC, and according to pro audio rules, any type of processing is a sure degradation of quality, however if it is not a form of processing that is being performed in real-time on a stream and instead data that exists in that form (pre-amplified) then processing it with eac3to and removing the normalization is catastrophic (reencoding+modifying)
Dialnorm is a simple number stored in every AC3 audio frame. Removing dialnorm is a simple process which just sets this number to zero and recalculates the checksum. So basically there's no reencoding done. It's a simple modification of the compressed stream. There's no quality loss whatsoever.
another question: how can you be sure that The Sonic DTS decoder actually gives you 1:1 sample values ? I can appreciate the ability of eac3to when it handles trueHD tracks to give you 1:1 sample values because it's code is in your program, however when it comes to external filters, how do you know that, for example dialog normalization hasn't been applied ? and that's just the lite case, how about bass boost that was added just for fun or DRC that suddenly decided to kick in because the decoder detected what might be clipping so it compressed by say 2 db, who knows what other thresholds there may be out there and what other code that might do some of those "other stuff" you mentioned earlier, not all of these can be detected by recording and monitoring the output of the decoder.
The TrueHD decoder is not in my sources, either. I'm using libav for decoding TrueHD. Anyway, there've tests done on the decoders which include comparing the decoded results in a WAV editor and even in a hexeditor. E.g. some movies come with both PCM and DTS-HD MA tracks. And decoding the DTS-HD MA tracks with the Sonic decoder resulted in identical data compared to the PCM track. So it's fairly safe to say that the Sonic DTS-HD decoder outputs bit perfect results.
it is very hard to determine whether it only reads the "core" or the additional data beyond the core
No, it's not hard at all. I've fed the decoder only the core (test A). And I've fed it the full DTS-HD stream (test B). And the decoder output different data for both tests. So obviously the decoder makes use of the DTS-HD information.
it could even be in reverse, that it only reads the lossless track and not the core
That's technically not possible. The result would be garbage.
if eac3to contains code to properly decode truehd, is there any chance that it might include the code to decode DTS-HDMA just as well ?
eac3to does not contain code to decode TrueHD. If the libav library will ever include DTS-HD MA decoding then eac3to will offer that functionality. But today it doesn't. And I'm not aware of any plans by the libav programmers to add DTS-HD decoding.
when source is ac3 and I asked eac3to to save that source stream also as ac3, does that mean it will demux it without reencoding ?
Yes. Except if you use one of the bitrate switches to change the bitrate. Then the stream is decoded and reencoded. eac3to logs to the command line window exactly what is does. If it decodes/reencodes the AC3 stream, you'll see that in the eac3to text output. Just try it out. You'll easily be able to tell when decoding/reencoding is done and when not.
for that matter, is it true to assume that in any event that input type=output type the operation will be demuxing and not re-encoding ?
Yes. As long as you don't use any additional parameters (like bitrate switches) which force eac3to to reencode the audio stream. Of course some manipulations are done nevertheless, e.g. dialnorm removal. But as explained above that does not harm quality at all.
I noticed that when the output format is different than the input format there is a dithering process taking place, while when input=output it isn't.
Dithering is done when bitdepth is reduced. Usually that's the case when using the libav AC3, E-AC3, MP2 and DTS decoders cause I've hacked these decoders in such a way that they outputs a very high bitdepth. eac3to then internally dithers the bitdepth down to a reasonable value.
madshi
4th May 2008, 10:05
madshi, your reply to robena above seems to quote a different error to the one he posted when I replied. In the post I replied to, eac3to could not detect an audio stream, whereas your quote suggests eac3to found a damaged stream.
Actually eac3to did find an audio track, it's just not listed in the track listing because eac3to found the stream to be damaged. See the line "This doesn't seem to be a valid (E-)AC3 stream" in the original post. This line indicates that an (E-)AC3 stream was found but ignored cause it's damaged.
Is it possible to have a piece of your source code where you handle seamless branching audio?
If not could you please explain the algorithm of fixing multi file audio without reencoding?
What do you need this for?
PHD_1976
4th May 2008, 10:14
What do you need this for?
Currently I'm trying to create a BD demuxer, which makes Scenarist compliant AVC streams while demuxing.
I already know what should be done to make AVC streams compliant, but I thought it would be great to demux all needed audio and subs as well, but I don't know how to handle audio from seamless branching movie without reencoding.
I will certainly share my tool as soon as its ready.
Encoder888
4th May 2008, 10:22
@mashi.
Sorry I totally wasn't paying attention, I thought you needed the actual list, not the file :P Here it is:
http://www.mediafire.com/?dmiyggjnjit
monohouse
4th May 2008, 10:29
-----
tebasuna51
4th May 2008, 12:43
I know that this is not your area but was wondering if there is a chance you might know, if I use vobblanker to blank a cell in the video then it sure does blank the audio of that area as well, does it mean that ac3 stream was modified ? or is it possible to insert data into the ac3 stream without reencoding it ?
Is possible insert silence in the middle of an ac3 stream without reencoding.
I don't know vobBlanker but the author is jsoto (http://jsoto.posunplugged.com/vobblanker.htm). also DelayCut author and the method to delay an ac3 can be used to insert ac3 silence in the middle
monohouse
4th May 2008, 12:55
-----
madshi
4th May 2008, 14:34
Currently I'm trying to create a BD demuxer, which makes Scenarist compliant AVC streams while demuxing.
I already know what should be done to make AVC streams compliant
Maybe (if it's not too much work) it would make sense to add this functionality to eac3to? Or are there more reasons why you want to create your own tool? Not that it would be a problem for me, of course!
I thought it would be great to demux all needed audio and subs as well, but I don't know how to handle audio from seamless branching movie without reencoding.
It's quite complicated. You need this:
(1) A full stream parser for all audio formats you want to support, which can also calculate the exact runtime of each audio frame.
(2) Your tool will need to read out the PTS timestamps of the m2ts container and compare them to the runtime information your audio stream parsers (see (1)) calculated. This will give you information about where in the stream are gaps/overlaps. Unfortunately the PTS values are not always 100% correct, they may vary slightly (a bit too low or a bit too high). So you'll need to find a good way to even out the variances.
(3) You have to take the gap/overlap information from step (2) and perform the necessary changes on the audio streams. For AC3, E-AC3, DTS and MP2 you'll have to insert (or delete) single audio frames to get rid of the gaps (or overlaps). For LPCM you can insert (or delete) single samples. For TrueHD things are difficult cause it's not really possible to do such corrections on the TrueHD bitstream without introducing problems. So for TrueHD you can do the correction only if you decode the audio data first.
The eac3to source code is a complicated class structure. There's not just a few lines of code which do the audio gap/overlap correction. There's code in several classes which works together. So it's nearly impossible to give you just "some code" to duplicate eac3to's audio gap/overlap correction functionality.
jchappo
4th May 2008, 15:36
Madashi,
This is not an error?
[libav] Lossless check failed - expected 0, calculated d1
anyway, is there anything I could provide you to help fix Sonic and Nero decoding to WAV?
madshi
4th May 2008, 16:19
[libav] Lossless check failed - expected 0, calculated d1
That's a bit strange. Can be a bug in the libav decoder. Or it can be a slightly damaged TrueHD stream. Don't know. Since this warning only occurred once in the whole audio track, you probably don't need to bother much. The problem can only affect max 100ms worth of audio data in the whole audio track, I believe.
anyway, is there anything I could provide you to help fix Sonic and Nero decoding to WAV?
I'm not convinced yet that there is any problem with Sonic and Nero decoding to WAV. Can you give me some more details about why you came to the conclusion that there's something wrong with Sonic and Nero decoding to WAV? Which audio track did you decode with Sonic, Nero *and* libav? How big were the WAV files created by the 3 decoders?
It's important to decode the very same track with all 3 decoders. Only if you do that and if you then run into a problem with some decoders while other decoders don't show the same problem, only then it's a hint that some decoders might have a problem. But still even in that case the problem might be elsewhere. E.g. if the TrueHD stream is really damaged (see the "lossless check failed" libav warning you posted) this might throw off Sonic&Nero but might have a less bad effect on libav.
jchappo
4th May 2008, 17:09
I will do more testing, but so far, the only tracks I can play on the popcorn hour are:
LPCM tracks included with the Bluray
TrueHD converted to WAV (PCM) with eac3to -libav
Both DTS-MA and DD+ (Sonic, and Nero) both produce bad WAV files.
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.