Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > (HD) DVD, Blu-ray & (S)VCD > One click suites for DVD backup and DVD creation

Reply
 
Thread Tools Search this Thread Display Modes
Old 25th June 2006, 16:08   #1  |  Link
manolito
Registered User
 
manolito's Avatar
 
Join Date: Sep 2003
Location: Berlin, Germany
Posts: 3,078
Using the Imago MPEG muxer with DVD2SVCD

Since I started to create DVDs at fairly high bitrates with D2S, there is the occasional encode that will cause stuttering on my standalone. It happens with QuEnc and CCE, and I am quite sure that MPlex is to blame. I do not know if newer versions of MPlex render better results, but it is not possible to use different MPlex versions with D2S, because the version that comes with D2S has been modified by the author.

Using the free version of MuxMan always takes care of the stuttering, but this is semi-automatic at best. Writing a plugin for D2S which would translate the command line parameters and the chapter informationfrom D2S to the MuxMan XML configuration file is way over my head, so I gave up on this.

But there is another MPEG2 muxer out there which also takes care of the stuttering problems for me. It is called the Imago MPEG muxer, and is has a command line interface. So it was not too hard to write a batch file which enables D2S to use Imago instead of MPlex. You can download the whole package here:
http://scifi.pages.at/manolito/Imago/D2SImago.zip

Imago has a small bug with the command line interface. For the audio streams it insists on short file names. This is the reason why I had to do all this clumsy renaming. I tested the plugin with one and two audio tracks, with "Keep source audio" checked, and also with Nick's AC3 plugin, and so far everything seemed to work as exspected.

Bug reports are welcome...

Cheers
manolito
manolito is offline   Reply With Quote
Old 26th June 2006, 19:46   #2  |  Link
setarip_old
Registered User
 
setarip_old's Avatar
 
Join Date: Aug 2005
Posts: 16,267
Hi!
Quote:
Bug reports are welcome...
Are you the author?
setarip_old is offline   Reply With Quote
Old 26th June 2006, 20:37   #3  |  Link
manolito
Registered User
 
manolito's Avatar
 
Join Date: Sep 2003
Location: Berlin, Germany
Posts: 3,078
Quote:
Originally Posted by setarip_old
Hi!Are you the author?
I wish I were...
I just wrote the small batch file which calls Imago from within DVD2SVCD. So only bug reports about this batch file, please.

Since the Imago executable is a little hard to find - the author has stopped development and his homepage is no longer there - I thought it would be a good idea to include the executable in my downloadable archive. Information about Imago can be found here:
http://www.videohelp.com/tools?tool=ImagoMPEG-Muxer
There is no mention under which kind of licence the program was published except that it is freeware. So I think I can host it...

Cheers
manolito

Last edited by manolito; 26th June 2006 at 20:44.
manolito is offline   Reply With Quote
Old 26th June 2006, 21:49   #4  |  Link
setarip_old
Registered User
 
setarip_old's Avatar
 
Join Date: Aug 2005
Posts: 16,267
Thanks for clarifying ;>}
setarip_old is offline   Reply With Quote
Old 27th June 2006, 14:26   #5  |  Link
jikchung
Registered User
 
jikchung's Avatar
 
Join Date: Feb 2002
Posts: 136
Quote:
Originally Posted by setarip_old
Thanks for clarifying ;>}
Was actually pretty clear from the first post, at least to me.
__________________
Dwight

"The surest way to corrupt a youth is to instruct him to hold in higher esteem those who think alike than those who think differently." - Nietzsche

Martial Concepts Academy
jikchung is offline   Reply With Quote
Old 2nd July 2006, 11:38   #6  |  Link
SeeMoreDigital
Life's clearer in 4K UHD
 
SeeMoreDigital's Avatar
 
Join Date: Jun 2003
Location: Notts, UK
Posts: 12,219
Quote:
Originally Posted by manolito
Since the Imago executable is a little hard to find - the author has stopped development and his homepage is no longer there.....
Indeed, it's a great shame development had stopped

