View Full Version : EVOB De/Multiplexers
Momber
7th August 2007, 23:55
EVOdemux 0.627b4 doesn't continue with the second EVO, although the option is checked. It neither reads it, nor attempts to rebuild it but instead stops after the first EVO.
S.
Nikos
8th August 2007, 06:13
Rename the two .evo files to Feature_1.evo and Feature_2.evo.
Pelican9
8th August 2007, 10:17
EVOdemux 0.627b4 doesn't continue with the second EVO, although the option is checked. It neither reads it, nor attempts to rebuild it but instead stops after the first EVO.
S.
What are the file names?
Momber
8th August 2007, 15:04
What are the file names?
L0_mainMovie.EVO and L1_mainMovie.EVO.
I went back to 0.625b (the only older version I have archived) and it immediately worked, without changing anything.
However, it didn't actually rebuild the EVO's PTS. Then I did a copy /b and let 0.627b4 rebuild the merged EVO and it also failed to rebuild the PTS. The rebuilt EVO is playable, but I cannot seek in the timeline (PowerDVD 7.3 Ultra).
The HD-DVD is Terminator 2 Director's Cut (French release).
S.
madshi
8th August 2007, 15:30
L0_mainMovie.EVO and L1_mainMovie.EVO.
I went back to 0.625b (the only older version I have archived) and it immediately worked, without changing anything.
However, it didn't actually rebuild the EVO's PTS. Then I did a copy /b and let 0.627b4 rebuild the merged EVO and it also failed to rebuild the PTS. The rebuilt EVO is playable, but I cannot seek in the timeline (PowerDVD 7.3 Ultra).
The HD-DVD is Terminator 2 Director's Cut (French release).
Hey you!! :)
You need to rename the files to FEATURE_1.EVO and FEATURE_2.EVO, like Nicos said. Furthermore, before running EvoDemux, you need to adjust the PTS of the 2nd EVO by running my little tool "OffsetPTS", which you can download here:
http://forum.doom9.org/showpost.php?p=1024365&postcount=1671
Afterwards you can join the EVOs with EvoDemux and seeking should work fine. "OffsetPTS" is necessary for almost every HD DVD which comes from a European studio or distributor (e.g. Studio Canal).
Momber
8th August 2007, 16:35
Hey madshi! So you are alive after all :)
Thanks for your suggestions - I will try them asap.
Just wondering why it wasn't necessary to rename the EVOs in previous versions... seems like the development of EVOdemux is going backwards, no?
S.
madshi
8th August 2007, 16:51
Hey madshi! So you are alive after all :)
More or less... :)
Just wondering why it wasn't necessary to rename the EVOs in previous versions... seems like the development of EVOdemux is going backwards, no?
Well, I don't see it as that much of a problem, if I have to rename two files... :p
onlym3
8th August 2007, 17:55
I've been reading this thread to learn how to encode Blurays HDDVDs to x264. For VC1 the recommended way seems to be: FEATURE.EVO (Haali Media Splitter) -> WMVideo Decoder DMO
However i got a Bluray with VC1, so no .evo . After demuxing with xport i got an mpa and mpv file. Is there any way to build an .evo from them? Or another way to use the above mentioned method with Haali and WMVideo?
Thanks
Pelican9
8th August 2007, 17:59
seems like the development of EVOdemux is going backwards, no?
Thanks!
That was a bug (I've rewritten the next evo find part of the program to handle more than two files).
b5 works fine, but still doesn't offset the wrong PTSs.
Madshi:
Is your OffsetPTS handle the DSI packets?
I mean change them or not?
madshi
8th August 2007, 19:14
Is your OffsetPTS handle the DSI packets?
I mean change them or not?
That is the packet where you're getting the "first/last video PTS" information from, right? Yes, I'm changing these, too. These, and of course the PTS/DTS of every audio/video/subtitle packet.
Momber
8th August 2007, 19:37
Well, I did like you said (renamed, re-worked evo2 with Offsetpts, rebuilt with EVOdemux) but the rebuilt EVO stops at the point where the EVOs were joined. PowerDVD simply stops playback, the last frame of evo1 is frozen on the screen like a wallpaper.
S.
dmz01
8th August 2007, 19:55
Well, I did like you said (renamed, re-worked evo2 with Offsetpts, rebuilt with EVOdemux) but the rebuilt EVO stops at the point where the EVOs were joined. PowerDVD simply stops playback, the last frame of evo1 is frozen on the screen like a wallpaper.
S.
This is due to the "sequence_end_code" (for MPEG2) "end_of_stream_rbsp" (for H264) or "End-of-Sequence" (for VC1) being present at the end of the first EVO file. This has to be removed prior to joining the two files. Pelican9 or Madshi - you have access to TsRemux sources. See how I do it there. :)
dmz
Momber
8th August 2007, 20:07
Seems if we threw TSRemux, EVOdemux and OffsetPTS into one big pot and simmered it for a while, we'd have one heck of a useful software on our hands :)
[hint, hint,...]
Ciao
S.
Pelican9
8th August 2007, 20:22
I've just finished the PTS adjusting function during Rebuild.
But before I upload it I want to fix this end-of-... problem.
madshi:
Thanks!
dmz:
It could be more comfortable for me if you write here these end-codes.
Or insert here the right part of your source code, you can find it faster than me.
Anyway, where can I find the source code?
Momber:
If this new version has finished, you don't need the OffsetPTS anymore. :)
madshi
8th August 2007, 21:02
This is due to the "sequence_end_code" (for MPEG2) "end_of_stream_rbsp" (for H264) or "End-of-Sequence" (for VC1) being present at the end of the first EVO file.
That's interesting! I've never had any problems with joined EVOs yet. But I'm not playing them, I'm always muxing them to MKV. Maybe that's why it works for me. Anyway, having the "End-of-Sequence" removed would be great, of course!
dmz01
8th August 2007, 22:13
dmz:
It could be more comfortable for me if you write here these end-codes.
Or insert here the right part of your source code, you can find it faster than me.
You will have to remove a couple of bytes from the PES packet's data portion and adjust the packet's size if it's not zero.
// checks for end of stream headers
switch (VideoType)
{
case (byte)ElementaryStreamTypes.VIDEO_STREAM_VC1:
for (; i < data.Length; i++)
{
marker <<= 8;
marker |= data[i];
if (marker == Constants.VC1_END_OF_STREAM)
break;
}
if (i < data.Length)
{
// we have an end of stream marker
i -= 3;
PesPacket pnew = new PesPacket(data, 0, i, pp.PID);
i += 4;
pnew.AddData(data, i, data.Length - i);
pp = pnew;
ph = pp.GetHeader();
data = pp.GetData();
}
break;
case (byte)ElementaryStreamTypes.VIDEO_STREAM_MPEG2:
for (; i < data.Length; i++)
{
marker <<= 8;
marker |= data[i];
if (marker == Constants.MPEG2_SEQ_END)
break;
}
if (i < data.Length)
{
// we have an end of stream marker
i -= 3;
PesPacket pnew = new PesPacket(data, 0, i, pp.PID);
i += 4;
pnew.AddData(data, i, data.Length - i);
pp = pnew;
ph = pp.GetHeader();
data = pp.GetData();
}
break;
case (byte)ElementaryStreamTypes.VIDEO_STREAM_H264:
for (; i < data.Length; i++)
{
marker <<= 8;
marker |= data[i];
if ((marker & 0xffffff9f) == Constants.H264_END_OF_STREAM)
break;
}
if (i < data.Length)
{
// we have an end of stream marker
i -= 3;
PesPacket pnew = new PesPacket(data, 0, i, pp.PID);
i += 4;
pnew.AddData(data, i, data.Length - i);
pp = pnew;
ph = pp.GetHeader();
data = pp.GetData();
}
break;
}
public const UInt32 H264_END_OF_STREAM = 0x0000010b;
public const UInt32 VC1_END_OF_STREAM = 0x0000010a;
public const UInt32 MPEG2_SEQ_END = 0x000001b7;
dmz
madshi
8th August 2007, 22:16
Pelican, I think we need to join our forces to convince everybody to use Delphi... :) Just joking, of course! :p
Thanks to dmz01 for sharing your code!
:thanks:
Pelican9
8th August 2007, 23:39
dmz:
Thank you for sharing your code.
Unfortunately I don't understand how it works.
I've checked some VC-1 evo files and many of them contain 0000010a many times inside, but never at the end (or near).
madshi:
One Language to rule them all...
Momber:
Could you try the b6 version with those EVOs?
Thanks in advance.
Momber
9th August 2007, 01:52
Momber:
Could you try the b6 version with those EVOs?
Thanks in advance.
OK, I just did. No joy. Seems the end-of-file marker was not removed. It stops at the exact same frame as before. Only that the playing time for that frame now shows 1hr16min and change, before it was 1hr24min. So something about the PTS-rebuilding also appears to be fishy.
S.
dmz01
9th August 2007, 02:37
dmz:
Thank you for sharing your code.
Unfortunately I don't understand how it works.
I've checked some VC-1 evo files and many of them contain 0000010a many times inside, but never at the end (or near).
The EVO file will contain 0000010a in many places, but never in the VC-1 elementary stream (inside the data portion of the PES packets containing VC-1) except at the end of the stream. No EVO-1 file will contain the end-of... sequence if the PTS clock is continuous in EVO-2, so that's why you don't see it in your cases. The only time you will see the end-of... sequence in EVO-1 is if EVO files do not have continuous PTS and then only in some cases. Regardless, if you look at the end of the last EVO file (EVO-2 as I call it) you might see it there.
Pelican9
9th August 2007, 09:06
It makes sense. Thanks!
Edit:
I've checked all of my second EVOs, but none of them contain end of sequence code.
heat.dll
9th August 2007, 16:58
Is it a must for your PC to view HD DVDs to be able to demux them? I tried to demux one (Interlaced VC-1?) with EVODemux (newest), but I'm getting this error:
http://www.freepicshost.net/public/46ace2284383d525926215.jpg
Anyone know how I can fix it, or is there anything else I could try?
dmz01
9th August 2007, 22:47
I've checked all of my second EVOs, but none of them contain end of sequence code.
Perhaps Momber can help us out. Momber, can you provide a small sample of the end of your EVO-1 file? Say the last 25MB?
Momber
9th August 2007, 23:16
Sure. Hang on.
Momber
9th August 2007, 23:58
OK, here is the last 24 MB of the first EVO as requested. Taken from the original, untouched EVO with HDBDSplitGUI 1.0.0.2.
http://www.sendspace.com/file/yhui3t
Later
S.
Pelican9
10th August 2007, 01:37
Thank you Momber.
It has a VC-1 and a DTS (HD) stream. Is it correct?
It contains '0000010a' two times at d32d22 and at 170be56.
None of them are in the video stream.
What am I doing wrong?
Momber
10th August 2007, 03:02
It has a VC-1 and a DTS (HD) stream. Is it correct?
Yes, that's all there is.
S.
madshi
10th August 2007, 07:10
Maybe it would help to also have the first 25MB of the 2nd EVO? Then Pelican could try to reproduce the freezing problem by joining the two 25MB chunks into one EVO.
Momber
10th August 2007, 14:53
OK, here it is: http://www.sendspace.com/file/u0fsib
S.
Pelican9
10th August 2007, 16:02
I can play the rebuilt evo almost smoothly (only one little freezing (0.1s) occur when the second part starts) with the newest powerdvd (7.3.3104a.), the displayed playing time is invalid (122:22:55)
Momber
10th August 2007, 19:05
I also have the latest PDVD patch installed and it freezes (permanently) at the point of joining.
Then again "only one little freezing (0.1s)" would be inacceptable to me, too. It indicates that something is wrong.
S.
madshi
11th August 2007, 12:54
I also have the latest PDVD patch installed and it freezes (permanently) at the point of joining.
Then again "only one little freezing (0.1s)" would be inacceptable to me, too. It indicates that something is wrong.
There definitely is something strange with these EVOs. When I try to join them and mux them to MKV, the resulting MKV only contains the first EVO. So it really seems as if there's some kind of "end here" flag in the first EVO. I've never encountered this before. All the other European discs I've seen to far (e.g. Rambo I) where I've had to use OffsetPTS, worked just fine and didn't show this problem. Strange.......
Pelican9
11th August 2007, 15:32
There definitely is something strange with these EVOs. When I try to join them and mux them to MKV, the resulting MKV only contains the first EVO. So it really seems as if there's some kind of "end here" flag in the first EVO. I've never encountered this before. All the other European discs I've seen to far (e.g. Rambo I) where I've had to use OffsetPTS, worked just fine and didn't show this problem. Strange.......
Could you try the new PTS adjusting function of evodemux?
tonwon
13th August 2007, 14:23
im new to the whole hd thing so pls excuse me if this is a dumb question. im unable to watch evo or m2ts files in powerdvd ultra, but i can watch m2ts in zoomplayer (no sound). when i try to open a evo file in powerdvd and enable information it shows the audio bitrate but just shows vc1 and no video bitrate, just a black screen. with m2ts it doesnt even open. all i have are the evo files no other one that were on the disk, is this the problem? any help is appreciated, thanks.
madshi
13th August 2007, 15:33
Could you try the new PTS adjusting function of evodemux?
It's the same. The MKV contains only the first EVO file.
Btw, two little things (they're not new in your new build, they've always been that way) :
(1) If the output directory doesn't exist, there's an access violation, as soon as I press "demux" or "rebuild".
(2) It would be very helpful if there was a way to tell EvoDemux to put the demuxed/rebuilt files into the same folder where the source files are. Currently it doesn't seem to be possible. Leaving the output directory edit box empty results in the files being written to the EvoDemux folder. Maybe if the output directory edit box is empty you could write the demuxed/rebuilt files to the source directory? Or maybe if the output directory edit box is "."?
Pelican9
13th August 2007, 15:33
check your video card driver, be sure you use the latest one.
If you use XP and nvidia graphic card it should be work.
Pelican9
13th August 2007, 15:35
It's the same. The MKV contains only the first EVO file.
Btw, two little things (they're not new in your new build, they've always been that way) :
(1) If the output directory doesn't exist, there's an access violation, as soon as I press "demux" or "rebuild".
(2) It would be very helpful if there was a way to tell EvoDemux to put the demuxed/rebuilt files into the same folder where the source files are. Currently it doesn't seem to be possible. Leaving the output directory edit box empty results in the files being written to the EvoDemux folder. Maybe if the output directory edit box is empty you could write the demuxed/rebuilt files to the source directory? Or maybe if the output directory edit box is "."?
It works for me definitely that way as you described. If I leave the output dir empty, the files written to the folder of the source file.
tonwon
13th August 2007, 15:40
check your video card driver, be sure you use the latest one.
If you use XP and nvidia graphic card it should be work.
if that was to me, i have ati 2600 pro latest drivers and up to date powerdvd.
Pelican9
13th August 2007, 17:51
if that was to me, i have ati 2600 pro latest drivers and up to date powerdvd.
I don't know the ati cards but I've heard a lot of trouble about HD playing in powerdvd with those cards.
tonwon
13th August 2007, 17:56
forgot to add; that i can watch vc1 and mpv files. it just when i play evo it plays audio but no video. if i use evodemux and get mpv it plays perfect but of course no audio. if i deumux and remux i get audio and no video. so thats where i stand. but plays vc1 and mpv perfect with no audio track.
onlym3
21st August 2007, 09:39
Could you try the new PTS adjusting function of evodemux?I tested that, its not working for me. When i adjust an Evo with OffsetPTS and then have evodemux rebuild it everything is fine. When i let evodemux adjust the PTS the rebuilt evo is not working. When i build a graph to open it with vdub or megui all i get is grey. A graph with a rebuilt evo that has been adjusted with OffsetPTS works fine though, so i must be the PTS adjusting routine in evodemux that isnt working.
Pelican9
21st August 2007, 09:51
Thanks.
Snowknight26
22nd August 2007, 04:18
The help string for Rebuild ADV_PCKs is "Rebuild the adcanced packs".
Also, one of the audio tracks on an EVO I have shows up as DD+ when its only DD 5.1. A quick check with eac3to shows that it is indeed DD, not DD+.
Dolby Digital Plus audio stream 0 found!
First PTS = 00001603
Substream id = C0
Stream 0 is Dolby Digital
Video/Audio tab shows DD+.stream.00, shouldn't it be DD.stream.00?
onlym3
22nd August 2007, 12:30
I got a strange problem: When i use a graph Haali Media Splitter -> WMO Video Decoder on an .evo and then add the .grf as directshow source in an .avs and open the .avs with vdub or megui i get this:
URL=http://www.directupload.com/]http://www.directupload.com/files/c1jyy1ymjzzyqu3jkwnm.bmp[/URL]
The same procedure works fine with other EVOs, this is the only one that gives me green all over the picture.
Anyone have an idea what the problem could be?
Rectal Prolapse
22nd August 2007, 22:23
It's probable (actually very likely) that Haali Media Splitter just can't play back some .EVO files properly.
onlym3
23rd August 2007, 12:13
Question regarding xport: Is it possible to demux audio only?
drmpeg
23rd August 2007, 13:36
Question regarding xport: Is it possible to demux audio only?
Only if the audio is Blu-ray LPCM. However, this request comes up pretty often, so it's probably time to add this feature. I'll have something later today (Silicon Valley time).
Ron
madshi
23rd August 2007, 13:48
@Ron, you said earlier than Blu-Ray discs shouldn't have discontinuities. But xport reports them on almost any Blu-Ray disc I tried it on. Does that make any sense to you?
Another question: Do you happen to have access to Casino Royale? I've tried to extract the LPCM track with xport, but it comes out too short (1,5 hours only).
honai
23rd August 2007, 16:47
I've extracted the LPCM track from Casino Royale, no problems. Did you check disk usage? ;)
madshi
23rd August 2007, 17:10
I've extracted the LPCM track from Casino Royale, no problems. Did you check disk usage? ;)
Might have been my fault. I think I forgot the TsRemux pass. Will retry.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.