I'm still on the hunt for a tool that can successfully mux high-def video streams, as sadly Imago MPEG Muxer only seems to want to mux the first few frames!
__________________
| I've been testing hardware media playback devices and software A/V encoders and decoders since 2001 | My Network Layout & A/V Gear |
SeeMoreDigital is offline   Reply With Quote
Old 2nd July 2006, 19:43   #7  |  Link
Burning Fury
Don't you love me?
 
Burning Fury's Avatar
 
Join Date: Mar 2005
Location: I live here.
Posts: 81
That is great Manolo, Gratz

Pardon me for asking this, but how do you use it?
Copy it to some folder i suppose?

Also, i know this is off topic but, any word if the QuEnc 7.0
has been updated for usage with D2S without the restriction?

Did Dragongodz removed it/updated it?

That is all... Thx.
__________________
Real men encode with script.
Burning Fury is offline   Reply With Quote
Old 10th July 2006, 22:20   #8  |  Link
manolito
Registered User
 
manolito's Avatar
 
Join Date: Sep 2003
Location: Berlin, Germany
Posts: 3,078
Quote:
Originally Posted by Burning Fury
Pardon me for asking this, but how do you use it?
Copy it to some folder i suppose?
The instructions are in the batch file, you have to open it with an editor to see them. Here they are again:
Code:
rem ************************** D2S_Imago.bat *************************
rem
rem *** Plugin for DVD2SVCD to use the Imago MPEG Muxer instead of MPlex ***
rem
rem *** Copy D2S_Imago.bat and ImagoMPEG-Muxer.exe into your DVDAuthor folder
rem ***     and point DVD2SVCD to the batch file instead of MPlex.exe
rem
rem *** Make sure to edit the first line of the file and enter the correct
rem ***              path to your DVD2SVCD work folder
rem ---------------------------------------------------------------------
And AFAIK QuEnc has not been updated since we talked the last time...

Cheers
manolito
manolito is offline   Reply With Quote
Old 11th July 2006, 08:50   #9  |  Link
ChickenMan
Registered User
 
ChickenMan's Avatar
 
Join Date: Oct 2001
Location: Australia
Posts: 350
"rem *** Make sure to edit the first line of the file and enter the correct
rem *** path to your DVD2SVCD work folder
rem ---------------------------------------------------------------------"

Unforunately that doesnt allow me to use it in Batch mode . Any known work-around for this for Batch mode D2S encoding.
__________________
Cheers,
CM
ChickenMan is offline   Reply With Quote
Old 11th July 2006, 19:19   #10  |  Link
Nick
One click is all it takes
 
Nick's Avatar
 
Join Date: Mar 2002
Location: Heart of the Broad Acres
Posts: 1,404
I have a clumsy one.
It assumes the output file will always be called Mplex_Muxed_File00.mpg

Off the top of my head I can't see any reason why it should ever be any different.

Replace the line

set workdir=i:\movies

with

SET tmpv1=%4
SET tmpv2=%tmpv1:\Mplex_Muxed_File00.mpg=%
SET workdir=%tmpv2:"=%

This imports the output path and filename from the commandline, then removes the filename and the quotes to leave what should (!) always be the name of the working directory.
Nick is offline   Reply With Quote
Old 11th July 2006, 23:16   #11  |  Link
manolito
Registered User
 
manolito's Avatar
 
Join Date: Sep 2003
Location: Berlin, Germany
Posts: 3,078
Thanks Nick, this works nicely! Your post made me realize that I really should brush up my knowledge about the extended "set" options under Windows XP. I found that the %~dp option works well for my script. Here is the new batch file:
Code:
rem ************************** D2S_Imago.bat *************************
rem
rem *** Plugin for DVD2SVCD to use the Imago MPEG Muxer instead of MPlex ***
rem
rem *** Copy D2S_Imago.bat and ImagoMPEG-Muxer.exe into your DVDAuthor folder
rem ***     and point DVD2SVCD to the batch file instead of MPlex.exe
rem ---------------------------------------------------------------------
set workdir=%~dp4
set vidstream=%~nx5
ren %5 movie.mpv
if not exist "%workdir%Encoded_audio_?.*" set encode=NO
ren %6 movie.*
if not !%7 == ! ren %7 movie2.*
ImagoMPEG-Muxer.exe "%workdir%movie.mpv" -o
ren "%workdir%movie.mpg" MPlex_Muxed_File00.*
ren "%workdir%movie.mpv" %vidstream%
if !%encode% == !NO goto noencode
ren "%workdir%movie.*" Encoded_audio_1.*
if exist "%workdir%movie2.*" ren "%workdir%movie2.*" Encoded_audio_2.*
exit
:noencode
ren "%workdir%movie.*" Extracted_audio_1.*
if exist "%workdir%movie2.*" ren "%workdir%movie2.*" Extracted_audio_2.*
Please test and let me know if it works before I upload it to my webspace.

Cheers
manolito

Last edited by manolito; 28th July 2006 at 13:07.
manolito is offline   Reply With Quote
Old 11th July 2006, 23:44   #12  |  Link
Nick
One click is all it takes
 
Nick's Avatar
 
Join Date: Mar 2002
Location: Heart of the Broad Acres
Posts: 1,404
OK. I deleted the Mplex muxed file from my last project and crash-recovered using the batch file.

Although hardly rigorous testing, I'm pleased to report it worked fine. I have looked up the switch you're using - I too need a brush up on extended batch syntax - and I agree the principle is sound.

So a big thumbs-up from me.
Nick is offline   Reply With Quote
Old 12th July 2006, 07:56   #13  |  Link
ChickenMan
Registered User
 
ChickenMan's Avatar
 
Join Date: Oct 2001
Location: Australia
Posts: 350
And a big thumbs up from me as well. Thanks to you both

EDIT: Just tried it tonight, and it works well. However 1 problem still exists, no chapter points put into the final authored dvd when using Ac3Enc.bat with avi's that contain MP3, MP2 or WAV audio.
__________________
Cheers,
CM

Last edited by ChickenMan; 12th July 2006 at 09:29.
ChickenMan is offline   Reply With Quote
Old 12th July 2006, 10:50   #14  |  Link
Nick
One click is all it takes
 
Nick's Avatar
 
Join Date: Mar 2002
Location: Heart of the Broad Acres
Posts: 1,404
This is unrelated to the Imago batch file - the chapters issue is a limitation of AC3Enc.bat

There only way out of it to date is to use another batch file to hijack the DVD Author phase with a custom settings file. This is detailed in the AC3Enc thread (linked from plugins sticky).
Nick is offline   Reply With Quote
Old 12th July 2006, 14:39   #15  |  Link
manolito
Registered User
 
manolito's Avatar
 
Join Date: Sep 2003
Location: Berlin, Germany
Posts: 3,078
Thanks for the feedback. I just uploaded the new files to my webspace, the URL from the first post in this thread is still valid.

@Chickenman
The workaround for the chapter issue I use is described here: http://forum.doom9.org/showthread.ph...815#post779815
However this is a very basic approach. It will not work in batch mode because the target folder for the VOB files is hard coded into the template.xml file. To make this method work transparently I would have to extract the fixed chapters length from some INI file, get the current work folder and write a new DVDAuthor.xml file. This would be a little too much for a plain DOS batch file, I think AutoIt would be a good candidate to do this.

Cheers
manolito
manolito is offline   Reply With Quote
Old 12th July 2006, 18:33   #16  |  Link
Sir Didymus
Registered User
 
Join Date: Mar 2004
Location: Italy
Posts: 953
My outcomings about ImagoMuxer are not so positive, indeed.

@Manolito. IMHO, the reason no stuttering are reported is a good indication that the Video Buffer Verifyer model is properly implemented in the mux application. It's almost acknowledged that mplex is not compliant with the model, producing frequent events of VBV buffer overflows. Users were sometimes (wrongly) told to "limit" the issue by reducing the video bitrate of the source material, but for the compliancy with the VBV model, the responsibility of the troubles is on the muxer side, not on the encoder.

Anyway, this is what I did: I took the same assets (one video track and two ac3 audio tracks) from a DVD title, authored without issues using a solid reference application (Muxman). Duration of the whole video 2:36:25. I simply produced the vob files with ImagoMuxer.

With Powerdvd 7, the playback of the straight vob files was ok.

In any case, I used the Philips DVD-VIDEO Verifyer to check the mux produced by ImagoMuxer, in order to analize deeply the quality of the mux.

I stopped the test at 2% of the time (~the initial three minutes of video) due to the very high number of DVD errors produced.

As expected, buffer overflow events were not present, but alot of other important errors have been generated. Here just the list of errors (in the VOBs) occurring more than 100 times:

Code:
ERROR 1451 113
ERROR 3023 150
ERROR 3027 149
ERROR 4521 144
ERROR 4524 149
ERROR 4535 145
ERROR 4612 149
ERROR 4614 447
ERROR 4671 3427
ERROR 4678 300
ERROR 4681 447
ERROR 4682 5700
ERROR 4684 152
ERROR 4686 495
ERROR 4689 1200
ERROR 4693 300

Semantics of the error codes reported is as follow:

Code:
>>> [MPEG] ERROR 1451  (ref. MPEG Systems 2.4.5.1 | 2.5.2.3) :
    First byte of AU in Video PES_packet 3198 arrives at 1836745 or 91620 before
    its decoding time 1928365, which is more than the allowed 1 second (90000 ticks)
    in PES stream 0xE0 at byte 6440031 bit 0 (byte 12 of packet 3188);
    byte 26 of pack 4068 (PS stream byte 8331290).

>>> [DVD] ERROR 3023  (ref. DVD-3 5.1.1) :
    The previous VOBU presentation period is 47721.673 seconds; must be at most 1.00 sec.
    at byte 2048 bit 0 of pack 26 (PS stream byte 55296).

>>> [DVD] ERROR 3027  (ref. DVD-3 5.1.1 rule 2) :
    The current VOBU's presentation start time (67165 ticks or 0.746 sec) is different
    from the previous VOBU's termination time (0 ticks or 0.000 sec) at byte 44 bit 0
    of pack 27 (PS stream byte 55340).

>>> [DVD] ERROR 4521  (ref. DVD-3 4.4.1 (4)) :
    PCI_GI : The VOBU_S_PTM value 67165 (0.746 seconds) is different from the VOBU's
    video presentation start time 59965 (0.666 seconds) for PCI unit 1 at byte 12 bit 0;
    PES stream-byte 2029 (byte 19 of packet 2); PS stream byte 55353 (byte 57 of pack 27).

>>> [DVD] ERROR 4524  (ref. DVD-3 4.4.1 (5)) :
    PCI_GI : The VOBU_E_PTM value 0 (0.000 seconds) is different from the VOBU's
    video presentation termination time 103165 (1.146 seconds) for PCI unit 1 at byte 16 bit 0;
    PES stream-byte 2033 (byte 23 of packet 2); PS stream byte 55357 (byte 61 of pack 27).

>>> [DVD] ERROR 4535  (ref. DVD-3 4.4.1 (7)) :
    PCI_GI : C_ELTM value is 00h00m00s.24; expected 00h00m01s.01 for PCI unit 2 at byte 24 bit 0;
    private_stream_2 byte 1985; PES ($BF) stream-byte 4051 (byte 31 of packet 4);
    byte 69 of pack 54 (PS stream byte 110661).

>>> [DVD] ERROR 4612  (ref. DVD-3 4.5.1 (3)) :
    DSI_GI : The VOBU_EA value 0 is not the address of the DSI VOBU's last pack 26
    for DSI unit 2 at byte 8 bit 0; PES stream-byte 5021 (byte 15 of packet 5);
    PS stream byte 111631 (byte 1039 of pack 54).

>>> [DVD] ERROR 4614  (ref. DVD-3 4.5.1 (4,5,6)) :
    DSI_GI : The VOBU_1STREF_EA value 0 is not the address (5) of the video pack
    with the final data of the first encoded reference picture for DSI unit 2
    at byte 12 bit 0; PES stream-byte 5025 (byte 19 of packet 5);
    PS stream byte 111635 (byte 1043 of pack 54).

>>> [DVD] ERROR 4671  (ref. DVD-3 4.5.4 (1,4)) :
    VOBU_SRI : FWDI Next V_FWD_Exist1 flag 0 specifies incorrectly non-existing
    video data in the destination VOBU for DSI unit 0 at byte 314 bit 0;
    PES stream-byte 1307 (byte 321 of packet 1); PS stream byte 1345 (byte 1345 of pack 0).

>>> [DVD] ERROR 4678  (ref. DVD-3 4.5.4 (3,6)) :
    VOBU_SRI : FWDI Video V_FWD_Exist1 flag must be 1 for FWDI Video for DSI unit 1
    at byte 234 bit 0; private_stream_2 byte 1253; PES ($BF) stream-byte 3237
    (byte 241 of packet 3); byte 1265 of pack 27 (PS stream byte 56561).

>>> [DVD] ERROR 4681  (ref. DVD-3 4.5.4 (1,4)) :
    VOBU_SRI : BWDI Prev specifies an incorrect VOBU address 0 (pack 27); It must be 27
    (pack 0) for DSI unit 1 at byte 318 bit 2; private_stream_2 byte 1337; PES ($BF)
    stream-byte 3321 (byte 325 of packet 3); byte 1349 of pack 27 (PS stream byte 56645).

>>> [DVD] ERROR 4682  (ref. DVD-3 4.5.4 (1,4)) :
    VOBU_SRI : BWDI   1 addresses a VOBU presented from 0 to 0 which is not at an offset
    of 1 times 0.5 sec from the presentation start time (16765) of the VOBU containing
    this DSI, which is -28235 for DSI unit 0 at byte 322 bit 2; private_stream_2 byte 323;
    PES ($BF) stream-byte 1315 (byte 329 of packet 1); byte 1353 of pack 0 (PS stream byte 1353).

>>> [DVD] ERROR 4684  (ref. DVD-3 4.5.4 (1,4)) :
    VOBU_SRI : BWDI Video specified VOBU address 0 must be 0x3FFFFFFF for a non-existing
    VOBU for DSI unit 0 at byte 398 bit 2; private_stream_2 byte 399; PES ($BF) stream-byte 1391
    (byte 405 of packet 1); byte 1429 of pack 0 (PS stream byte 1429).

>>> [DVD] ERROR 4686  (ref. DVD-3 4.5.4 (1,4)) :
    VOBU_SRI : BWDI   2 specified VOBU address 0 must be 0x3FFFFFFF when the target VOBU
    presentation start time (50400) exceeds the Cell's presentation start time 16765.
    for DSI unit 1 at byte 326 bit 2; private_stream_2 byte 1345; PES ($BF) stream-byte
    3329 (byte 333 of packet 3); byte 1357 of pack 27 (PS stream byte 56653).

>>> [DVD] ERROR 4689  (ref. DVD-3 4.5.4) :
    VOBU_SRI : BWDI  20 predecessor not found !  for DSI unit 1 at byte 382 bit 1;
    private_stream_2 byte 1401; PES ($BF) stream-byte 3385 (byte 389 of packet 3);
    byte 1413 of pack 27 (PS stream byte 56709).

>>> [DVD] ERROR 4693  (ref. DVD-3 4.5.5 (1,2)) :
    SYNCI A_SYNCA 0 : A zero A_PCKA field indicates this Audio stream to be non-present,
    while there are 2 Audio streams.  for DSI unit 1 at byte 402 bit 1; private_stream_2
    byte 1421; PES ($BF) stream-byte 3405 (byte 409 of packet 3); byte 1433 of pack 27
    (PS stream byte 56729).
I am aware what I say may appear unpleasant, and I am sorry for that: I simply would not recommend the usage of the ImagoMuxer if you are plannig to produce DVD compliant material with this application. Maybe you can accept to use this material for a PC playback, but if you think your DVD should play into a standalone player, that's my suggestion: simply do not use ImagoMuxer. Other applications all around are doing the job of muxing much much better (Muxman in primis of MpuCoder, and DVDPlanner of Zeul).

That's just my HO, of course...

Cheers,
SD

Last edited by Sir Didymus; 12th July 2006 at 18:45.
Sir Didymus is offline   Reply With Quote
Old 12th July 2006, 21:25   #17  |  Link
manolito
Registered User
 
manolito's Avatar
 
Join Date: Sep 2003
Location: Berlin, Germany
Posts: 3,078
Thanks Sir Didymus for taking the time to test Imago with the Philips verifier. I kind of exspected that Imago would deliver results far from perfect, and I strongly second your recommendation to use Muxman.

But the whole point of using an application like DVD2SVCD is that the whole process up to the final VOB files is fully automatic. I would love to be able to integrate Muxman into DVD2SVCD, but this would take an experienced AutoIt programmer at least. As good as the Muxman muxing engine is, the user interface of the free version is less than elegant IMO. I do not see an easy way to write a wrapper which translates the command line parameters issued by DVD2SVCD into a Muxman XML project file.

Imago certainly is far from perfect, but it is way better than Mplex when it comes to avoid stuttering on standalone players. I will gladly throw my plugin into the trash bin the moment someone comes up with a plugin to integrate Muxman into DVD2SVCD, but until then Imago is quite useful for me.

Cheers
manolito
manolito is offline   Reply With Quote
Old 8th September 2006, 14:48   #18  |  Link
manolito
Registered User
 
manolito's Avatar
 
Join Date: Sep 2003
Location: Berlin, Germany
Posts: 3,078
Quote:
Originally Posted by manolito
I would love to be able to integrate Muxman into DVD2SVCD, but this would take an experienced AutoIt programmer at least. As good as the Muxman muxing engine is, the user interface of the free version is less than elegant IMO. I do not see an easy way to write a wrapper which translates the command line parameters issued by DVD2SVCD into a Muxman XML project file.
Well, I am glad to announce that Sir Didymus came up with his BatchMux plugin for DVD2SVCD which does exactly what I would never have been able to do: Integrate Muxman transparently into DVD2SVCD. See this thread: http://forum.doom9.org/showthread.php?t=115369

This makes this thread obsolete, can a Mod please close it?

The only situation where the D2S_Imago plugin can still be useful is when you absolutely want to create a muxed MPEG2 file. Muxman cannot do this. For me this is the case when I want to use DVDAuthorGUI or DVDStyler to author a DVD with some simple menus. If you feed elementary streams to these authoring apps, they use Mplex for muxing. The only way to avoid this is to feed already muxed streams to them, and this is where Imago comes in handy.

Please observe that D2S_Imago has another limitation I had not thought of until now: All the audio, video and muxed files have to be in the same D2S work folder. If you specify separate folders for audio and video, D2S_Imago will not work. I have no intention to fix this since the plugin should be considered obsolete now.

Cheers
manolito
manolito is offline   Reply With Quote
Old 8th September 2006, 16:00   #19  |  Link
Sir Didymus
Registered User
 
Join Date: Mar 2004
Location: Italy
Posts: 953
Since manolito is mentioning BatchMux, I want to give some public acknowledgement to this discussion - and I have to thank a lot its author - since it was exactely the origin from where BatchMux started: I realised that it was quite easy from my side (and someway simplicistic, if not rude), just to enter the comment I posted above, giving no positive contributions at all to the topic. Then some really interesting ideas, via PM, were exchanged...

I would say what this discussion produced, was very positive, at the end...



All the best,
SD
Sir Didymus is offline   Reply With Quote
Old 17th November 2008, 15:50   #20  |  Link
manolito
Registered User
 
manolito's Avatar
 
Join Date: Sep 2003
Location: Berlin, Germany
Posts: 3,078
Quote:
Please observe that D2S_Imago has another limitation I had not thought of until now: All the audio, video and muxed files have to be in the same D2S work folder. If you specify separate folders for audio and video, D2S_Imago will not work. I have no intention to fix this since the plugin should be considered obsolete now.
Well, I changed my mind...
The new version should work with all possible D2S output folder structures.

Download URL is in the first post of this thread.

Cheers
manolito
manolito is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 09:27.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.