View Full Version : MeGUI - mencoder x264/snow/mpeg4/XviD GUI with AAC encoding and MP4 output
bond
6th April 2005, 18:51
Originally posted by Doom9
what's libmp4v2?its the mp4 lib of the mpeg4ip project
Doom9
6th April 2005, 20:44
is there a possibility that you add alphabetic-numeric values in the "Video -> Bitrate" field? You can enter numeric values, but alphabetical input will be ignored.That does not make much sense since only one codec supports it. And you can enter a target size in the first tab after all. Considering there are better tools for AVI output, and no calculators for MP4 otuput, I only see the sense in specifying a target size for MP4 output.
The automatic popup of the video preview. Itīs because I donīt need it.That creates a problem that people who want to set credits will have no way to set them if they somehow deactivate this option.. plus an automatic preview is a great way to find out if your script works.. if somebody comes with a report that "megui crashes as soon as I select my avisynth script"(obviously, that would be a bad bugreport), I know immediately that the AviSynth script is to be blamed.
Merging is perfect, but just testet streams outside of containers (*.264).You can only merge raw streams. You didn't think I wrote a mp4 merging app just overnight when nobody has managed to do that in years? Rarely, I'd also like to have a live instead of work and this, and that just doesn't permit certain time investments.
thed33p
7th April 2005, 00:20
Doom9,
Apologies for taking long in replying.... lots to do, little time...
... go into your bios and change the power button to only activate when pressed for a couple of seconds...
Great idea but I don't have a BIOS for my wall-sockets! :D:D
...Since your PC was shut down, any bitrate recalculation after audio encoding is lost, and the only way to recover it is recalculate the bitrate manually (formula has been posted here and it's in the source code as well).
I just remembered sloppy - you once stated that the bitrate displayed in the GUI is the bitrate that'll be used if audio is AAC or MP4. I think my brain incorrectly included AC3 in that list. :o Should have known better though...
And, have you verified that using that bitrate you're not supposed to get that size with that bitrate?
Guilty as charged. That said, I did learn 2 things from the whole expereince though: how to manually work out bitrates and what to do >before< you post...
Then something else involving a previous post:
...adding "-delay -.5" corrects the sync perfectly.half a second and dgindex said 0ms delay? something is wrong here (and not with megui)
I've subsequently encoded about 8 full movies with MeGUI 0.1708 and 2 of them have synch issues. The one needs -delay -.5 and the other -.25 in order to get the sync right! They are both R2 576p and both of them had a 0ms delay reported by dgindex 1.2.1. Also, I encoded all of them in exactly the same way (so I doubt if it's something I'm doing wrong.) I don't recall seeing anyone else post anything to the like so I guess something in PC is b0rked. Could you offer a pointer as to where I can start troubleshooting this?
OK, moving on. Firstly, Thanx for releasing 0.1800!! Your hard work is really appreciated!
I've installed v0.1800 and started a full movie-with-seperate-credits encode last night. This morning the queue was just "waiting" on the 3rd step of the 6 step job. (I have seen this before: the left-most button is labled STOP but nothing is encoding.) As nothing was happening, I closed MeGUI, re-opened it and clicked START. When I got home, the MERGING job was in a waiting state and there was no sign of movie-credits.264 in the output folder. I then manually created the credits file using the commandline from the XML file:
F:\x264\megui0_1800\mencoder.exe E:\DGindex\tgnd\tgnd-credits.avs" -ovc x264 -x264encopts qp_constant=40:subq=0 -o E:\DGindex\tgnd\tgnd-credits.264 -of rawvideo
mencoder complained about subq having to be >= 1 (IIRC) so I blindly changed it to read subq=1. The job encoded and I manually merged and muxed (via MeGUI). Needless to say, the file is not playing, causing mplayer 20050315 to crash.
I've just started a different movie (upgraded mencoder to 20050405 though) and again MeGUI didn't start Job1-3. There's no added instructions in the readme file so I'm not sure if there's something I'm meant to be doing but isn't.... The tickbox under Setting mention "Video only mode" - does that mean I have to add the video as a seperate job or can I still use the beloved "GO" button?
Sorry for the long post and thanx again!!
dinolib2
7th April 2005, 20:23
Hi Doom9,
thanks again for your hard work...
I'm tring your new 0.1800 MeGUI version.
Some points:
1) Problem with AVC credits encode. Just mentioned by thed33p: MeGUI uses a parameter not accepted (or it seems so) by Mencoder (I've tried a fresh compile from CVS of menc., but doesn't solve anything).
2) XViD Automatic encoding: size is absolutely wrong :(
I've posted the log at the end of this message. Different configuration give me the same result: file undersized. I've tried with and without credits, different filesizes, with ac3 and mp4 audio inputs: nothing. Everitimes I've used "GO" button. Never tried video encode only (may be later I'll have the time :p).
3) Just a request :): do you think to add a label or something else to show current Credit Start setting? A button to open initial window seek to current position would be perfect...
Thanks,
Dino
MeGUI log for 15000KB Auto Encoding (got 10000KB):
----------------------------------------------------------------------------------------------------------
Log for job job5-1
mencoder commandline: "mencoder.exe" "C:\Downloads\Software\MP4\TestChallenge\HPII-credits.avs" -ovc xvid -xvidencopts fixed_quant=20:max_key_interval=300:packed:vhq=1:chroma_me:trellis:rc_reaction_delay_factor=16:rc_averaging_period=100 -o "C:\Downloads\Software\MP4\TestChallenge\test-credits.m4v" -of rawvideo
MEncoder dev-CVS-050330-18:16-3.4.2 (C) 2000-2005 MPlayer Team
CPU: Intel Pentium M Banias (Family: 6, Stepping: 5)
Detected cache-line size is 64 bytes
CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 0 SSE2: 0
Compiled for x86 CPU with extensions: MMX MMX2 SSE SSE2
File not found: 'frameno.avi'
Failed to open frameno.avi
success: format: 0 data: 0x0 - 0xc1
AVS file format detected.
VIDEO: [YV12] 720x304 12bpp 25.000 fps 0.0 kbps ( 0.0 kbyte/s)
[V] filefmt:38 fourcc:0x32315659 size:720x304 fps:25.00 ftime:=0.0400
xvid: using library version 1.1.-126 (build xvid-1.1.0-beta1)
Opening video filter: [expand osd=1]
Expand: -1 x -1, -1 ; -1 (-1=autodetect) osd: 1
==========================================================================
Opening video decoder: [raw] RAW Uncompressed Video
VDec: vo config request - 720 x 304 (preferred csp: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is undefined - no prescaling applied.
videocodec: XviD (720x304 fourcc=44495658 [XVID])
xvid: par=0/0 (vga11), displayed=720x304, sampled=720x304
xvid: Fixed Quant Rate Control -- quantizer=20/1=20.00
Selected video codec: [rawyv12] vfm:raw (RAW YV12)
==========================================================================
Writing AVI header...
Flushing video frames
Writing AVI index...
Fixing AVI header...
Video stream: 234.624 kbit/s (29327 bps) size: 3608513 bytes 123.040 secs 3077 frames
----------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------
Log for job job5-2
mencoder commandline: "mencoder.exe" "C:\Downloads\Software\MP4\TestChallenge\HPII-movie.avs" -ovc xvid -o NUL: -passlogfile "mencoder-2pass.log" -xvidencopts pass=1:bitrate=327:max_key_interval=300:max_bframes=0:vhq=1:chroma_me:trellis:keyframe_boost=100:kfthreshold=1:kfreduction=20
MEncoder dev-CVS-050330-18:16-3.4.2 (C) 2000-2005 MPlayer Team
CPU: Intel Pentium M Banias (Family: 6, Stepping: 5)
Detected cache-line size is 64 bytes
CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 0 SSE2: 0
Compiled for x86 CPU with extensions: MMX MMX2 SSE SSE2
File not found: 'frameno.avi'
Failed to open frameno.avi
success: format: 0 data: 0x0 - 0xbe
AVS file format detected.
VIDEO: [YV12] 720x304 12bpp 25.000 fps 0.0 kbps ( 0.0 kbyte/s)
[V] filefmt:38 fourcc:0x32315659 size:720x304 fps:25.00 ftime:=0.0400
xvid: using library version 1.1.-126 (build xvid-1.1.0-beta1)
Opening video filter: [expand osd=1]
Expand: -1 x -1, -1 ; -1 (-1=autodetect) osd: 1
==========================================================================
Opening video decoder: [raw] RAW Uncompressed Video
VDec: vo config request - 720 x 304 (preferred csp: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is undefined - no prescaling applied.
videocodec: XviD (720x304 fourcc=44495658 [XVID])
xvid: par=0/0 (vga11), displayed=720x304, sampled=720x304
xvid: bitrate setting is ignored during first pass
xvid: 2Pass Rate Control -- 1st pass
Selected video codec: [rawyv12] vfm:raw (RAW YV12)
==========================================================================
Writing AVI header...
ODML: vprp aspect is 16384:6917.
ODML: vprp aspect is 16384:6917.
Flushing video frames
Writing AVI index...
Fixing AVI header...
ODML: vprp aspect is 16384:6917.
Video stream: 2838.957 kbit/s (354869 bps) size: 43677351 bytes 123.080 secs 3077 frames
----------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------
Log for job job5-3
mencoder commandline: "mencoder.exe" "C:\Downloads\Software\MP4\TestChallenge\HPII-movie.avs" -ovc xvid -passlogfile "mencoder-2pass.log" -xvidencopts pass=2:bitrate=327:max_key_interval=300:max_bframes=0:vhq=1:chroma_me:trellis:keyframe_boost=100:kfthreshold=1:kfreduction=20 -o "C:\Downloads\Software\MP4\TestChallenge\test-movie.m4v" -of rawvideo
MEncoder dev-CVS-050330-18:16-3.4.2 (C) 2000-2005 MPlayer Team
CPU: Intel Pentium M Banias (Family: 6, Stepping: 5)
Detected cache-line size is 64 bytes
CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 0 SSE2: 0
Compiled for x86 CPU with extensions: MMX MMX2 SSE SSE2
File not found: 'frameno.avi'
Failed to open frameno.avi
success: format: 0 data: 0x0 - 0xbe
AVS file format detected.
VIDEO: [YV12] 720x304 12bpp 25.000 fps 0.0 kbps ( 0.0 kbyte/s)
[V] filefmt:38 fourcc:0x32315659 size:720x304 fps:25.00 ftime:=0.0400
xvid: using library version 1.1.-126 (build xvid-1.1.0-beta1)
Opening video filter: [expand osd=1]
Expand: -1 x -1, -1 ; -1 (-1=autodetect) osd: 1
==========================================================================
Opening video decoder: [raw] RAW Uncompressed Video
VDec: vo config request - 720 x 304 (preferred csp: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is undefined - no prescaling applied.
videocodec: XviD (720x304 fourcc=44495658 [XVID])
xvid: par=0/0 (vga11), displayed=720x304, sampled=720x304
xvid: 2Pass Rate Control -- 2nd pass -- bitrate=327kbit/s
Selected video codec: [rawyv12] vfm:raw (RAW YV12)
==========================================================================
Writing AVI header...
Flushing video frames
Writing AVI index...
Fixing AVI header...
Video stream: 317.940 kbit/s (39742 bps) size: 4891506 bytes 123.080 secs 3077 frames
----------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------
Log for job job5-4
----------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------
Log for job job5-5
Audio input defined: C:\Downloads\Software\MP4\TestChallenge\HPII-au.mp4 Checking audio type:
MP4 audio input does not match the desired MP4 output filename. Renaming audio MP4 file to C:\Downloads\Software\MP4\TestChallenge\test.mp4
MP4 audio size is 1809343 bytes
mp4creator commandline: mp4creator.exe -c "C:\Downloads\Software\MP4\TestChallenge\test.m4v" -rate 25 -optimize "C:\Downloads\Software\MP4\TestChallenge\test.mp4"
Launching video muxing process
es config size is 29
MP4 muxing info:
Size of audio in MP4: 1809343 bytes
Size of raw video stream: 8500019 bytes
Size of final MP4 file: 10332817 bytes
Size of video in MP4 file: 8523474 bytes
Total overhead: 23455 bytes
Overhead per frame: 3,81258127438231 bytes
source information
codec: XviD
number of b-frames: 0number of source frames: 6152
----------------------------------------------------------------------------------------------------------
Doom9
7th April 2005, 21:31
a couple of things here:
1) I only tested lavc.. so you might try that one first.
2) as mentioned, if you don't do audio encoding, bitrate recalculation could be b0rked (@dino: I don't see your audio log so I assume it's a video job)
3) before you say anything about size, you know the formula.. plug in the values, compare commandlines with bitrates received, etc. Make me believe something is wrong in MeGUI.. I've gone through way too many painful math classes to get my masters so you can only satisfy me with irrefutable numbers.
4) the logs are actually not very useful.. except for the mencoder commandline and its last line giving output size and average bitrate.. the mencoder output is useless. That mostly applies to the besweet log output as well. What matters is the commandline in the jobs.. it also holds a desired size that you can look at, plug into the bitrate formula to see if it makes sense. The mux job logs is not very interesting for this kinda thing either.. it's only interesting to generate mp4 overhead statistics.
Being a long time GKnot user, I've pretty much built MeGUI to follow GKnot's workflow.. which hasn't changed for years.. now suddenly everybody wants extras? Makes me wonder a little, honestly. Video preview stays open until you start encoding.. and from that point on.. once the jobs are done, there's no credits start.. the source has been separated into two scripts.
@thed33p: mencoder commandlines are useful ;) So is knowing if you run the same commandline in a dos window if it works or not ;) And #2 could come into play as well.. you may get negative bitrates if you don't do audio.
dinolib2
7th April 2005, 23:07
Doom9,
please help me to understand...:confused:
- you talked about "lavc": is the same than "AVC codec"?
- how could you test AVC with credits, if we get an mencoder error in credit encode (see prev. posts)?
- I'm encoding with audio (in log it missed the encode because I've used mp4 input). I MUST encode audio with "Automatic Encoding" (the "GO" button). So bitrate recalc shold be performed...
- AVC encode is fine (just finished, but without credits!!):) Could you take a look to XviD, please?
- I'm very sorry, I didn't understand "preview" GK style...:o I thought it was a modal window :D
Excuse me for confused posts, but I haven't a good english and I would like to explain problems better... I'm feeling dumb :D
thanks thanks thanks!
thed33p
7th April 2005, 23:40
I did another test with v0.1800 & seperate credits with the same results: Once the "GO" button is clicked, 6 jobs are created: audio, cred, 1pass, 2pass, merge, mux. MeGUI stalls and 1pass (Job1-3) is stuck on 'waiting' but nothing happens.
I then used v0.1800 to encode without seperate credits and it worked perfectly. BTW, I only ever use it for AVC, AAC, MP4
I then tried v0.1800 with seperate credits on and recalculate off. Commandline shown in box at bottom:
"mencoder.exe" "D:\jja_1800_sepcred\jja.avs" -ovc x264 -passlogfile "mencoder-2pass.log" -x264encopts pass=2:bitrate=700:frameref=3:bframes=3:b_adapt:b_pyramid:subq=4:weight_b:4x4mv -o "D:\jja_1800_sepcred\jja.264" -of rawvideo
Commandline shown in job1-2's log:
"mencoder.exe" "D:\jja_1800_sepcred\jja-credits.avs" -ovc x264 -x264encopts qp_constant=40:subq=0 -o "D:\jja_1800_sepcred\jja-credits.264" -of rawvideo
Typing the commandline above (without the "s) into a cmd prompt results in:
File not found: 'frameno.avi'
Failed to open frameno.avi
The subq option must be >= 1: 0
Exiting... (error parsing cmdline)
So then I tried:
mencoder.exe D:\jja_1800_sepcred\jja-credits.avs -ovc x264 -x264encopts qp_constant=40:subq=4 -o "D:\jja_1800_sepcred\jja-credits.264" -of rawvideo
That worked and produced a .264 file.
Next I had to close MeGUI, reopen it, and click start. The job completed and produced a MP4 but when I try to play it back with mplayer 20050405, I get the following error:
MPlayer interrupted by signal 11 in module: decode_video
This is very much the same experience I've had with sep credits, even right in the beginning when we 1st discussed it.
I'm busy searching the forums (and google as well) for what Signal 11 means....
OT: is vBulletin 2.3.0 unable to return a search result that will take you to the post in question, rather than the thread? eg searching for "mplayer interrupted" returns this thread as well as X264 Development - that's a cool 1246 posts in 2 threads to sift through!! Now combine that with the fact that you're limited to displaying 40 posts per page and all of a sudden searching is a very long process indeed...
Doom9
8th April 2005, 08:38
@thed33p: okay, that explains the abort. I'm using the programmed default codec settings for the credits job (I'm wondering, should I just use the option for the 2nd pass job instead, and just change encoding mode to CQ and set the quantizer to what was configured instead?), and either I misread the manpage when I coded in the defaults, or the subq value has since been changed to be 1-5 rather than 0-5.
I also think there's a problem with bitrate recalculation now.. though it would be really nice of you guys if next time you came up with this data:
audio file: 10'000 bytes
credits: 7'500 bytes
desired size set in the GUI: 25'000'000
desired size, bitrate and mencoder commandline of the first and second pass jobs (especially after the 1st pass of the main movie has started.. if you exit then.. the updates of the recalculation will be saved).
final main movie size (raw) (and compare that to the desired size and bitrate set.. it tells if if the codec did or did not meet the desired size)
merged size
deviation from target
All those values are crucial in determining where something could've gone wrong. Without them... it's like looking for a needle in a haystack and I don't have the time to go looking for that needle.
I'm very sorry, I didn't understand "preview" GK style...Try GK.. you open the d2v.. boom , you have the preview. You close it again and you can no longer set credits. The only thing that's different is if you re-open the same input, it shows you the credits start (I think), but it doesn't go to it.
- I'm encoding with audio (in log it missed the encode because I've used mp4 input)That's a video only encode I'm afraid.. I'm almost sure the bitrate recalculation is flawed in that scenario (I announced it when I released the new version).
OT: is vBulletin 2.3.0 unable to return a search result that will take you to the post in question, rather than the thread? Yes, that's a limitation of the 2.x series of vbb.. vbb3 won't have that. When will we upgrade? Ask Swede..
video
9th April 2005, 10:05
Originally posted by Doom9
[BTry GK.. you open the d2v.. boom , you have the preview. You close it again and you can no longer set credits. The only thing that's different is if you re-open the same input, it shows you the credits start (I think), but it doesn't go to it.
[/B]
GK is a crap, for several reasons, but this is the major issue. GK is silently a job setup/controll application - and supprisingly, doesn't make this cristal clean. GK should rather ephasize the "job", but it doesn't do that...
However - no.. if you close the preview window, you are loosing lotsa job parameters...
Selur
9th April 2005, 11:04
@doom9: are there any plans for a MeGUI guide ? :D
Doom9
9th April 2005, 11:30
are there any plans for a MeGUI guide ? At this point I first need to fix a couple of bugs first, and I've been secretly toying with the thought of greater AVI support (meaning I have to use AVIFile to append AVIs and then to mux MP3 audio (VBR ought to be fun)).
And I'm a bit frustrated about the feedback I get.. more often than not it's just not enough to pinpoint a problem.. not at all like in the early days where I could get home from work and know exactly what was to be done because users spend the time really trying to figure out the exact cause of a problem :/ So the next major feature will have to be a major revamp of the logs, stop dumping mencoder and besweet stuff that I don't need and rather put all the job internals there.
JoeBG
9th April 2005, 12:16
Originally posted by Doom9
new: video preview including playback (no DirectShow, so it might not play at the exact framerate but it should be close enough) and the usual forward/backward buttons and you can set the credit start frame in the player
Iīm not clever enough for this opton. I really canīt suss out, if something happens if I mark credits in the video preview. Does MeGUI do anything then? Or is it a help for me to find out which frame is correct for my trim settings in my Avisynth Skript(creating two Skripts, one for the main movie and one for the credits).
Doom9
9th April 2005, 12:21
Iīm not clever enough for this opton. I really canīt suss out, if something happens if I mark credits in the video preview.Have you tried encoding after marking the credits start frame? Take a look at the generated jobs then ;)
thed33p
9th April 2005, 12:22
Originally posted by Doom9
audio file: 10'000 bytes
credits: 7'500 bytes
desired size set in the GUI: 25'000'000
Doom9, I'd love to do this but I'm afraid I'm not sure how to.
Audio 10'000 bytes (I presume u mean output size), is there a specific way of achieving this or is it just hit & miss untill u hit the right size?
Also, does it have to be exactly 10'000 are will ~10'000 do?
Doom9
9th April 2005, 12:52
Doom9, I'd love to do this but I'm afraid I'm not sure how to.You misunderstand.. those 3 are merely sample values.. I need to know the values that apply to your case (and not only those three, the list of everything I mentioned).
JoeBG
9th April 2005, 13:17
Originally posted by Doom9
Have you tried encoding after marking the credits start frame? Take a look at the generated jobs then ;)
I see... http://www.cheesebuerger.de/images/smilie/traurig/a005.gif
JoeBG
9th April 2005, 14:11
@ doom
I see the jobs, but they donīt work for me in the moment. First I testet AVC.264 (not in mp4) and realised, that file "film-credits.264" does not get created (but the job is marked as "done") and that the first pass job and the second pass job are still in the waiting position.
Then I tried it with mp4 output: same issue, no progress after the credits job, everything is waiting
Then I tried it with ASP.m4v: same issue, but the file "Film-Credits.m4v" gets createtd. But the main jobs are still in the waiting position.
I really think it is a mistake from my side, but I canīt find my mistake in the moment. Can you give me a hint?
thed33p
9th April 2005, 14:40
:stupid:
OK here goes:
Size of Audio. MP4 - 2,414,288 bytes
Size of Credits.264 - 96,238 bytes
Desired Size set in GUI - 22400 KB
Regarding the rest of the stats, please remember that I had to manually encode the credits to get round subq=0 (so does that break auto-bitrate mode?) Also I had to close and re-open MeGUI in order to get job 1-3 to start - so that might interfere with the bitrate assignment further?
1st pass:
Desired Size: 22937600
Bitrate Quantiser: 26
Command Line: mencoder.exe D:\jja_1800_sepcred\jja-movie.avs -ovc x264 -o NUL: -passlogfile "mencoder-2pass.log" -x264encopts pass=1:qp_constant=26:frameref=2:bframes=3:b_adapt:b_pyramid:subq=3:weight_b:4x4mv
2nd pass:
Desired Size: 22937600
Bitrate Quantiser: 700
Command Line: mencoder.exe D:\jja_1800_sepcred\jja-movie.avs -ovc x264 -passlogfile "mencoder-2pass.log" -x264encopts pass=2:bitrate=700:frameref=3:bframes=3:b_adapt:b_pyramid:subq=4:weight_b:4x4mv -o "D:\jja_1800_sepcred\jja-movie.264" -of rawvideo
(and compare that to the desired size and bitrate set.. it tells if if the codec did or did not meet the desired size)
Final movie.264 size: 20,891,360 bytes (Desired 22,937,600)
What do you mean be desired bitrate set? Projected in MeGUI is 668 but I dunno if you meant that value....
merged.264 size: 20,987,598 bytes
merger muxed mp4 size: 24,537,556 bytes
target (22400 * 1024) : 22937600
I don't know whether you'd like deviation using raw or muxed....
I hope this info's sufficient - please inform me if I left anything out!!
video
9th April 2005, 14:41
might be i'll be killed here, but just making an observation... ;) AVC encoders are dropping radically video bitreates when they discover that there's nothing else, but static and scrolling text over (i mean end credits). For a typical (CCIR601 image) 900-1500 kbps peak rate drops down to 30-90kbps automatically. so question: is supporting split and separate coding of end cerdits worth? :p
thed33p
9th April 2005, 15:04
@video
I didn't know that that the bitrate drops automatically - can you please tell me an easy way of determining the actual bitrate used at a specific point?
I'm still keen do do a visual comparison of a file encoded with sep credits vs one without. Unfortunately I've never managed to create one with sep credits so I'm quite keen to get it right.....
Doom9
9th April 2005, 15:21
is supporting split and separate coding of end cerdits worth? well, if it turns out it's not worth it, you're more my hero.. less complications in the code, less posibilities for something to go wrong.. that's what I like.
Regarding the rest of the stats, please remember that I had to manually encode the credits to get round subq=0 (so does that break auto-bitrate mode?) Also I had to close and re-open MeGUI in order to get job 1-3 to start - so that might interfere with the bitrate assignment further?Yup, that's breaking it twice. Could you try editing the credits job xml file to set subq to 1 (and adjust the commanline), then try again.. see if it starts the first pass, then abort, then exit.. now the second pass job will have the proper recalculated bitrate set. Either way the next version will fix the subq thing, bitrate recalculation problems (I presume that's where encoding gets stopped between credits and main movie), and it'll dump a lot more info to the log.
JoeBG
9th April 2005, 15:52
Originally posted by JoeBG
@ doom
I see the jobs, but they donīt work for me in the moment. First I testet AVC.264 (not in mp4) and realised, that file "film-credits.264" does not get created (but the job is marked as "done") and that the first pass job and the second pass job are still in the waiting position.
Then I tried it with mp4 output: same issue, no progress after the credits job, everything is waiting
Then I tried it with ASP.m4v: same issue, but the file "Film-Credits.m4v" gets createtd. But the main jobs are still in the waiting position.
I really think it is a mistake from my side, but I canīt find my mistake in the moment. Can you give me a hint?
Can someone help me please :(
thed33p
9th April 2005, 16:49
@JoeBG
Read my posts a couple of posts up - it's because of subq=0 - try it from the command line and you'll see it causes an error. This causes the stalling....
@Doom9
OK, here's what I've done:
I set up the job in MeGUI and added the audio and video jobs manually by using the queue buttons (so it won't start automatically). Then I exited MeGUI before clicking start (to create the XML files). I then had to do quite a bit of XML file editing:
1) fixing subq in credits commandline
2) MeGUI incorrectly sets the name of the output file for the merge job as .mp4 - the result is that MeGUI asks you whether it's OK to delete the existing MP4 file when it merges. So I edited this in the Merge xml file to .264
3) Ditto Mux job - that was set to .264 and I had to change it to MP4
4) Because I added the Audio & Video manually, the jobs were named job1 and job 2-1 upto 2-5. I didn't know whether this will make a difference so I renamed the jobs to read job1-1 up to 1-6 and then opened every xml file to make sure that <name>, <next> and <previous> all contained the correct entries
5) Had to change <overhead> in the Mux xml file to 10.4 - somehow this wasn't saved
I also noticed that <fps> in merge was set to 0. Does this matter?
Job just returned an error about input filename being missing for merge job. here is the contents of the xml file - it looks right to me. What am I missing?
<?xml version="1.0"?>
<Job xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="MergeJob">
<Input>D:\jja_1800_sepcred\jja-movie.264</Input>
<Output>D:\jja_1800_sepcred\jja.264</Output>
<Name>job1-5</Name>
<Priority>0</Priority>
<Status>0</Status>
<Position>4</Position>
<Start>0001-01-01T00:00:00.0000000+02:00</Start>
<End>0001-01-01T00:00:00.0000000+02:00</End>
<FPS>0</FPS>
<Next>job1-6</Next>
<Previous>job1-4</Previous>
<SecondInput>D:\jja_1800_sepcred\jja-credits.264</SecondInput>
</Job>
Doom9
9th April 2005, 17:38
I also noticed that <fps> in merge was set to 0.No, it doesn't matter.. MergeJob inherits from Job and that just happens to have the FPS property.
Job just returned an error about input filename being missing for merge jobWell.. is D:\jja_1800_sepcred\jja-movie.264 and D:\jja_1800_sepcred\jja-credits.264 present? The FileMerger checks if the two inputs are presents and aborts in the setup phase if they are not. It also stops asking you to to delete the output file if it already exists..
You also need to exit MeGUI before you edit jobs.. upon exiting, all jobs are overwritten with whats in memory. Upon starting, existing jobs are loaded from the xml file.
Doom9
9th April 2005, 21:07
so I've been debugging.
1) there is an error in the bitrate calculation.. the total number of frames is used both to calculate the total mp4 overhead (that's good), and then to derive the bitrate from desired target size minus audio minus credits (that's not good).
2) there's an error when using credits in video only mode (not the big go button.. the output filenames of merge and mux job are switched)
3) somewhere along the way, the allowable range of the subq parameter has been changed from 0-5 to 1-5.. the manpage I used as reference had 0 as allowable value, and the default.. now it's 5, so I've adjusted that in MeGUI as well.
4) bitrate recalculation in video only mode was never working but I knew that.
5) I put the bitrate calculation logic into the log.. now you see what's going on all the way (down to the bitrate recalculation call that's made. the parameters for calculateVideoBitrate are: size of audio & credits (bytes), desired mp4 size (bytes), number of frames of the source (main movie + credits), mp4 overhead configured, framerate of the source.
6) the video encoder now displays the average bitrate at the end of a job (provided there's an output file), and compares it to the video bitrate configured (obviously, if you edit commandlines (not possible in auto mode), and you actually change the bitrate in the commandline, the results of that comparison will be void)
Doom9
9th April 2005, 21:36
here is v0.1801
new: bitrate recalculation in video only mode when using credits is now active (it uses the bitrate you configured, calculates the video size you'd get from using that bitrate, then recalculates it taking the credits size into account as well)
new: lots of additional log info from the bitrate recalculation process and the end of video encoding (compare desired with obtained video bitrate)
changed: mencoder stoud output is no longer dumped to the log
fixed: bitrate recalculation now takes into account the actual length of the main movie (versus the total length of the video)
fixed: in video only mode with credits, the merge and mux outputs are no longer switched (this would lead to an unrecoverable error at the start of the mux job)
fixed: subq=0 in x264 is no longer allowed, set the default to the new mencoder default of 5
@JoeBG: You cannot use credits without MP4 output.. I don't know exactly what will happen but no good will come of it (at best, you get an MP4).
Doom9
9th April 2005, 22:39
and here's another one
0.1802
new: allows loading of merge and mux jobs in the appropriate controls in the settings tab
new: supports credits in video only mode when output type is raw. A potential bitrate recalculation simply sets the mp4 overhead to 0.
changed: I/O buffer in the filemerger has been reduced to 64KB size. This should be more memory efficient while not degrading performance or increase CPU usage.
I'll leave the previous version as I've tested it more than this one.. I hope I haven't broken anything by enabling credits for raw output.
thed33p
9th April 2005, 23:08
almost done encoding with 1801 - will posts results in about 5....
BTW, I see that status updates is now every 10 frames but it's not mentioned in your changelog nor readme.... You're selling yourself short ;)
thed33p
9th April 2005, 23:23
encoding finished (auto mode) without a glitch!
I still have no joy trying to play the file though:
"MPlayer interrupted by signal 11 in module: decode_video"
I'm using the latest CD mplayer20050405. What do you use for playback, Doom9?
Doom9
10th April 2005, 00:23
I use mpc with ffdshow. And try another codec just for the heck of it.. I'm not 100% sure binary merging works in all instances (but that's not something you can put on me.. I'm merely doing a binary copy). It has actually happened to me that certain files didn't play properly either and the problem started with the merge, but doing the same in dos mode resulted in the same problems so it's the codec's fault.
I see that status updates is now every 10 frames but it's not mentioned in your changelog nor readmeI forgot about that one.
thed33p
10th April 2005, 01:12
just tried with MPC6484 and ffdshow050303 with the pyramid patch and I'm just getting a black screen....
With VLC I get a apicture but it's horribly wrong (artifacts all over, dunno how to describe it but I bet you know what I mean.)
Could someone please post here if they've succesfully decoded pyramid b frames with sep credits in MP4
Edit: ffdshow050312 with pyramid patch yields the same results :(
Sharktooth
10th April 2005, 02:06
weird... the pyramid patch (the one in the x264 daily builds thread) works for me.
celtic_druid
10th April 2005, 05:24
The patched version shouldn't be required since Milan updated libavcodec in newer ffdshow builds.
thed33p
10th April 2005, 10:06
@celtic_druid
Please can you supply a link - the ffdshow thead only seems to point towards links that should NOT be used and your latest build is 20050312...
Doom9
10th April 2005, 11:49
alright, I figured something out (not really megui related but it applies here). First of all MeGUI works just fine (uff). But, depending on your x264 settings, you can mux the movie and credits file into an mp4 and they play just fine, but if you mux the merged movie+credits into an mp4, all you get is a black picture.
I have not found out which setting is causing this (so far I've discarded subq and the deblock strength), but if you have non playing x264 MP4s, that's where you need to look. The default x264 settings work just fine.. I suspect it has something to do with the b-frames. For further discussion of this issue please refer to the x264 + mencoder thread.
@edit: I have posted some updated findings in the mencoder thread. I see you guys are all using multiple reference frames and b-frames and those are exactly the settings that break the output :( I'm afraid there's nothing I can do about this.
thed33p
10th April 2005, 15:24
From what I can make out of Akupenguin's reply in X264 + mencoder, SepCreds are not happening until someone codes an informed merger or until someone adds zoned ratecontrol to X264 (I don't quite understands why he says that allowing the user to specify and ID is an ugly workaround)
Anyway, thanks for trying Doom9!!
Doom9
10th April 2005, 16:48
well.. it works in my tests. So, the next version will use the settings for the 2nd pass (the one you configure in the GUI), and use those as credits parameters, just changing the mode to CQ and setting the proper quantizer. However, since the number of reference frames is influenced by the turbo setting, and since it's a parameter that causes problems, turbo will have to be disabled when you encode credits separately.
And of course I can't say if the muxed streams will work in any players because there's still the issue aku mentioned and that's just outside of my influence.
@edit: scratch that part about the turbo.. I just have to make sure that the credits job doesn't have it activated so the subq (not important) and #ref frames (very important) match.
Doom9
10th April 2005, 22:32
here is v0.1803
new: turbo mode can be activated for automated 2 pass encoding
changed: when doing credits separately, the settings for the credit job are taken from the 2nd pass (that's the one you configure in automated twopass mode) (except for the encoding mode and quantizer of course). This can prevent problems joining the raw streams. Note that even with this, there is no absolute guarantee that separate credits encoding will always work. For more info on this, refer to this thread: http://forum.doom9.org/showthread.php?s=&threadid=83039&goto=lastpost
thed33p
10th April 2005, 23:07
This is the 1st time >EVER< I'm not happy to see a new version - I have HEAPS of "real" work to do and now my priorities have just changed!:D
Thanx Doom9, I'll give it a quick spin ;)
Doom9
10th April 2005, 23:13
now if something doesn't work out with separate credits, here's your todo list:
mux the main movie and credits into a separate mp4 each (in the settings tab you can set up mux jobs)... see if they play alright. If they do, try redoing just the credits using different settings, then merge, then mux (in the settings tab you'll also find a binary filemerger that does the same as "copy movie /b + credits /b output") and see what you get. Most likely, playback problems with merged files are due to codec settings... you might also want to try and ask the people who made the codec about possible merging problems.. all this stuff is pretty new after all.. and hopefully we'll eventually see zones in x264 and the libavcodec rate control. I won't really be able to help you with playback problems and I don't have time trying out every possible settings to try and reproduce something.. if the separate movie and credits work... it is most likely a problem that you can only figure out by trying out different settings and I don't have time doing that for you.
thed33p
10th April 2005, 23:33
:thanks: for the guidance - I'm about to get started.
Just a quick question - Any reason why bitrate recalculation will only work in video-only mode (as per the readme?) I'm not complaining, just trying to understand.
akupenguin
10th April 2005, 23:57
Originally posted by Doom9
hopefully we'll eventually see zones in x264 and the libavcodec rate control. libavcodec has zones ("vrc_override").
Doom9
11th April 2005, 00:18
Any reason why bitrate recalculation will only work in video-only mode (as per the readme?)Uh, I think you misread. In auto mode, all features are automatically enabled and you cannot turn them off. In video only mode, you need to turn them on first using the settings. Always separate credits enables separate credits encoding for video only mode. Recalculate bitrate enables bitrate recalculation in video only mode.. but the desired size is derived from the bitrate configured in that case, not the size you can configure in the input tab (that whole section there applies to auto mode only.. hence the name of the group box).
thed33p
11th April 2005, 00:42
Whoooooooooooo-hooooooooooooooo!
<thed33p dances a jig>
Works like a waitress at Oktoberfest! Settings were:
3Ref, 3B, Adaptive, Pyramid, WP, Chroma, 4x4 (no Turbo ;))
Filesize is 22,951,696 bytes and same file without sepcred was 22,981,536 bytes. Requested was 22400 * 1024 = 22937600.
Busy redoing same job in Video Only mode with Recalculate on to see if there's a filesize difference. I'll attach saved log and overhead files (dunno if u have use for them but here they are anyway)
And now I'm gonna say "THANK YOU" you 1 last time today!
thed33p
11th April 2005, 00:48
forgot to attach log...
I think it was the "[B]In addition[B], in video only mode you can have your bitrate recalculated by enabling that option in the settings." part that confused me.
BTW in you next build, could you maybe make MeGUI auto-save the log file? It's sometimes easy to forget to do it manually
thed33p
11th April 2005, 01:41
I just finished encoding the same clip with exactly the same settings in video only mode (recalculate on)
Requested: 22,937,600
FinalFile: 27,408,032
Raw : 23,858,111
Auto Mode: 22,951,696 (from the previous job)
I'll attach log & overhead again - dunno if they'll be of any help.
BTW, sepcred MP4s now play fine in mplayer but still audio only in MPC.
thed33p
11th April 2005, 01:55
One very last thing - I've taken the liberty of editing your readme. I've marked all changes with *****. If you don't like it, just delete this post. I'll PM you the password.
And now I'm gonna sleep!
North2Polaris
11th April 2005, 03:28
@Doom9,
I have run into fatal errors running automated 2-pass (MeGUI v0.1803). The audio file is created without a problem; the first pass of the video seems to run okay as well. Problems seem to start at job1-3.
The log file is as follows:
Desired size of this automated encoding series: 734003200 bytes
Next job job1-1 is an audio job. besweet commandline:
"besweet.exe" -core( -input "F:\bg3.wav" -output "F:\bg3.mp4" -logfile "besweet.log" ) -bsn( -2ch -cbr 112 ) -ota( -d 0 -g max )
successfully set up audio encoder and callbacks for job job1-1
----------------------------------------------------------------------------------------------------------
Log for job job1-1
besweet: "besweet.exe" -core( -input "F:\bg3.wav" -output "F:\bg3.mp4" -logfile "besweet.log" ) -bsn( -2ch -cbr 112 ) -ota( -d 0 -g max )
BeSweet v1.5b29 by DSPguru.
--------------------------
[00:00:00:000] Initializing...
[00:00:00:000] -- Initializing...
[00:09:26:857] |
SR: 48000, Table idx: 6 - start 12, stop 8
SR: 48000, Table idx: 6 - start 12, stop 8
[00:09:26:859] Finalizing...
[00:09:26:859] Conversion Completed !
Visit DSPguru's Homepage at :
http://DSPguru.doom9.net/
----------------------------------------------------------------------------------------------------------
job job1-1 has been processed. This job is linked to the next job: job1-2
this series of jobs starts with an audio job and is followed by regular twopass video jobs
The audio job is named job1-2 the first pass job1-2 and the second pass job1-3
The second pass job has a desired final output size of 734003200 bytes and video bitrate of 700 kbit/s
The audio file size is 7994667 bytes
calculateVideoBitrate(7994667, 734003200, 13591, System.Windows.Forms.NumericUpDown, Minimum = 0, Maximum = 30, 23.976023976024, )
Setting the desired bitrate of the subsequent video jobs to 10244 kbit/s
Next job job1-2 is a video job. mencoder commandline:
"mencoder.exe" "F:\bg3--default.avs" -ovc x264 -o NUL: -passlogfile "mencoder-2pass.log" -x264encopts pass=1:qp_constant=26:frameref=1:bframes=1:b_adapt:subq=1:nob8x8mv
successfully set up video encoder and callbacks for job job1-2
----------------------------------------------------------------------------------------------------------
Log for job job1-2
File not found: 'frameno.avi'
Failed to open frameno.avi
success: format: 0 data: 0x0 - 0x47
x264 [info]: no need for a SAR
x264 [info]: using cpu capabilities MMX MMXEXT SSE 3DNow!
Writing AVI header...
Writing AVI index...
Fixing AVI header...
Video stream: 386.230 kbit/s (48278 bps) size: 27369183 bytes 566.900 secs 13592 frames
x264 [info]: slice I:96 Avg QP:23.00 Avg size: 13596
x264 [info]: slice P:8445 Avg QP:26.00 Avg size: 2587
x264 [info]: slice B:5051 Avg QP:28.00 Avg size: 835
x264 [info]: slice I Avg I4x4:46.6% I16x16:53.4%
x264 [info]: slice P Avg I4x4:3.0% I16x16:11.1% P:35.3% P8x8:1.4% PSKIP:49.2%
x264 [info]: slice B Avg I4x4:0.4% I16x16:0.4% P:11.0% B:5.5% B8x8:0.0% DIRECT:5.7% BSKIP:77.1%
x264 [info]: kb/s:386.2
----------------------------------------------------------------------------------------------------------
job job1-2 has been processed. This job is linked to the next job: job1-3
Next job job1-3 is a video job. mencoder commandline:
"mencoder.exe" "F:\bg3--default.avs" -ovc x264 -passlogfile "mencoder-2pass.log" -x264encopts pass=2:bitrate=10244:frameref=1:bframes=1:b_adapt:subq=1:nob8x8mv -o "F:\bg3.264" -of rawvideo
successfully set up video encoder and callbacks for job job1-3
----------------------------------------------------------------------------------------------------------
Log for job job1-3
File not found: 'frameno.avi'
Failed to open frameno.avi
success: format: 0 data: 0x0 - 0x47
x264 [info]: no need for a SAR
x264 [error]: Error: 2pass curve failed to converge
x264 [error]: target: 10244.00 kbit/s, got: 2225.09 kbit/s, avg QP: 10.0008
x264 [error]: try reducing target bitrate or reducing qp_min (currently 10)
x264_encoder_open failed.
FATAL: Cannot initialize video driver.
Cannot find codec matching selected -vo and video format 0x32315659.
Exiting...
desired video bitrate of this job: 10244 kbit/s - obtained video bitrate: 0 kbit/s
----------------------------------------------------------------------------------------------------------
job job1-3 has been processed. This job is linked to the next job: job1-4
successfully set up muxer and callbacks for job job1-4
----------------------------------------------------------------------------------------------------------
Log for job job1-4
Audio input defined: F:\bg3.mp4 Checking audio type:
MP4 audio input has the same name as the desired MP4 output file.
MP4 audio size is 7994667 bytes
mp4creator commandline: mp4creator.exe -c "F:\bg3.264" -rate 23.976023976024 -optimize "F:\bg3.mp4"
Launching video muxing process
mp4creator.exe: file F:\bg3.264 is empty
MP4 muxing info:
Size of audio in MP4: 7994667 bytes
Size of raw video stream: 0 bytes
Size of final MP4 file: 8052119 bytes
Size of video in MP4 file: 57452 bytes
Total overhead: 57452 bytes
Overhead per frame: 4.22720918254727 bytes
source information
codec: AVC
number of b-frames: 1number of source frames: 13591
----------------------------------------------------------------------------------------------------------
Suggestions? I am probably missing something simple.
North
JoeBG
11th April 2005, 06:56
Originally posted by thed33p
BTW in you next build, could you maybe make MeGUI auto-save the log file? It's sometimes easy to forget to do it manually
I forgot it, because I was very frustratetd this morning. I startetd a automated 2 pass avc job (raw output) yesterday evening with credits in video only mode. The credit encoding worked fine, the first pass worked fine but the second pass finished after 1 minute with done. Because I was a little disappointed, I closed MeGUI directly and the log is lost.
Doom9
11th April 2005, 09:15
Suggestions? I am probably missing something simple.Your bitrate seems to be way off track. Your target size is 700 MB for a 13000 frames source?
If you look at the log you'll see it's your fault:
x264 [error]: Error: 2pass curve failed to converge
x264 [error]: target: 10244.00 kbit/s, got: 2225.09 kbit/s, avg QP: 10.0008
x264 [error]: try reducing target bitrate or reducing qp_min (currently 10)
x264_encoder_open failed.
FATAL: Cannot initialize video driver.
Cannot find codec matching selected -vo and video format 0x32315659.
x264 realized it cannot reach this bitrate under the min/max quantizer constraint (but it would probably not be able to reach it even if you set the min quant to an even higher number) chokes on this bitrate and fails to initialize, in turn mencoder terminates.
Doom9
11th April 2005, 09:16
Because I was a little disappointed, I closed MeGUI directly and the log is lost.Open again, restart the job that aborted.. most likely that'll tell you more than enough.
Doom9
11th April 2005, 09:19
Requested: 22,937,600
FinalFile: 27,408,032
Raw : 23,858,111
Auto Mode: 22,951,696 (from the previous job)This is the 3rd time I'm trying to point out that the desired size has no influence in video only mode.
The target size in video only mode = bitrate configured * length of the video clip. Using a field in a second marked automatic encoding for non automatic encoding would be very bad design.
North2Polaris
11th April 2005, 15:24
Originally posted by Doom9
Your bitrate seems to be way off track. Your target size is 700 MB for a 13000 frames source?
If you look at the log you'll see it's your fault:
x264 realized it cannot reach this bitrate under the min/max quantizer constraint (but it would probably not be able to reach it even if you set the min quant to an even higher number) chokes on this bitrate and fails to initialize, in turn mencoder terminates.
Thanks. I usually run a short test clip before doing doing a full length encode. Using automated 2pass, I assumed that if the bitrate was set to 700 in the "Video" tab that this would override the "way off track" bitrate in the automatic encoding settings on the "Input" tab.
I ran the test clip again using the automatic encoding settings on the "Input" tab to adjust the bitrate setting to something more manageable and the encoding was successful.
Log for job job1-4
Audio input defined: F:\bg3.mp4 Checking audio type:
MP4 audio input has the same name as the desired MP4 output file.
MP4 audio size is 7994667 bytes
mp4creator commandline: mp4creator.exe -c "F:\bg3.264" -rate 23.976023976024 -optimize "F:\bg3.mp4"
Launching video muxing process
MP4 muxing info:
Size of audio in MP4: 7994667 bytes
Size of raw video stream: 115923827 bytes
Size of final MP4 file: 124136590 bytes
Size of video in MP4 file: 116141923 bytes
Total overhead: 218096 bytes
Overhead per frame: 16.0470899860202 bytes
source information
codec: AVC
number of b-frames: 1number of source frames: 13591
JoeBG
11th April 2005, 17:26
Originally posted by Doom9
Open again, restart the job that aborted.. most likely that'll tell you more than enough.
Okay, here is the log (but tells me nothing. What is frameno.avi?):
Next job job1-3 is a video job. mencoder commandline:
"mencoder.exe" "D:\SPECIES3\SPECIES3-movie.avs" -ovc x264 -passlogfile "mencoder-2pass.log" -x264encopts pass=2:bitrate=1746:frameref=2:bframes=1:deblockalpha=-1 -o "D:\SPECIES3\SPECIES3-movie.264" -of rawvideo
successfully set up video encoder and callbacks for job job1-3
----------------------------------------------------------------------------------------------------------
Log for job job1-3
File not found: 'frameno.avi'
Failed to open frameno.avi
x264 [info]: no need for a SAR
x264 [error]: Error: 2pass curve failed to converge
x264 [error]: target: 1746.00 kbit/s, got: 1613.59 kbit/s, avg QP: 10.0027
x264 [error]: try reducing target bitrate or reducing qp_min (currently 10)
x264_encoder_open failed.
FATAL: Cannot initialize video driver.
Cannot find codec matching selected -vo and video format 0x32315659.
desired video bitrate of this job: 1746 kbit/s - obtained video bitrate: 0 kbit/s
----------------------------------------------------------------------------------------------------------
job job1-3 has been processed. This job is linked to the next job: job1-4
successfully set file merger and callbacks for job job1-4
----------------------------------------------------------------------------------------------------------
Log for job job1-4
Doom9
11th April 2005, 17:58
@JoeBG: your problem is exactly the same as the one from Northpolaris.. look at the log info.. it tells you what has gone wrong:
x264 [error]: Error: 2pass curve failed to converge
x264 [error]: target: 1746.00 kbit/s, got: 1613.59 kbit/s, avg QP: 10.0027
x264 [error]: try reducing target bitrate or reducing qp_min (currently 10)
x264_encoder_open failed.the x264 encoder aborted because it realized it couldn't match your desired bitrate.. there's really nothing I can do about this (well.. I need to add some code in stderr handling to filter out such messages and have it mark the job to error state and stop subsequent jobs from executing.. but that doesn't really help you).
I figure you'd get the same behavior using the x264 commandline encoder or the VfW encoder unless they catch that error somehow and change the min quantizer then try scaling the curve again. This is really something you need to talk to aku about.
JoeBG
11th April 2005, 18:09
Originally posted by Doom9
@JoeBG: your problem is exactly the same as the one from Northpolaris.. look at the log info.. it tells you what has gone wrong:
the x264 encoder aborted because it realized it couldn't match your desired bitrate.. there's really nothing I can do about this (well.. I need to add some code in stderr handling to filter out such messages and have it mark the job to error state and stop subsequent jobs from executing.. but that doesn't really help you).
I figure you'd get the same behavior using the x264 commandline encoder or the VfW encoder unless they catch that error somehow and change the min quantizer then try scaling the curve again. This is really something you need to talk to aku about.
Thanks for your reply. Now I understand the problem. The problem seems to be, that my bitrate is to high for x264 codec?
I started the job again with lavcodec :)
Doom9
11th April 2005, 19:05
the bitrate doesn't have to be too high.. you can try again setting the minimum quantizer to 1 and see where that takes you (as the error message suggests). But if that would really improve quality is another question entirely. It seems that x264 seems to refuse a certain bitrate if it cannot reach it.. in a way that makes sense as it prevents the programmers from getting complaints about undersized files (also see the minimum quantizer discission on XviD.. it was increased to 1 even though it doesn't improve quality.. but it allows you to reach the target size where the more reasonable min_quant 2 would not).
JoeBG
11th April 2005, 20:18
Second pass startet 2 seconds ago. 1.700 is defenitly too high for x264
Doom9
11th April 2005, 20:46
1.700 is defenitly too high for x264Not necessarily.. depends on the minimum quantizer and obviously the source..
dinolib2
12th April 2005, 20:18
Doom9, can you tell me what's wrong here?
MeGUI 1.803. AVC encode. No credits. MP4 input. MP4 output.
First Job log ext.:
"Desired size of this automated series: 15360000 bytes
Encoded audio file is present [...] has size of 1359237 bytes
No audio encoding and no end credits encoding. Calculating desidered video bitrate dirrectly.
Setting video bitrate for the video jobs to 0 kbit/s
[...]"
Argh! Obviously second pass goes in error. I've missed something?
(with audio encode is allright! :))
Thank you.
DIno
Doom9
12th April 2005, 20:31
you're saying, auto mode with pre-existing audio causes problems in the bitrate calculation area, whereas it works if you use AC3 audio input and have that encoded as part of the automated encoding?
dinolib2
12th April 2005, 20:33
yes, it seems so :rolleyes:
North2Polaris
13th April 2005, 04:48
@Doom9,
What would be the indications for changing the MP4 overhead on the Input tab?
North
Doom9
13th April 2005, 09:26
What would be the indications for changing the MP4 overhead on the Input tab?I don't understand the question, could you please elaborate?
@dinolib2: I'll have a look at it (hopefully tonight).
JoeBG
13th April 2005, 10:01
Everything worked fine for 2 whole videos ind video only mode, raw output. The bitrate calculation was very good, same new bitrate like my own calculations with my formula :) Congratulations
North2Polaris
13th April 2005, 13:34
Originally posted by Doom9
I don't understand the question, could you please elaborate?
Sorry, I wasn't clear.
When I open MeGUI, the MP4 overhead "default" is 4.3 bytes/frame. Is this a value that ever needs to be adjusted, and if so, how do I figure out when and how much?
Doom9
13th April 2005, 14:09
oh, that's an assumption.. since people hardly ever post the mp4stats.txt file, I don't know anything but that. You'll notice that the value is increased to 10.4 bytes when you activate b-frames (regardless of the codecs). But at least for x264, a 12 byte overhead seems more appropriate (at least as long as I use mp4creator).
If you use other codecs frequently, have a look at the mp4stats file and check your overhead settings.. maybe you find out a more suitable value (and please send me the stats file). One of the reasons why megui got mp4 output is to empirically determine the mp4 overhead for different codecs and settings.
video
13th April 2005, 17:52
Doom9 something went wrong. Showtime refuses playing the film I've compressed with your latest tool :( V0.18 is the last known good version for me...
Doom9
13th April 2005, 19:02
@video: if you used separate credits, read the last post here: http://forum.doom9.org/showthread.php?s=&threadid=87567&perpage=20&pagenumber=27
And what you're saying doesn't make sense... 0.1800 was broken from the getgo.. merge and mux job outputs were switched, it used an x264 option that mencoder does no longer support and apparently hasn't for quite a while. And then there's the broken bitrate calculation..
video
13th April 2005, 20:06
Originally posted by Doom9
@video: if you used separate credits, read the last post here: http://forum.doom9.org/showthread.php?s=&threadid=87567&perpage=20&pagenumber=27
And what you're saying doesn't make sense... 0.1800 was broken from the getgo.. merge and mux job outputs were switched, it used an x264 option that mencoder does no longer support and apparently hasn't for quite a while. And then there's the broken bitrate calculation..
I never did 'separate credits' I was just replaced the one i've downloaded at end of mach with 0.180 and it worked. yesterday i was upgraded 0.1803 - and showtime no longer plays the mp4s :( Okay, it may not make sense, but not playable as well :cry:
however i calculate bitrate by hand a placing the kbps value on the video config page.
Doom9
13th April 2005, 20:09
there's no change since somewhere in the 0.170x series that would affect you.. I'm quite certain that if you execute the mencoder commandlines in a command window, then mux, you'll have the exact same behavior. Try it. Keep in mind.. I don't do the encoding, I don't do the muxing.. other programs are responsible for that.
And.. there's always other players and filters to be tried ;)
yesterday i was upgraded 0.1803 Uhh.. you were upgraded? How does that work? And.. megui has absolutely nothing to do with playback... you make it sound like extracting an exe file broke mp4 playback on your machine. Did you mean to say that MP4s created with 0.1803 cannot be played whereas MP4s created with 0.1800 can (using the exact same settings.. I expect you to compare job xml files to make 110% sure)
video
13th April 2005, 20:18
Originally posted by Doom9
Did you mean to say that MP4s created with 0.1803 cannot be played whereas MP4s created with 0.1800 can (using the exact same settings.. I expect you to compare job xml files to make 110% sure)
yep. exactly and sadly this is the situation. NVE 3.1.0.0 packaged showtime cannot play outputs of 0.1803. I haven't installed _any_ new directshow filters since one and half weeks... note that i get runtime errors from the clr as well almost every third or fourth use of megui :really sad and desperate cry:
ps: typos edited...
Doom9
13th April 2005, 20:21
so now please.. you have a problem.. if you want me to fix it.. it's up to you. Compare the settings. If they don't match.. make them match (try the 0.1803 settings in 0.1800), mux the raw video stream from 0.1803 to mp4 using mp4creator manually. Try another player.. Having done that all, then it's the time to come to me and saying "hey.. something seems to be off.. here's what I did and I just couldn't figure it out"
North2Polaris
13th April 2005, 22:00
Originally posted by Doom9
oh, that's an assumption.. since people hardly ever post the mp4stats.txt file, I don't know anything but that. You'll notice that the value is increased to 10.4 bytes when you activate b-frames (regardless of the codecs). But at least for x264, a 12 byte overhead seems more appropriate (at least as long as I use mp4creator).
In an earlier post, I noted that I encoded a test clip of about 10,000 frames and the overhead per frame was 16.0470899860202 bytes (I used 1 b-frame).
If I adjust the MP4 overhead to 16 bytes per frame on the Input tab when I do the full length encode, will that yield a more accurate size estimate? My last 1 CD encode was 699 MB, which is cutting it a bit close.
Doom9
13th April 2005, 22:32
I consider the 16 byte an anomaly.. pretty much everything I've seen points to 12 bytes/frame for x264 with b-frames.
Doom9
14th April 2005, 10:39
note that i get runtime errors from the clr as well almost every third or fourth use of megui :really sad and desperate cry:Once again a very enlightening "bug report". I'm thrilled how people just dump their "doesn't work" on me expecting to fix something. Any fix starts with figuring out what the problem exactly is (error messages anyone?), followed by learning the steps how to reproduce the problem.
Without that, there's no chance I'll ever be able to do anything.. there is several hundred KBs worth of source code.. where the heck am I supposed to look?
Taurus
14th April 2005, 10:54
Originally posted by video
yep. exactly and sadly this is the situation. NVE 3.1.0.0 packaged showtime cannot play outputs of 0.1803. I haven't installed _any_ new directshow filters since one and half weeks... note that i get runtime errors from the clr as well almost every third or fourth use of megui :really sad and desperate cry:
ps: typos edited...
Well, as Doom9 mentioned, this is not a bug report.
Just my 2 cents: Stuff encoded with MeGui 0.1803 plays like a breeze
with Nero Showtime and any other player using either the Nero dll's
or ffdshow on my side.
So their is obviously something burked on your side.
Cheers
Taurus
video
14th April 2005, 15:21
mea maxima culpa 'twas a virus affection of some of my .net framework dlls
JoeBG
14th April 2005, 16:15
Originally posted by video
yep. exactly and sadly this is the situation. NVE 3.1.0.0 packaged showtime cannot play outputs of 0.1803.
Same with me. But this is not a problem of MeGUI, itīs a problem of the filters together with your PC that cannot handle bframe pyramids. When I use mplayer (together with the great "MPUI") I donīt have any problems.
video
14th April 2005, 20:06
Originally posted by JoeBG
Same with me. But this is not a problem of MeGUI, itīs a problem of the filters together with your PC that cannot handle bframe pyramids. When I use mplayer (together with the great "MPUI") I donīt have any problems.
no. the current situation of me is the spotted clr affect it can be seen as binary garbage outputted into MEGUI's job xml's. nod32 found some of my .net dll's spotted. issuing megui's commands by hand i ended up with a working mp4.
Doom9
14th April 2005, 22:23
no. the current situation of me is the spotted clr affect it can be seen as binary garbage outputted into MEGUI's job xml's. nod32 found some of my .net dll's spotted. issuing megui's commands by hand i ended up with a working mp4.Yet you first tried to put the blame somplace else. That is the absolute wrong approach. It should be a standard, especially for free software, that you first rule out errors on your side, then ask for help. You are making a fool out of yourself posting issues that are your own fault. Eventually people no longer take you seriously if you post bogus issues.
video
15th April 2005, 14:15
offtopic.
i am terribly sorry, i think i did some excuses about the situation. my post not meant any blame on you, if you read that as a blame, then sorry again. i didn't meant attacking you, if you felt that, possibly it'was about my serious fault. since english is not my mother tongoue, it's rather possible that some were misunderstanadble what i'we written. okay call me foolish idiot, lammer or whatever. windows is a highly complicated system. you can get spotted, live a week happily until you figure out the problem. i am terribly sorry that is not my default habbit, to do heavy search on viruses after each program error,functional discerpancy.
however feel free reading this. (http://forum.doom9.org/showthread.php?s=&threadid=87567&perpage=20&pagenumber=29#post639468) Now the ball is at your side...
Doom9
15th April 2005, 14:42
But this is not a problem of MeGUI, itīs a problem of the filters together with your PC that cannot handle bframe pyramids.There's nothing to be done about this.. if you activate pyramid b-frames and don't have the proper playback filters.. that's a user error.. not a software error.
I don't care much about excuses.. what I do care about is that you, and everybody else only posts problems if you have done a reasonable amount of investigating on your part. It's like when your parents told you to not scream for help unless you need it.. otherwise, people eventually start paying attention and the moment you really need help, nobody is even listening.
video
15th April 2005, 16:24
Originally posted by Doom9
There's nothing to be done about this.. if you activate pyramid b-frames and don't have the proper playback filters.. that's a user error.. not a software error.
I don't care much about excuses.. what I do care about is that you, and everybody else only posts problems if you have done a reasonable amount of investigating on your part. It's like when your parents told you to not scream for help unless you need it.. otherwise, people eventually start paying attention and the moment you really need help, nobody is even listening.
might be good if you spend some time specifying the exact rules you expect from a bug reports.
about excues you have been pm-ed. i am sorry that i am a so stupid user of your software. i am stupid that is a fact. tehere are some of us using your software heavily and i am sorry that i am not capable giving you feedback as you expect.
bottom line: NVE 3.1.0.0 having no problem playing back movies whit pyramiding b frames at my side.
Doom9
18th April 2005, 19:13
here is v0.1804
changed: updated readme file
bugfix: bitrate recalculation in auto mode with a pre-existing mp4 audio and no credits is now done properly.
Doom9
18th April 2005, 19:27
hmm.. is it just me or have the zones in xvid been eliminated (not in xvid of course, but in mencoder)? just when I wanted to start using them (way more elegant than encoding credits separately) I can't find them anymore :(
akupenguin
18th April 2005, 19:56
MEncoder never supported zones in xvid, only in lavc.
Doom9
18th April 2005, 20:55
damn :( gotta go ahead and request that.
Yong
18th April 2005, 21:18
@Doom9:
IIRC the x264 encoding option "Initial CABAC IDC" has been removed in newer version of mencoder.
Tested in MEncoder dev-CVS-050418 version and x264 r209. :)
Doom9
19th April 2005, 21:44
here is version 0.1805
new: x264 scene change threshold
new: x264 b-frame bias
new: x264 b-frame direct mode
new: xvid chroma optimizer
new: xvid hq AC coefficients
new: xvid b-frame threshold
new: snow 2 pass encoding
changed: removed x264 initial cabac idc
this build is completely untested so I expect to see some bug reports ;) but on the other hand, all I changed is the commandline generation
credits support for snow is coming when I change the lavc credits to libavcodec's bitrate override rather than encode credits separately.
Doom9
19th April 2005, 21:53
MEncoder never supported zones in xvid, only in lavc.
Hmm.. and what is that: http://www1.mplayerhq.hu/pipermail/mplayer-dev-eng/2003-January/015503.html
looks like xvid credits were once supported. Does anyone know what happened there?
akupenguin
19th April 2005, 21:57
That's the xvid 0.9 api, which didn't have the current notion of zones, only the specialized begin/end credits. So it looks like that never got ported when the api changed.
Doom9
20th April 2005, 21:30
here is v0.1806
new: end credits support for snow
new: end credits in lavc/snow mode is now also possible even with AVI output
changed: end credits for lavc no longer uses a separate file
thed33p
24th April 2005, 01:08
I've encoded 3 full movies with v0.1806 and have 0 bug reports :D
Overhead values are the same and sep credits work 100%. Now I better get hy hands dirty with snow!
thanx Doom9
Doom9
24th April 2005, 11:16
finally some feedback.. I was beginning to get worried. Too bad I have some other engagement tonight, or I'd have a fine new release with a lot of new features for you.
Doom9
25th April 2005, 00:14
here is version 0.1810
new: mp4 muxing is now based on mp4box. That means all choppyness issues when using multiple b-frames should be gone. It also requires that you get the latest mp4box rather than mp4creator
new: supports for a second audio track (the current mp4box release aborts when muxing two audio tracks, keep watching the bugreport : http://sourceforge.net/tracker/index.php?func=detail&aid=1188550&group_id=84101&atid=571738 , once it's fixed, a new mp4box release should allow you to actually use two audio tracks)
new: support for up to 5 subtitle streams (.srt or .sub)
new: support for nero-style chapters (supported formats listed here: http://forum.doom9.org/showthread.php?s=&threadid=92563&perpage=20&pagenumber=2, I use the Ogg format)
new: support for mp4 splitting at a desired size
new: audio bitrate approximation in vbr mode
new: auto mode now works without audio
new: configured audio stream can be removed again (important for audio mode where all configured audio streams will be used for encoding/muxing)
new: pressing stop in the queue tab stops job processing when the next job is due, regardless whether the next job is a chained job (the name being jobX-y) or not (the name being jobX).
removed: bitrate recalculation in video only mode with credits. This can now be done using auto mode (simply configure credits and start an auto mode job without configuring audio.. and as an additional bonus you can set a desired target size)
removed: audio input for muxing in the mp4 settings
bugfix: mp4 overhead is reset when switching in between codecs
the muxer feature is now somewhat hidden so here are a few pointers:
you can use megui to mux raw mpeg-4 video, raw AAC audio, AAC audio inside MP4, srt/sub subtitles and chapters to an mp4, and split at a desired size (if it's needed I could even support avi video input). You can configure this feature as follows:
split size: split size in the auto mode configuration in the input tab.
audio streams: audio input in the input2 tab (you can use both.. keep in mind that only audio input is supported.. the muxer only handles aac/mp4 input.. ac3/mp2/mp3/pcm input is not supported)
subtitle streams: subtitle input in the input2 tab (you can use all 5 streams)
chapters: chapter file in the input 2 tab
video input: video input in the mux section of the settings tab
output mp4 file: output in the mux section of the settings tab
In addition, you need to configure the video framerate in the mux section of the settings tab (if you try without you'll get an error message). Press the Mux button in the settings tab to get started.
As you may have noted, there's some room left in the input2 tab.. so if mp4box should ever permit to set a language for the different streams, I'll add that. Same goes for AR settings in the MP4 file.
I forgot to update the readme file but there are two items on the todo list:
1) status updates during mux (mp4box seems to "run" away some time and while not reading its stdout can block it sometimes, sometimes it continues to just run)
2) save custom audio commandlines when switching between the two audio tracks
I'm also wondering where I should go next.. I see two directions:
fully support the AVI container (within its limits of course, no DTS or AAC into AVI will be supported.. at best (VBR)MP3 and AC3), or go more towards full automatism (with a d2v import and window to crop and preview being the first step, then followed by automated d2v generation).
JoeBG
25th April 2005, 15:08
wow !!!
My Bugreport:
No bugs since 5 full movies. ;)
Doom9
25th April 2005, 15:36
No bugs since 5 full movies.Is that using 0.1810 or a previous release? I'm looking forward to people trying the mp4muxer code, and the new snow/lavc facilities (I have a feeling that vrc_override messes things up in lavc, I'm getting some weird bitrates)
Doom9
25th April 2005, 18:56
here is v0.1811
new: custom commandlines can be preserved when switching between the two audio tracks (subject to reconfirmation each time you switch from a track with custom commandline).
JoeBG
25th April 2005, 19:48
Originally posted by Doom9
Is that using 0.1810 or a previous release?
Previous releases.
Originally posted by Doom9
or go more towards full automatism (with a d2v import and window to crop and preview being the first step, then followed by automated d2v generation).
I would prefer this direction to go :) Hopefully with the possibility to edit the Avisynthskript. :)
neuron2
25th April 2005, 21:45
MP4 noob here...
I tried to use the latest version to encode RAW 264 from a D2V of 1080i content. Here is my log:
----------------------------------------------------------------------------------------------------------
Next job job1 is a video job. mencoder commandline:
"mencoder.exe" "C:\Don\Transfer\corvette.avs" -ovc x264 -x264encopts bitrate=700:nodeblock:scenecut=100 -o "C:\Don\Transfer\corvette.264" -of rawvideo
successfully set up video encoder and callbacks for job job1
----------------------------------------------------------------------------------------------------------
Log for job job1
File not found: 'frameno.avi'
Failed to open frameno.avi
============ Sorry, this file format is not recognized/supported =============
=== If this file is an AVI, ASF or MPEG stream, please contact the author! ===
Cannot open demuxer.
Exception in compileFinalStats. Message: Could not find file "C:\Don\Transfer\corvette.264". stacktrace: at System.IO.__Error.WinIOError(Int32 errorCode, String str)
at System.IO.FileInfo.get_Length()
at MeGUI.VideoEncoder.compileFinalStats()
----------------------------------------------------------------------------------------------------------
What's the problem?
Also, how do I select interlaced encoding?
Thank you.
thed33p
25th April 2005, 21:57
That's quite an addition!! :D
Getting busy with 0.1811 as we speak...
with a d2v import and window to crop and preview being the first step
That was gonna be my next feature request - I just tried to feed MeGUI an AVS file that includes "crop(clip, 0, 76, 0, -76)" and something somewhere choked...
Haven't checked it out properly yet...
thanx for the new release!
Doom9
25th April 2005, 22:36
What's the problem?It seems to me as if mencoder has problem with your AviSynth input
File not found: 'frameno.avi'
Failed to open frameno.aviis standard behavior for mencoder, but
============ Sorry, this file format is not recognized/supported =============
=== If this file is an AVI, ASF or MPEG stream, please contact the author! ===
Cannot open demuxer.isn't.. and that's at the point where it should recognize the avs script.
The crash later on is normal (well.. obviously I should exit more gracefully there.. catch the IOException and go on with the statistics generation). Is there anything special about the AviSynth script, like a non YV12 colorspace?
Also, x264 currently has no interlaced mode (and as far as the lavc/xvid codecs go I did not expose those options.. nobody asked for them so far)
AVS file that includes "crop(clip, 0, 76, 0, -76)" negative values for crop? I don't know if that's even allowable, but conceptionally it doesn't make a lot of sense to use a command called crop to expand a frame. And the first step is always to check your sources.. I expect this script to expose some problems when you play it in a media player (speaking of which.. opening the script acts like a media player since it's being opened.. what do you get in the preview window?)
thed33p
25th April 2005, 22:45
@Doom9
No, I checked it out 1st - from the manual page:
In AviSynth v2.01 and later, the alternative syntax using negative (or zero) values is possible. In this case, the last two parameters are also treated as offsets, VirtualDub-style. For example:
# Crops 16 pixels all the way around the picture, regardless of image size:
Crop(16, 16, -16, -16)
the AVS alo plays 100% in MPC 6_4_09_1130 sans black borders
video
25th April 2005, 22:50
Originally posted by Doom9
negative values for crop? I don't know if that's even allowable, but conceptionally it doesn't make a lot of sense to use a command called crop to expand a frame.
According to the manual it's correct:
+------------------------------------------+
| ^ |
| b |
| v |
| +----------------------------+ |
| | | |
| | | |
|<- a ->| |<-c->|
| | | |
| | | |
| | | |
| | | |
| | | |
| +----------------------------+ |
| ^ d |
| v |
+------------------------------------------+
crop(a,b,-c,-d)
neuron2
25th April 2005, 22:59
Originally posted by Doom9
Is there anything special about the AviSynth script, like a non YV12 colorspace? loadplugin("dgdecode.dll")
mpeg2source("corvette.d2v")
It plays fine in VirtualDub. Could it be that this tool does not support HD resolutions?
EDIT: I threw in a resize to SD and it fails the same way.
EDIT2: BTW, the video preview plays OK after I load the AVS in MeGUI.
video
25th April 2005, 23:07
Originally posted by neuron2
loadplugin("dgdecode.dll")
mpeg2source("corvette.d2v")
It plays fine in VirtualDub. Could it be that this tool does not support HD resolutions?
EDIT: I threw in a resize to SD and it fails the same way.
EDIT2: BTW, the video preview plays OK after I load the AVS in MeGUI.
ConvertToYV12()
might help. megui is a job control application. if there are problem that's mencoder's.
mencoder has it's own avs reader... so a working preview don't tell so much.
thed33p
25th April 2005, 23:13
Originally posted by neuron2
loadplugin("dgdecode.dll")
You don't have to actually load the plugin ever since v2.06 (I think) = you can just copy it into your plugins folder.
P.S. >GREAT PLUGIN<:D :D
neuron2
25th April 2005, 23:13
Originally posted by video
ConvertToYV12() might help. Nope. DGDecode delivers YV12.
megui is a job control application. if there are problem that's mencoder's.
mencoder has it's own avs reader... so a working preview don't tell so much. Well, it tells me my AVS is fine, right?
I don't care where the problem is. I'm just wondering if anyone can point out some mistake I am making. I'm not doing anything exotic. Have you tried serving from DGDecode successfully to raw 264? If so, how?
neuron2
25th April 2005, 23:20
Originally posted by thed33p
all the time: mpeg2source("abc.d2v") - works like a charm. Lucky you.
But it shouldn't be a matter of luck.
thed33p
25th April 2005, 23:21
Have you tried serving from DGDecode successfully to raw 264? If so, how?
mpeg2source("abc.d2v")
fed to MeGUI requesting RAW out works here.
Never tried with 1080p content though
Edit: sorry - I type 2 slow...
will try to upload a small file to your server quick...
video
25th April 2005, 23:30
Originally posted by neuron2
I don't care where the problem is. I'm just wondering if anyone can point out some mistake I am making. I'm not doing anything exotic.
neuron2 Doom9 wil be anxious.... i warned you ;)
a) try to put dgdecode.dll into the plugin dir, and not loadplugin it
b) might be, that mencoder is linked against a different version of avisynth.dll. try using stable avisynth, not beta
c) have you got xpsp2 ?
actually you didn't made any mistake. mencoder just cannot read your avs - however it should
thed33p
25th April 2005, 23:52
150 frame RAW x264 (straight out of MeGUI) uploaded...
neuron2
26th April 2005, 00:19
Originally posted by thed33p
150 frame RAW x264 (straight out of MeGUI) uploaded... Thanks, but I don't see how it helps me.
If mencoder is not reading my AVS, perhaps you could tell me what version of mencoder you used?
celtic_druid
26th April 2005, 01:56
Try: http://www.aziendeassociate.it/cd.asp?dir=/mplayer
Although I will put some new binaries up tonight when I get home with x264 R118 or whatever it is upto by then.
Not sure that I ever tested AVS input with the 19.04 build, however I can't think of any reason why it shouldn't work.
Yong
26th April 2005, 07:39
My computer seem doesn't like MeGUI:D
,don't know why,
when i load a *simple* avisynth script,
it crashed(silently)...:p
eg:
directshowsource("F:\NWMOV01.MPG").converttoyv12().BicubicResize(640,480)
(source is 320x240@24fps)
ok never mind,
i deleted the ".BicubicResize(640,480)", it *work*:)
but the preview is wierd,
it start from center,
playback even wierd....
After close the video preview windiw, it crashed(silently) agian...:rolleyes:
Avisynth version: 2.5.6 beta2
mpeg1 decoder: quartz.dll
Windows XP SP1
thed33p
26th April 2005, 08:30
@neuron2
I uploaded it so as to confirm that it does work...
I'm using CD build 20050405... just saw the 19 build now - will try with that tonight
video
26th April 2005, 10:35
guys try using, 2.5.1 or similar, stable avisynth not betas. mencoder is a ported unix application, avs reading is hacked in for the windows builds so try using less exotic avs script.
dunno, but ...resize() outputs a non yv12 image, afaik
celtic_druid
26th April 2005, 14:12
I tested (really briefly) with a current cvs build of AVISynth and it seemed to work fine.
Doom9
26th April 2005, 14:13
http://www.aziendeassociate.it/cd//mplayer/mplayer2005.04.26.Athlon-64.7z works fine for me.
@neuron2: your script looks fine, and you've confirmed it is fine (preview and such). So the problem lies with mencoder.. mencoder doesn't seem the like the AviSynth script. The Avisynth reader has worked fine for regular DVD backups as far as I can tell, I'm not sure if anybody has ever tried feeding it with a different avisynth script.
One interesting experiment would be to use avs2yuv to decode the avisynth script to stdout (use - instead of an output name), and read the stdout from avs2yuv from mencoder (replace the input filename with -).. if that works, we know the problem lies in the avisynth reading module of mencoder. And that actually goes for all AviSynth scripts that can are opened properly in MeGUI but that you cannot encode.
Also note that I'm using the AviFile API to open the AviSynth script, rather than DirectShow that media players use.. so if preview is off (it starts at the middle of the movie.. that's normal and wanted because most movies start with black frames and that could be confusing as you don't know for sure if the script is working properly), try opening the script in VirtualDub.. that way you avoid DirectShow.
playback even wierd....What is weird? Slower/faster than it should? that's normal. Keep in mind.. it's AviFile not DirectShow.. that means I have to pull frames on my own and display them at the right time.. and I'm doing that in the most simple way.. divide 1000 ms by the fps, display one frame for that amount of time, load the next one, display it, sleep again, etc. AVIFile is so much simpler to handle and for the task at hand, it serves its purpose.. plus I see advantages with a cropping window since I actually get bitmaps and there's no overlay.
and directshowsource in a script? hmm.. I have made some really bas experiences with directshowsource.. crashes all around in otherwise perfectly stable apps. Can't you decode that mpg file using dgdecode? I trust it a lot more to behave itself.
video
26th April 2005, 15:58
Originally posted by Doom9
your script looks fine, and you've confirmed it is fine (preview and such). So the problem lies with mencoder.. mencoder doesn't seem the like the AviSynth script. The Avisynth reader has worked fine for regular DVD backups as far as I can tell, I'm not sure if anybody has ever tried feeding it with a different avisynth script.
my mencoder works fine with avisynth 2.5.5 w. even using directshowsource and tomsmocomp. i may ftp upitto Donald in need.
neuron2
26th April 2005, 16:30
There are different processor versions of mencoder. I should triple check what is in my laptop. :)
JoeBG
26th April 2005, 18:40
Originally posted by Doom9
or go more towards full automatism (with a d2v import and window to crop and preview being the first step, then followed by automated d2v generation).
I would suggest, that you should go towards integrating processes. Not for me, but for thousands users which use tools like DVD2DVD-R which are perfect solutions for DVD Encoding for mpeg2.
The first real good "coming out" of mezzanines one-click-tool was downloaded directly on "movie2digital.de" with ecstasy.
There is just one request for me: please let me edit the avisynth file, I donīt want to loose the power of avisynth.
Doom9
26th April 2005, 18:49
please let me edit the avisynth file, I donīt want to loose the power of avisynth.You can edit commandlines.. so it's kinda obvious what you can do with an AviSynth file ;) But that also means it'll never be as "one clicky" as AutoAC.. MeGUI was designed for flexibility (even though that increases my workload a lot.. each time I make a change I have to test 10 different use scenarios to make sure everything still works.. and changes in the atuomated part of things almost always have some influence on the manual parts as well).
neuron2
27th April 2005, 00:18
Just to close out my issue...
Well, I *thought* I had the latest stable Avisynth installed. :)
Turns out it *was* an old beta. Shame on me. I upgraded and all is well.
I do have another question, if you would indulge me: I believe mencoder's encoding core is actually just x264. Will I gain anything over x264 CLI by using MeGUI/mencoder?
Thank you for your assistance.
virus
27th April 2005, 00:36
Originally posted by neuron2
Will I gain anything over x264 CLI by using MeGUI/mencoder?
Well, both x264cli and mencoder give you access to the same encoding options so nothing really changes (while x264vfw doesn't allow to use all features, just the main ones).
Currently x264cli offers direct AVS->MP4 encoding, while I don't know whether mencoder can directly output MP4 (but I think there was some work going on for that). What I know is that mencoder's AVS support is somewhat buggy - you probably remember the YV12/I420 issue... you even changed DGDecode's default output colorspace because of that. It doesn't interface with Avisynth 100% correctly (unless it has been fixed since then).
Of course, mencoder supports many other encoding formats and has a lot of built-in filters, but if you use Avisynth's filters the latter point is probably not important for you. And of course MeGUI allows you to run an audio encoding job too, but that really has nothing to do with x264 itself.
neuron2
27th April 2005, 02:18
Originally posted by virus
What I know is that mencoder's AVS support is somewhat buggy - you probably remember the YV12/I420 issue... you even changed DGDecode's default output colorspace because of that. So that's why I did it. Thanks for letting me know. :)
And thanks for the useful response. It looks like the x264 CLI is fine for test stream generation. Our silicon is broken for B frames right now, which is why I disabled them. I am getting some blockiness and contouring in flat areas and in some scene changes, even at 25Mbps. Can you think of anything I can do to mitigate that, or is it just to be tolerated without B frames at HD size? Maybe more aggressive I frame insertion at scene changes?
IgorC
27th April 2005, 03:56
What is LAVC? Libavcodec mpeg4 asp? Which are the best settings for it?
dinolib2
27th April 2005, 07:38
Hi Doom9,
can you help me with this error?
MeGUI 1811
Mencoder 2005.04.05
AVC, audio encoding, credits
Auto encode
Here is the log:
Desired size of this automated encoding series: 10240000 bytes
Next job job1-1 is an audio job. besweet commandline:
"C:\Downloads\Software\MP4\megui\BeSweet.exe" -core( -input "C:\Downloads\Software\MP4\TestChallenge\HPII2 AC3 T03 2_0ch 192Kbps DELAY 0ms.ac3" -output "C:\Downloads\Software\MP4\TestChallenge\HPII-au2.mp4" -logfile "besweet.log" ) -azid( -s dpl -c normal -L -3db ) -bsn( -2ch -vbr_normal -codecquality_high -aacprofile_he ) -ota( -d 0 -g max )
successfully set up audio encoder and callbacks for job job1-1
-------------------------------------------------------------------------------
(... audio encode log ...)
[00:02:08:512] Conversion Completed !
Visit DSPguru's Homepage at :
http://DSPguru.doom9.net/
------------------------------------------------------------------------------------
job job1-1 has been processed. This job is linked to the next job: job1-2
Next job job1-2 is a video job. mencoder commandline:
"C:\Downloads\Software\MP4\megui\mencoder.exe" "C:\Downloads\Software\MP4\TestChallenge\HPII-credits.avs" -ovc x264 -x264encopts qp_constant=40:frameref=5:bframes=2:b_adapt:b_pyramid:weight_b:4x4mv:scenecut=100 -o "C:\Downloads\Software\MP4\TestChallenge\test-credits.264" -of rawvideo
successfully set up video encoder and callbacks for job job1-2
------------------------------------------------------------------------------------
Log for job job1-2
File not found: 'frameno.avi'
Failed to open frameno.avi
x264 [info]: no need for a SAR
x264 [info]: using cpu capabilities MMX MMXEXT SSE SSE2
x264 [info]: slice I:67 Avg QP:37.00 Avg size: 3332
x264 [info]: slice P:1634 Avg QP:40.00 Avg size: 710
x264 [info]: slice B:1376 Avg QP:41.70 Avg size: 134
x264 [info]: slice I Avg I4x4:16.0% I16x16:84.0%
x264 [info]: slice P Avg I4x4:0.7% I16x16:16.6% P:15.8% P8x8:0.1% PSKIP:66.8%
x264 [info]: slice B Avg I4x4:0.0% I16x16:0.7% P:4.1% B:0.2% B8x8:0.1% DIRECT:0.5% BSKIP:94.4%
x264 [info]: kb/s:101.9
This is a CQ job so there's no desired bitrate. Obtained video bitrate: 0 kbit/s
-----------------------------------------------------------------------------------------------
Thank you!
bye
Dino
ps: when something goes wrong with mencoder (like in this case), MeGUI is unable to resume to initial status. Abort doesn't work, while trying to close the program, I get a runtime error (I think you try to kill the process, but you don't find it).
Doom9
27th April 2005, 09:19
What is LAVC? Libavcodec mpeg4 asp?Yup. Don't ask me for settings though, I don't have a lot of experience with that codec (I always use it with almost-default settings for tests though as it's pretty fast).
@dinolib2: where is the problem exactly? the obtained bitrate indication? perhaps that's a bug but is there any actual problem? the x264 output indicates you get a bitrate of 101kbit/s, which is low, but then again you're encoding ag Q40. Also please be more specific as to the second problem description. I need a step by step "manual" how to reproduce the problem.. else I'm just poking around blindfolded and that's a waste of time.
dinolib2
27th April 2005, 20:03
OK, doom9, I'm very sorry, I've done a big mistake :o
AVISyinth script had a "Return(Source)" line, so trim didn't work and credits encoded was bigger than requested movie size.
Now I've corrected AVISynth script and everithing is OK.
Thank you.
dinolib2
28th April 2005, 21:03
OK Doom9 I'm back...
I've fixed AVISynth script, but the bug is still there.
Auto Encode AVC, Audio Encode (AC3->AAC) and Credits.
The log is the same I've already posted: after audio encode and credits, I get an error from MeGUI. It seems that MeGUI found a problem when it recalculate bitrate for the movie encode. Can you take a look or you need more details? Thanks.
Another thing: I'm no more able to save audio profile :( Have you changed something?
And the last one: snow support two pass encoding? If yes, why I get an error (invalid index accessing to array, if I remember well) trying auto encode or auto two-pass encode?
Thanks a lot.
bye, Dino
Doom9
28th April 2005, 23:37
Can you take a look or you need more details? Thanks.I need everything you can give me.. you cannot give enough data basically.. I'll rather discard whatever data I don't need than having to poke around blindly and ask for more. So give me all you got, and them some. And of course, reproducability with other sources is king.. first thing you want to do with any bug report is to rule out your source as the reason.. then you want to rule out your settings (meaning try different settings... xvid has separate credits encoding as well.. just as an example ;)
if I remember wellFor a bug report that doesn't even get close to being admitted. As I said above.. not detail is too small.
I don't know if it's the approach drilled into me during 5 years at college.. but I cannot phantom making a bugreport that I believe contains everything and them some and where I can be reasonably sure that I've ruled out errors on my part (that usually means spending a lot of time.. but I think it's common decency because if the situation was reversed.. I'd appreciate the additional effort just as much). I hope I'm not coming off as rude.. but think of it as you being at work, and you have an idea of what you're doing.. before you allow somebody to take your time, you want to make sure they are on the level, would you not? especially if it's unpaid work..
dinolib2
29th April 2005, 00:38
You're right when you ask more precision... btw lately I haven't a lot of time to test and I use two different computers: one to encode, and another to post problems (different places, different time :( ).
Coming back to MeGUI 0.1811:
- the "0kbit/s" problem happend with XviD encode too.
How to reproduce: with MeGUI 1811 encode (source from VOB->d2v->avs) with "Auto Mode", credits and audio encode (AC3->AAC) and... voilā! :)
I asked you if you want more details because I could forget something. But I think this is enought to reproduce the fault.
- Two pass Snow encode: very easy two reproduce... just try it!
Set SNOW codec (and AVI output), go to video section, choose "Automated 2pass", click "Queue" ("and Start" flag doesn't matter) and you'll get the error: "Object reference not set to an instance of an object"...". While submitting "1st pass" and "2nd pass" manually and then starting the encode, mencoder reply: "Option lavcopts: Unknown suboption bitrate".
- audio profile persistence: I write a different name, then click "New" button but re-opening MeGUI (or clicking drop-down list) profile disappear.
thank you
thed33p
29th April 2005, 02:04
I can confirm
I've been focussing on getting AVS scripts with crop to encode fine and they always crashed - should've started @ square 1......
AFAICT it only happens when you specify sepcreds
I've tried CD mencoders 20050405 and 20050426.
Job terminates irrespective of container
pasting the commandline into a CMD window yields:
x264 [error]: ratecontrol_init: can't open stats file
x264_encoder_open failed.
FATAL: Cannot initialize video driver.
VDecoder init failed :(
Cannot find codec matching selected -vo and video format 0x32315659
I've even given the video logfile a path....
googling for "ratecontrol_init: can't open stats file" lists one x264-dev site in french.
funny thing is that the commandline won't even encode a movie without sepcreds but this works from MeGUI??
OK, I'm asleep now zzzZZZzzz
Doom9
29th April 2005, 09:12
"Option lavcopts: Unknown suboption bitrate". That is a strong indicator that your mencoder bild does not support 2pass snow encoding.. it was only added recently and I'm not even sure it's in any of CD's builds.
It's good thinking trying the commandline from a commandprompt. The next step would be to check the mencoder manpage to see if anything is wrong there (I think the option to look at is vbitrate). If it isn't, it must be your mencoder build does not contain the new libavcodec ratecontrol.
celtic_druid
29th April 2005, 10:20
More likely it should be vbitrate and not bitrate I would have thought.
I am pretty sure that snow 2 pass came before my last compile.
Doom9
29th April 2005, 10:43
More likely it should be vbitrate and not bitrate I would have thought.You hit the nail on its head.. for some reason I forgot the v in vbitrate so all the commandlines are wrong :( You gotta use the commandline override (means no automated twopass), or exit prior to encoding and adjust the commandline in the jobs files then start encoding to get snow twopass to work until I have fixed that.
celtic_druid
29th April 2005, 10:53
While you are at it; both passes have vpass=1.
thed33p
29th April 2005, 11:30
The manpage (http://www.mplayerhq.hu/DOCS/man/en/mplayer.1.html) has the following to say about vbitrate:
vbitrate=<value>
Specify bitrate (pass 1/2) (default: 800).
WARNING: 1kBit = 1000 Bits
4-16000
(in kbit)
16001-24000000
(in bit)
however I'm unable to find the -vbitrate option in my commandline.
Regarding the mencoder build - maybe CD can confirm whether ratecontrol is in the 20050426 build? Or could you please tell me how to confirm that it is / isn't? (Can't check right now - don't have the correct PC with me....)
Edit: Oops - please disregard this post
bond
30th April 2005, 12:10
one thing about mp4box's avc muxing: mp4box is smart enough to set the NAL header length to 2bytes (instead of the 4bytes normally used) to save at least two bytes per frame, so you will get a lower overhead than with mp4creator!
btw the stuttering issues with b-frames with avc have been fixed already in latest mp4creator. just in case someone uses an old version of megui for some reason
Originally posted by virus
I don't know whether mencoder can directly output MP4 (but I think there was some work going on for that). first of all mencoder by itself doesnt support .mp4 output
than you have the mp4 muxing support via libavformat, but libav itself doesnt support avc into mp4 muxing at all (!) and also doesnt mux mpeg-4 part2 really correctly into .mp4
so this option in mencoder is pretty useless atm
Doom9
30th April 2005, 12:48
so this option in mencoder is pretty useless atmbut I plan on using it eventually, at least for asp output (I'm considering x264.exe for x264).. does x264.exe write to AVI as well?
bond
30th April 2005, 12:52
Originally posted by Doom9
but I plan on using it eventually, at least for asp output (I'm considering x264.exe for x264).. does x264.exe write to AVI as well? for the current issues with asp muxing with mp4 have a look here:
http://sourceforge.net/tracker/index.php?func=detail&aid=999556&group_id=16082&atid=116082
the points missing stss, ctts atom and decSpecificInfo are very serious imho
libavformat's mp4 muxing is so buggy, i wouldnt even think about using it ;)
Doom9
30th April 2005, 13:31
libavformat's mp4 muxing is so buggy, i wouldnt even think about using itwhy said anything about using it right now? when it creates proper mp4 output of course.. just as I was thinking about mp4 output before there was any tool that was able to mux avc streams reliably.
But in the end I think it will be great to have direct mp4 output in all cases, and no separate files for end credits treatment as well (x264 is forthcoming, and I've asked the mencoder devs to expose xvid zones).
virus
30th April 2005, 18:45
Originally posted by neuron2
I am getting some blockiness and contouring in flat areas and in some scene changes, even at 25Mbps. Can you think of anything I can do to mitigate that, or is it just to be tolerated without B frames at HD size? Maybe more aggressive I frame insertion at scene changes?
well, the current algorithm should detect scenechanges pretty well. Do you have some examples where x264 blatantly "misses" a scenechange?
(btw the option --scenecut allows to tune that decision - though I'm not sure how it works currently... the frametype decision algo has been tweaked many times since the last time I've tried it :))
Anyway, a good idea is to use ffdshow's OSD to check the type/quantizer of the problematic frame. It's not common to see evident artifacts at low QP (say, 20 or below). But you can try increasing the deblocking strength a bit ("-f 1:1" or "-f 2:2") and see what happens. Probably R/D optimization can help a bit in these cases, but it's not supported by x264 currently.
As for B-frames' efficiency, they typically bring a PSNR boost between 0.1-0.2 and 0.7-0.8 dB depending on the content, so they definitely help. But again, using P-frames only shouldn't produce evident problems - you just get a generalized lower quality.
But we're off-topic here. Further discussions in the x264 development thread :)
Doom9
30th April 2005, 22:18
@dinolib: I know what the profile thing is.. when I moved that groupbox with the audio profile, the GUI elements got detached from the underlying code (somehow the GUI elements got a different name.. it's like they were created anew).
About - the "0kbit/s" problem happend with XviD encode too.Still not sure where the problem is.. I don't see that indicator as a problem... what happens after that? is that the last log entry you see? doesn't the 3rd job get started at all (at least some setup messages)? is the progress window for the credits job being closed? what is the size of the .264/.m4v credits file?
@update: I figured it out during debugging. There are two issues here. One was that the framerate was not being reported to the credits job. The video length is calculated knowing framerate and source length.. both those parameters are in the job file so looking at the XML would've revealed that.. but I guess in that particular case it's not the most obvious thing to look for so no complaints from me on this.
However, what would've been really helpful is if you wrote what I would've written in addition to pasting the log entry:
The status window of the credits job is closed, and the following is added to the log
job job6-2 has been processed. This job is linked to the next job: job6-3
This is a series of jobs starting with an audio job, then a credits job, followed by regular twopass video jobs
The audio job is named job6-3 the first pass job6-3 and the second pass job6-4
The second pass job has a desired final output size of 25600000 bytes and video bitrate of 800 kbit/sThe status window of the first pass of the main movie is never started.
That additional piece of information points me to the exact method where the error ocurrs, which makes it so much easier to find the error ;)
Doom9
30th April 2005, 23:49
here is version 0.1812
changed: I/O checking for snow adapted to take the twopass functionality into account
bugfix: credits job framerate was not written resulting in a 0kbit/s bitrate display after credits encoding (this didn't affect encoding though)
bugfix: first pass of main movie could not be started of audio encoding and credits encoding was used
bugfix: in automated encoding using snow, the codec settings for the first pass were not written resulting in inability to add jobs to the queue (and thus start them)
bugfix: starting snow firstpass/secondpass could trigger a fatal error resulting in MeGUI crash because the I/O was not properly configured. In addition, I added code to prevent premature mencoder exit from crashing MeGUI.
bugfix: all audio profile functionality has been restored
Doom9
30th April 2005, 23:55
now what about that I just tried to feed MeGUI an AVS file that includes "crop(clip, 0, 76, 0, -76)" and something somewhere choked...
I need details.. tons of them. I don't like to have open issues that I might be able to do something about, but as it stands here I don't stand a chance with that amount of information available.
thed33p
1st May 2005, 01:47
Thanx for the new build Doom9.
Problems with encoding both Audio and SepCreds seems solved - I never actually let the job finish but the actual encoding started which is a good sign. :D
The problem with the crop-script still remains - after audio encoding finishes, The various status boxes just "flash" in rapid succession 'till MeGUI hangs on the mux job. No video encoding is actually started. The log reads as such:
Log for job job1-2
File not found: 'frameno.avi'
Failed to open frameno.avi
----------------------------------------------------------------------------------------------------------
job job1-2 has been processed. This job is linked to the next job: job1-3
Next job job1-3 is a video job. mencoder commandline:
"mencoder.exe" "D:\jja.avs" -ovc x264 -passlogfile "D:\mencoder-2pass.log" -x264encopts pass=2:bitrate=567:frameref=3:bframes=3:b_adapt:b_pyramid:weight_b:4x4mv:scenecut=100 -o "D:\jja.264" -of rawvideo
successfully set up video encoder and callbacks for job job1-3
----------------------------------------------------------------------------------------------------------
Log for job job1-3
File not found: 'frameno.avi'
Failed to open frameno.avi
x264 [info]: no need for a SAR
x264 [error]: Error: 2pass curve failed to converge
x264 [error]: target: 567.00 kbit/s, got: 31.75 kbit/s, avg QP: 26.0709
x264 [error]: internal error
x264_encoder_open failed.
FATAL: Cannot initialize video driver.
Cannot find codec matching selected -vo and video format 0x32315659.
desired video bitrate of this job: 567 kbit/s - obtained video bitrate: 0 kbit/s
I'm still busy with a new test clip encode or I'd try a cmdline - will do so tomorrow if you'd like.
PS I changed my crop values to 64 for testing because the initial log wanted mod16 input
x264 [error]: Error: 2pass curve failed to converge
x264 [error]: target: 567.00 kbit/s, got: 31.75 kbit/s, avg QP: 26.0709
x264 [error]: internal error
x264_encoder_open failed.has been previously reported... this is no megui problem... it'll happen in the vfw, x264.exe and running mencoder from the commandline.
thed33p
1st May 2005, 09:07
I'm afraid I don't really know what else to report - I only ever get that error when using crop and using crop always produces that error (source-clip agnostic) so my guess would have been that they are related.
Can you thing of a workaround off the top of your head?
Edit: Something else - I seem to have problems with muxing (both auto and manual) - mux job just hangs. I have MP4BOX 0_2_3. I not yet sure if it's something I'm doing wrong - will reboot now and try again....
akupenguin
1st May 2005, 10:04
x264 [error]: Error: 2pass curve failed to converge
x264 [error]: target: 567.00 kbit/s, got: 31.75 kbit/s, avg QP: 26.0709
x264 [error]: internal error
Send me the 2pass statsfile. As stated, it's an internal error (not a problem in x264's options or inputs) and shouldn't have happened.
thed33p
1st May 2005, 10:36
@akupenguin
The 1st pass doesn't start so no statsfile is created. (0kb file)
I'm attaching a zip containing the the log from MeGUI, AVS script and the statsfile that gets created if I omit "crop(0,64,0,-64)" from the AVS script (not sure if it'll help but you never know....)
BTW, settings are:
AVC MP4
AC3 -> AAC
Sep Credits
Desired filesize 22400
Audio - Stereo, stereo downmix, VBR normal, HE-AAC, High
Video - Auto 2 pass, 3Ref, 3B, Pyramid, Adaptive, Weighted, Chroma, 4x4
thed33p
1st May 2005, 11:04
Doom9
I still had the muxing issue after a reboot but I have to go to a 2year old birthday party now :angry:
more tonight....
I have MP4BOX 0_2_3. uhh.. what does it say in the list of required programs? http://www.aziendeassociate.it/cd.asp?dir=/gpac/devlatest version of mp4box (at least dated April 19th).So the requirements are not fullfilled ;) That's the kinda thing you ougth to figure out on your own..
thed33p
2nd May 2005, 20:57
Thanx Doom9
U know the ONE place I never (used to) look is on the 1st page of this thread :rolleyes:
does it work with the up-to-date version?
keep in mind that what I said when announcing the new mp4box based releases still applies: there's no progress bar.
In order to stop the disappearing progress windows, I'll make a check if the last job has been successfully completed or not before starting another job. I think I already put that in for aborted jobs, but it does not apply to jobs having errors (I'm not sure how I can catch that reliably.. error being part of a stderr output line seems promising but other than that I'm not sure).
Sagittaire
2nd May 2005, 23:02
here IMO the best profil for LAVC: same quality (for OPSNR) than XviD with VHQ4 and DivX best ...
mencoder.exe encodage.avs -ovc lavc -lavcopts vstrict=1:vpass=1:vbitrate=447:turbo:vqcomp=0.8:vmax_b_frames=3:vb_strategy=1:vme=4:preme=2:dia=6:predia=6:mbd=2:mbcmp=6:ildctcmp=2:precmp=2:cmp=2:subcmp=2:qprd:v4mv:mv0:trell:cbp:qns=0:psnr -of avi -ffourcc XVID
mencoder.exe encodage.avs -ovc lavc -lavcopts vstrict=1:vpass=3:vbitrate=447:turbo:vqcomp=0.8:vmax_b_frames=3:vb_strategy=1:vme=4:preme=2:dia=6:predia=6:mbd=2:mbcmp=6:ildctcmp=2:precmp=2:cmp=2:subcmp=2:qprd:v4mv:mv0:trell:cbp:qns=0:psnr -of avi -ffourcc XVID
mencoder.exe encodage.avs -ovc lavc -lavcopts vstrict=1:vpass=3:vbitrate=447:vqcomp=0.8:vmax_b_frames=3:vb_strategy=1:vme=4:preme=2:dia=6:predia=6:mbd=2:mbcmp=6:ildctcmp=2:precmp=2:cmp=2:subcmp=2:qprd:v4mv:mv0:trell:cbp:qns=0:psnr -of avi -ffourcc XVID
CREXbzh
2nd May 2005, 23:32
Originally posted by Sagittaire
here IMO the best profil for LAVC: same quality (for OPSNR) than XviD with VHQ4 and DivX best ...
Your line of options is uselessly long and complicated!
vme=4, qns=3 are default settings
*dia=6 seems a bit overkill. Even dia=3 should be enough.
Other than that, I have to admit that I never played with ildctcmp. Did you compare different combinations?
Anyway, you should be able to find all the informations you need here:
http://mplayerhq.hu/DOCS/HTML/en/menc-feat-dvd-mpeg4.html#menc-feat-dvd-mpeg4-lavc-encoding-options
thed33p
3rd May 2005, 01:58
@Doom9
Yes it works fine thanx :)
dude051
3rd May 2005, 02:09
I too received that error on the second pass.
MeGUI Log:MeGUI_Log.txt (http://www.anime-takeover.com/MeGUI_Log.txt)
It seems that during pass one, it did not write the stats file as thed33p said. I was using AVC X264 of course, AVI output. 2pass 1Pass and 2pass 2pass were used with the settings showed in the log. I actually set the stats file to a different file name in the same directory... but MeGUI still put -passlogfile "mencoder-2pass.log" , which was actualy never created :confused: . MeGUI v0.1812, latest mencoder build.
Think you could ever add support for x264 CLI? It has internal MP4 and Raw output right now which would be kinda helpful instead of using mp4creator for that. Im happy tho, the AVI support from mencoder is fine for me heh.
Later
@dude051: looks like an x264 problem to me (and it was reported a few times). I'll print it in bold this time
An error like
x264 [error]: Error: 2pass curve failed to converge
x264 [error]: target: 1450.00 kbit/s, got: 1387.39 kbit/s, avg QP: 10.0023
x264 [error]: try reducing target bitrate or reducing qp_min (currently 10)
x264_encoder_open failed.
FATAL: Cannot initialize video driver.
during the second pass means what it says.. your desired target bitrate is too high. It will happen regardless of whether you use x264.exe, mencoder.exe or the VfW GUI and the only way you can solve it is by doing what x264 tells you: reduce the minimum quantizer (or reduce the desired bitrate).
Now I'll go bug aku about an automatic QP reduction to prevent that from happening.. not really a good solution but I'll have my peace at last.
Think you could ever add support for x264 CLI?It's a two edged sword as you've found out. For starters.. separate credits with MP4 output.. the way I do it now is better.. mp4 merging is still problematic if you look at the container section on this forum. And x264.exe lacks AVI output. I might support it once x264 has zones so I can do the credits internally, but it'll either mean a lot more work if I want to keep AVI output (as I have to support two encoding apps), or I'll have to dump AVI output for x264 (and it's still a lot of work to adapt to a new encoding app).
By the way, there's no mp4creator anymore, and I get raw output directly from mencoder ;) The only advantage x264.exe offers over mencoder is direct MP4 output.. the biggest disadvantage is that it does not support AVI output.
Is there really no mencoder-2pass.log whatsoever on your system created by the first pass? I'd expect to see one either in the directory where your AviSynth file is located, or in the MeGUI directory.
I'll look into the path issue.. I never found it useful to adjust the name of the logfile so I never tested that.
hmm... looking at that log again, I don't see no video bitrate statistics from MeGUI directly as in the 2nd pass.. and that worries me.. is that really all you got in the log? How long did your first pass take? Did you really see the progress window count up the frames until it reached the end of the video stream? Was there any error in MeGUI at some point?
dude051
3rd May 2005, 17:05
during the second pass means what it says.. your desired target bitrate is too high. It will happen regardless of whether you use x264.exe, mencoder.exe or the VfW GUI and the only way you can solve it is by doing what x264 tells you: reduce the minimum quantizer (or reduce the desired bitrate).
Unfortunately this can't be my problem. I ran this exact code using x264.exe (of course just the naming of values was different) and i never encountered any problems.
As for the stats file... no mencoder-2pass.log was created whatsoever. What i did was overwrite my existing stats file in the same directory as my avs. This stat file was from previous encoding with x264 CLI. It managed to zero out that file and re-create it (because I specified the stats file to use) but never wrote the stats information to it. Not to mention.. the log shows that it didnt use the file I specified but instead the default.
How long did your first pass take?
I little over an hour, nothing more or less than when i used x264 CLI.
Did you really see the progress window count up the frames until it reached the end of the video stream?
Yes, the first pass completed fine and the progress window came up and everything seemed fine. As for the second pass, I wasn't there to see the progress window or anything. But from the output the log it doesn't look like it made it.
Was there any error in MeGUI at some point?
No, no errors with MeGUI. No crashes or anything. When i came back.. the log just showed those errors.
Hope this helps.
Later
here is my attempt at reproducing the problem:
first pass commandline
"mencoder.exe" "D:\DVDs\DVDVolume\VIDEO_TS\re-trailer-short.avs" -ovc x264 -o NUL: -passlogfile "mencoder-2pass.log" -x264encopts pass=1:qp_constant=26:keyint=300:frameref=15:bframes=2:b_adapt:b_pyramid:deblockalpha=1:deblockbeta=-1:weight_b:4x4mv:chroma_qp_offset=2:scenecut=100
same settings as yours. this my my mencoder.exe: http://www.aziendeassociate.it/cd//mplayer/mplayer2005.04.19.Athlon-64.7z
result: encoded as desired. In my MeGUI directory, a file called mencoder-2pass.log.temp is created when I start encoding, then once encoding is done, I have a file mencoder-2pass.log and the .temp file is gone.
Likewise, if I specify a path for the logfile it gets written in the path specified.
here is a working commandline generated by megui:
"mencoder.exe" "D:\DVDs\DVDVolume\VIDEO_TS\re-trailer-short.avs" -ovc x264 -o NUL: -passlogfile "D:\DVDs\DVDVolume\VIDEO_TS\mencoder-2pass.log" -x264encopts pass=1:qp_constant=26:keyint=300:frameref=15:bframes=2:b_adapt:b_pyramid:deblockalpha=1:deblockbeta=-1:weight_b:4x4mv:chroma_qp_offset=2:scenecut=100
However, I managed to reproduce your two pass error doing the following: After having encoded the first pass, I configured the second pass. In the process, I selected the logfile again.. problem is.. this is a save dialogue, so if you select the same filename, the file gets overwritten by a 0 byte file. That in turn causes the "curve convergence" error (now I have to bug aku again.. this should produce an "invalid statsfile" message).
So, if you do not specify a path, the logfile gets created in the MeGUI path.. so that means encoder your first pass then your second pass right after another, and make sure no other job is started prior to successfull completion of your 2 pass file or you'll be in trouble and have a stats file that doesn't match your source.
Similarly, configure first and second pass together (add first pass, change encoding mode to second pass, configure output, make settings changed and press Queue.. do not attempt to select the logfile (normally it's not even there yet as you've not yet performed the first pass).
Is it possible that you did not do your setup in the ways I just described?
Last but not least, there's nothing to worry about regarding the not getting any bitrate stats for the first pass.. in fact you cannot compile any stats because there's no output file in the first pass (except for the logfile).
I installed Megui 0.1812 and there is bug. I did 3pass encoding by LAVC and I had a file *.avi when i deleted it ,it created the same file but not readeable and i canīt delete it never.
Now when I encode whatever with extension *.avi I canīt delete it. I deleted Megui and mplayer but problem is still persisting.
Maybe itīs problem with asp.net ? I have version .NET framework 2.0.40607.42
Wich is last and less or more stable version of .Net?
Windows XP SP2 Spanish version. SSE2 CPU
not being able to delete certain files is a Windows issue.. it specifically pertains to AVI as explorer automatically tries to read certain attributes from the file (and depending on your folder settings, even tries to give you a preview picture). This has absolutely nothing to do with MeGUI.
And the latest stable .NET framework is the one that doens't have beta in its name ;) it's 1.1, plus there's a service pack 1 for it. I thought page 1 listed the 1.1 runtime as prerequisite ;) Still, your AVI thing has nothing to do with MeGUI. Normally you get rid of the locks by rebooting. If that doensn't help, boot to safe mode and delete there. And you can do a search as well.. the topic has come up here before.
dude051
4th May 2005, 02:13
Similarly, configure first and second pass together (add first pass, change encoding mode to second pass, configure output, make settings changed and press Queue.. do not attempt to select the logfile (normally it's not even there yet as you've not yet performed the first pass).
Is it possible that you did not do your setup in the ways I just described?
Yeah, what I think I did was set the stats file in Pass 1, then i set it in Pass 2 as well. And as you said its usualy not created yet so I shouldnt have done that. What i was tryin to do was replace the stats from other encoding attempts. Seems that threw it off.
Yeah i think that might be the problem. I'm going to run this again and not change the stats file and see if I can get a 2nd pass going.
and scratch that I did find the stats file that was created by MeGUI. It was in the MeGUI directory but I just over looked it. This still raises my question as to why it wasn't used in the second pass? I've just tried to run a 2nd pass and point to the stats file.... but im getting the second pass curve out of bounds error again. I'll have to run a first pass + second pass again to be sure.
Edit:
Ok, it just finished pass 1, and its doing pass 2 :D . I didn't touch where to set the stats file at all and everything went smooth. I would like to be able to save individual stat files though, because i usualy set up many jobs and sometimes will re-do some or want to look at the stat files for analysis. Anyways, i'll now wait for pass 2 to finish heh
Edit:
Ok, second pass finished and everything was fine.
Later
This still raises my question as to why it wasn't used in the second pass? I've just tried to run a 2nd pass and point to the stats file.... but im getting the second pass curve out of bounds error again. I'll have to run a first pass + second pass again to be sure.I figure it was either empty, or was actually from another encoding session. Check the number of frames listed and compare it with the number of frames of the source... they'll probably not match.
I would like to be able to save individual stat files though, because i usualy set up many jobs and sometimes will re-do some or want to look at the stat files for analysis.Do multiple first passes with different settings? I never figured people would do that (such things clearly indicate why I wrote MeGUI.. to make my life simpler.. so many things are done in the way I'd do them). I'll have to add another file opener and trigger either saving or opening screen when pressing that ... button for the logfile depending on which pass you configured to offer selection of a custom logfile for the second pass.
dude051
4th May 2005, 15:35
I figure it was either empty, or was actually from another encoding session. Check the number of frames listed and compare it with the number of frames of the source... they'll probably not match.
Well actually what happened ( I think.. heh) is that since MeGUI only has a save dialouge, it just overwrites the file. Because checking the stats that I told MeGUI to use... its 0bytes. So it was empty.
I'll have to add another file opener and trigger either saving or opening screen when pressing that ...
This is actualy kind of what I was thinking. Maybe being able to open the stats file from an existing first pass to be used in the secondpass? Because like in my instance before, the stats file was written to the MeGUI directoy and screwed the 2nd pass. So when i tried to use that stats file for just one 2ndpass I selected the file again (forgetting its a SAVE dialogue not open) and it zeroed the file creating that error again.
I think this would be a nice added feature, because I personally do this alot, esp. when I set many jobs i set the stats to different directories. So this would be useful, because the default just overwrites the stat in MeGUI dir after each finished 1-2pass job. So if it only has the ability to save, then i can never set those stats again through MeGUI.
Thanx again.
Later
dinolib2
4th May 2005, 20:40
Hi,
has someone tested snow codec with MeGUI?
I can use succesfully only CQ Mode (playable with latest ffdshow 20050428 MinGW compiled).
With CBR mode a get a *very* oversized file, and ffdshow play a "multicolor-pixel" video.
This is mencoder cmd line (CD compile 20050426_P4; netfarm compile 30 Apr):
"C:\Downloads\Software\MP4\megui\mencoder.exe" "C:\Downloads\Software\MP4\TestChallenge\HPII.avs" -ovc lavc -lavcopts vcodec=snow:vbitrate=700:vstrict=-1 -o "C:\Downloads\Software\MP4\TestChallenge\test-snow.avi" -of avi -ffourcc SNOW
File not found: 'frameno.avi'
Failed to open frameno.avi
desired video bitrate of this job: 700 kbit/s - obtained video bitrate: 4418,87942732649 kbit/s
Automated 2pass has a good size, but when played video is all gray (maybe it is a ffdshow problem).
Here mencoder cmd line:
"C:\Downloads\Software\MP4\megui\mencoder.exe" "C:\Downloads\Software\MP4\TestChallenge\HPII.avs" -ovc lavc -o NUL: -passlogfile "mencoder-2pass.log" -lavcopts vcodec=snow:vpass=1:vbitrate=700:vstrict=-1
"C:\Downloads\Software\MP4\megui\mencoder.exe" "C:\Downloads\Software\MP4\TestChallenge\HPII.avs" -ovc lavc -passlogfile "mencoder-2pass.log" -lavcopts vcodec=snow:vpass=2:vbitrate=700:vstrict=-1 -o "C:\Downloads\Software\MP4\TestChallenge\test-snow.avi" -of avi -ffourcc SNOW
desired video bitrate of this job: 700 kbit/s - obtained video bitrate: 701,102147525677
thank you for any suggestion.
Dino
dinolib2
4th May 2005, 20:47
Doom9,
now I can reproduce, run time error with Automatic encoding.
1- choose avi file
2- choose output file name
3- choose Snow Codec and AVI file type
4- set appropriate Size in Automatic Encoding section
5- Press "GO" button
...
boom!
here is the error:
************** Exception Text **************
System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values.
Parameter name: '2' is not a valid value for 'index'.
at System.Windows.Forms.ComboBox.set_SelectedIndex(Int32 value)
at MeGUI.MeGUI.automatedEncodingButton_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
[...]
bye
Dino
@dinolib2: there's some data missing: which snow mode are you using? I can still reproduce it though. In this case, the entire stacktrace (though without the libraries loaded) would've been useful but since I'm back at home and can reproduce it, it's no longer necessary to post them. Just FYI, the stacktrace tells me which sourcecode line threw the exception.. makes it really easy to set the breakpoint and verify what exactly is going wrong.
dinolib2
4th May 2005, 23:35
I've used both CQ and CBR, but every time the same error.
What do you mean for stack-trace?
The run-time error popup in details panel shows me only "Exception text", "Loaded Assemblies" and "JIT Debugging" sections, but never refer to code line. Have I to set something, or enable .NET debugger?
a stacktrace is a trace of the stack of a program.. basically it tells you which method and which line is currently being executed.. that way you can trace an error back rather easily.
A stacktrace looks like this (you posted it)
************** Exception Text **************
System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values.
Parameter name: '2' is not a valid value for 'index'.
at System.Windows.Forms.ComboBox.set_SelectedIndex(Int32 value)
at MeGUI.MeGUI.automatedEncodingButton_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
Depending on how it's being reported, there's even more info available.
Don't worry about debugging.. all I need is being able to reproduce a problem and I'm able to reproduce the one you reported. I'll have a look at it tomorrow.
As a temporary workaround, you can use the movie only mode.. since you're not doing credits and audio muxing, it'll work just the same and you can use your favorite bitrate calculator to figure out the bitrate (auto mode is not meant for AVI output anyway since there's no AVI muxing.. and so far everybody said I should go towards automating dvd2avi indexing and avs script creation and not AVI output). Come to think of it.. you should not be able to use auto-mode for AVI output at all. I'm not sure why that even works.. considering that the only use of Snow right now is in the AVI container, auto mode will not be a solution for Snow encoding. That explains why I only tested video only mode for Snow, and that one should work as advertised.
version 0.1813:
new: aborts queue processing of the last job had errors or was aborted
new: incorrect mencoder options and x264 errors are now being identified as an error and jobs that end due to those errors will be correctly flagged as containing errors
new: loading a video job from the queue also fills out the I/O tab settings
changed: the logfile save dialog no longer zeros out files you select.. this allows you to open any logfile without danger (keep in mind that if you select an existing file and perform a first pass, the file will still get overwritten)
changed: auto mode is no longer available in snow mode (it never worked anyway, and since auto mode is meant for mp4 output and you cannot put snow into the mp4 container, it makes no sense to keep it).
changed: updated readme file mentions the mp4box requirement and points out that there's no progress bar during muxing for now.
and here's the actual attachment.. too bad vbb doesn't allow you to add attachments after posting.
no bugreports so far :) I'm hoping this will be a stable release so here are the latest sources. I didn't bother checking comments and GPL notices but as usual the entire thing is GPL'ed
dude051
8th May 2005, 08:24
Just recieved a wierd bug....
"An unhandled exception has occureed in your application.
If you click Continue the application will ignore this error and attempt to continue.
If you click Quit, the application will shut down immediately.
Specified argument was out of the range of valid values. Paramenter name: '4' is not a valid value for "displayIndex'."
Report:
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values.
Parameter name: '4' is not a valid value for 'displayIndex'.
at System.Windows.Forms.ListViewItemCollection.get_Item(Int32 displayIndex)
at MeGUI.MeGUI.startEncoding(Job job)
at MeGUI.MeGUI.startNextJobInQueue()
at MeGUI.MeGUI.startStopButton_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Loaded Assemblies **************
mscorlib
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase: file:///c:/windows/microsoft.net/framework/v1.1.4322/mscorlib.dll
----------------------------------------
MeGUI
Assembly Version: 1.0.1951.34020
Win32 Version: 1.0.1951.34020
CodeBase: file:///D:/DIRECTORY_HERE/MeGUI-0.1812/MeGUI.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase: file:///c:/windows/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll
----------------------------------------
System
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase: file:///c:/windows/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll
----------------------------------------
System.Drawing
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase: file:///c:/windows/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll
----------------------------------------
System.Xml
Assembly Version: 1.0.5000.0
Win32 Version: 1.1.4322.573
CodeBase: file:///c:/windows/assembly/gac/system.xml/1.0.5000.0__b77a5c561934e089/system.xml.dll
----------------------------------------
biogv3xb
Assembly Version: 0.0.0.0
Win32 Version: 1.1.4322.573
CodeBase: file:///c:/windows/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll
----------------------------------------
zfm8mpff
Assembly Version: 0.0.0.0
Win32 Version: 1.1.4322.573
CodeBase: file:///c:/windows/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll
----------------------------------------
************** JIT Debugging **************
To enable just in time (JIT) debugging, the config file for this
application or machine (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
For example:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the machine
rather than being handled by this dialog.
My settings was as I have been using for a while now. X264, 2pass 1Pass and 2pass 2pass. A sample of my mencoder code:
"mencoder.exe" "K:\Anime Encodes\Oh My Goddess\01\OMG_01.avs" -ovc x264
-passlogfile "mencoder-2pass.log" -x264encopts pass=2:bitrate=1250:frameref=5:bframes=2:
b_adapt:b_pyramid:deblockalpha=1:deblockbeta=-1:4x4mv:chroma_qp_offset=1:scenecut=100 -o
"K:\Anime Encodes\Oh My Goddess\01\OMG_01.avi" -of avi -ffourcc x264
Something I did do different though was I had existing finished jobs in the list. After I added the new jobs, I erased the old finished ones. Not sure if this has an impact. After I erased the jobs, and re-queued them as jobs1 and 2 the encoding went fine.
Originally posted by Doom9
too bad vbb doesn't allow you to add attachments after posting.
Version 2, not, obviously... :rolleyes:
Something I did do different though was I had existing finished jobs in the list. After I added the new jobs, I erased the old finished ones. Not sure if this has an impact.Yes, you pinpointed the problem (congratulations on the deductive reasoning, you made just the right experiment and the right conclusion.. I couldn't ask for a better bugreport). I discovered that recently.. each job has a position property indicating at which position it is in the queue. I need this to put the jobs back in the proper order when you start MeGUI. When you delete jobs, that property of the remaining jobs is not updated (it is updated only when you close/open MeGUI), and so the jobs in the internal storage reference an entry in the GUI that does no longer exist - hence the error. I'll take care of that in the next version.
CREXbzh
9th May 2005, 12:01
For those who really like to tweak their encode to make it have the best percepted quality possible, here's a new lavc option that made its way to yesterday's MEncoder's CVS:
border_mask=<0.0-1.0>
Border processing increases the quantizer for macroblocks which are less than 1/5th of the frame away from the border of the frame, since they are visually less important.
This option works just the same way as all the other *_mask options.
More here: http://mplayerhq.hu/DOCS/man/en/mplayer.1.html
North101
9th May 2005, 13:22
I really like MeGUI (i think i'll be replacing GK with it), but I thought it could do with a bit of a redesign. It's mostly the same as you have made it, i've just moved things to a more logical place (to me) and tried to keep the design consistant.
MeGUI - Tab 1 (http://www.north101.net/MeGUI/MeGUI%20-%20Tab%201.PNG)
I've put both Input tabs on to 1 tab and moved both the audio and video encoding options to a seperate window along with the logfile and profile creation. And for the Audio & Video Profiles to make it automaticly save the last last settings used.
MeGUI - Tab 1 - Automatic Encoding (http://www.north101.net/MeGUI/MeGUI%20-%20Automatic%20Encoding.PNG)
This is the window that pops up when you press Auto Encode on the Input tab. I've added a Muxed output option (any chance of an MKV muxed output using mkvmerge?). If you have this option i suggest changing the default extention for AAC audio to .m4a
MeGUI - Tab 2 (http://www.north101.net/MeGUI/MeGUI%20-%20Tab%202.PNG)
I've added a way to create chapters, i think i have all the things that are needed. The Get time from Video is there so someone can open a video and select where they want the chapter to start (working sort of when you choose where the Credits starts) and if possible make it able to open .ifo files and get the chapters from there.
MeGUI - Tab 3 (http://www.north101.net/MeGUI/MeGUI%20-%20Tab%203.PNG)
Basically the same as you have now, the only difference is ive removed abort becuase it didnt make sense being able to let it skip part of a job and let it move onto the next part. Also, i think Stop (which replaces Start when its encoding) should stop all current jobs.
MeGUI - Tab 4 (http://www.north101.net/MeGUI/MeGUI%20-%20Tab%204.PNG)
Not much to say here... just kept it consistant with the rest of it.
MeGUI - Tools - Merge (http://www.north101.net/MeGUI/MeGUI%20-%20Tools%20-%20Merge.PNG)
I've moved this to its own window (Tools -> Merge) and added an option to load it to be muxed.
MeGUI - Tools - Mux (http://www.north101.net/MeGUI/MeGUI%20-%20Tools%20-%20Mux.PNG)
I've moved this to its own window (Tools -> Mux).
MeGUI - Setting - Programs (http://www.north101.net/MeGUI/MeGUI%20-%20Settings%20-%20Program%20Paths.PNG)
Again i've moved this to its own window (Settings -> Programs).
The only additions i'd really like to see is to be able to create a MKV muxed output and maybe expand the audio options to include MP3, OGG Vorbis etc and maybe an AVS Script creator.
@North101: hehe.. when you're on the other side of design you suddenly don't care as much as you used to. Your proposal looks nice.. may I ask if you changed the GUI using the Visual Studio GUI designer (so working with my sourcecode), or if you have some other GUI designer to just draw up a prototype? So far I've only added "under the hood" stuff so if you made the changes to the actual VS project (and haven't broken the program), it would be great if I could just continue with the modified project. I much rather spend my time working under the hood these days (there's a lot to do for the d2v import.. I've just managed to get preview frames via dgdecode.dll yesterday).
North101
9th May 2005, 14:11
thanks :)
umm... to be honest i made it in paint (far easier than photoshop becuase you know the exact size your working with, though some features are missed). The only scripting languages i know are VB (for applications) and mIRC (though i tend pick it up kind of fast). Unlike you i prefer designing the GUI rather than "under the hood" so if i come across a "copy" of VS i could modify the GUI and send it to you.
Basically the same as you have now, the only difference is ive removed abort becuase it didnt make sense being able to let it skip part of a job and let it move onto the next part. Actually, this is no longer correct. Any job that comes back as aborted (pressing the abort button will do that) or erroneous will trigger an immediate halt of queue encoding, whereas the stop button just stops queue encoding, but the currently active job will still be completed. Say the user has (accidentally) killed the progress window, without the abort button in the main GUI, all that you can do to bring encoding to a halt is pull the plug on MeGUI (or start the task manager and kill the app that's running in the background). So the abort button does have its justification.
North101
9th May 2005, 16:16
Im not sure if you can import VB User forms to VS but i've started recreating it in VB so heres the 2 exported Userform files MeGUI.frm (www.north101.net/MeGUI/MeGUI.frm) & MeGUI.frx (www.north101.net/MeGUI/MeGUI.frx) (Note: for every 1 pixel on screen = 0.75 in VB).
If they work, tell me and i will continue working on it, if not i think i can borrow a disc for VS from a friend or try to get the online trial working.
I'll also put the about button back in when recreating it.
Well, VB6 and VB.NET aren't really properly compatible, and I'm not even using VB.NET. While I think .resx (that's the new way VS stores GUI outlines) might be compatible in between .NET languages, the problem lies with the underlying code. Only .NET 2.0 introduces partial classes where you could have the autogenerated code in one class and the rest in other classes which would permit the split between creating/maintaining a GUI and writing the code behind it. But we're not quite ready for .NET 2.0 and my first attempt was somewhat problematic (see the beginning of this thread). There should be a 60 or 90 day trial.. I guess I left the DVD at my old workplace since I got a full license since then, but seeing that the MSDN download fits on one CD (without the entire MSDN documentation but you don't really need it since it's all available from the net), I guess the online trial would be your best shot.
And then hopefully you won't encounter the same difficulties I did when redesigning the GUI.. I started moving GUI elements and suddenly the button click listeners were no longer connected :/
And as far as Matroska is concerned.. right now the focus in on extending the input capabilities (opening .d2v, autocrop, write AviSynth scripts, then create d2v projects). After that is all working I'll tend to output options (I'd love to get VBR audio and AC3 audio working in .NET). I'm not so much a fan of having to re-create an entire BeSweet GUI just to support different audio output types though.
North101
9th May 2005, 17:12
Thanks for the quick reply, luckily i didnt go any further. I'll keep trying to get this online trial to work, its refusing to let me install the ActiveX thing needed, though i should be able to get a disc from a friend later on in the week.
I guess having to recreate a BeSweet GUI would be kind of hard and i personally prefer AAC over any other audio codec atm.
p.s cant wait to test the new features your working on :D
North101
9th May 2005, 20:49
Havn't been able to get the trial (http://msdn.demoservers.com/login.aspx?group=vsnet-trial&lab=3) to work, im not sure whats wrong with it. I was bored so i had ago at creating a GUI for an AVS creater and this is what i came up with:
MeGUI - AviSynth - Tab 1 (http://www.north101.net/MeGUI/MeGUI%20-%20Tools%20-%20AviSynth%20-%20Tab%201.PNG)
MeGUI - AviSynth - Tab 2 (http://www.north101.net/MeGUI/MeGUI%20-%20Tools%20-%20AviSynth%20-%20Tab%202.PNG)
If theres anything you are adding or anything you don't want in it i can try and add it.
woot, just got d2v preview working. Strange that if I was to save the read out bitmap and then trying to display it my preview window crashed, but after a serious rewrite and using what I think is the most efficient way to access the bitmap data, playback is not fluid, but at least working.
Hosted experience? Should be hosted nightmare. I think you must bite the bullet and order the trial DVD. Too bad I can't find mine anymore or I'd send it to you.
North101
9th May 2005, 23:27
about the d2v preview thing, wouldnt it be easier to make a temporary avs file (and load the d2v filter) when you load it up? it seems to work fine for me that way and the play back is sort of fluid. Unless of course i've misunderstood what you are trying to do
dude051
9th May 2005, 23:37
If you would like help with the GUI frontend, I wouldn't mind helping. I currently code in c++, java, and c#. I've messed a bit with VB but not .net . Would be kind of fun heh. Anyways glad I could help out with that bug doom9, MeGUI is becoming very promising and looks to be a staple for future (and current for me) mpeg-4 encoding.
cdrips
10th May 2005, 01:12
I've been playing around with the GUI too. I haven't had a lot of time to look around at it, I am trying to incorporate North's ideas (that will come later since I'm not too sure about how to handle the dialogs just yet). Here's a simple one I got so far with 5 min of effort. Enabled the visual styles to make it look pretty and put both input tabs into one.
http://i3.photobucket.com/albums/y56/pwnx/megui.jpg
Doom9
10th May 2005, 08:31
about the d2v preview thing, wouldnt it be easier to make a temporary avs fileThat's the easy way out.. I finally wanted to get my hands dirty with interop code and dgmpgdec.dll seemed like the perfect candidate to try it with.
I guess now we should device a way on how to collaborate with the least possible amount of friction and decide in which direction to go. So far I haven't adapted the GUI since the last source release, I just changed the AVI reader and video preview to also support d2vs. But now that that is done, the next step is cropping so new GUI parts will have to come up.
North101
10th May 2005, 20:16
I got the VS disc from a friend but unfortunatly it was not the .net (it was the 6.0 Enterprise edition), so i guess i'll need to order a preview disc. Would i need to get the 2.0 beta? Could you give me a link to the right one on the MS site, there so many different versions its abit confusing.
I'm looking forward to the next release, then i'd hopefully be able to completly move over to MeGUI :D
Doom9
10th May 2005, 20:49
the trial you'll want is listed here: http://msdn.microsoft.com/vstudio/productinfo/trial/default.aspx
Standard Visual Studio 2003 Professional. A Visual C# 2003 would do as well but I've not seen a trial of this. Unfortunately, the 2005 series isn't quite ready (they currently offer even the pro version, and the beginner edition (express edition) for free, but with users having to download a beta .net runtime, and then upgrade as you upgrade to the next beta, and even worse with the CTPs where there's no downloadable runtime for users). The 2005 edition comes with .NET 2.0 but as I said, it's too early for that (imho.. if it weren't for the runtime, if .NET 2.0 was done and the runtime out, I wouldn't mind using a beta IDE).
Don't expect too much in the next release already.. in the end I want to be able to select a VOB file (ripped in IFO mode), and take it from there. And that's way too much to add to one release.
Doom9
10th May 2005, 21:00
I've added a way to create chapters, i think i have all the things that are needed. The Get time from Video is there so someone can open a video and select where they want the chapter to start (working sort of when you choose where the Credits starts) and if possible make it able to open .ifo files and get the chapters from there.IFO parsing? Nah, doesn't sound like fun to me to do that and not like something I'd want to do at this point. And DVD Decrypter can create chapter files while ripping.. that really ought to be enough. I've never had to create a chapter file manually since DVD Decrypter got that functionality.
Your chapter list is a multiline textbox.. how do you think edit, and delete would work with a textbox? I can't quite imagine.. a listview with 3 columns (start, end, name) would make sense though.
And language /country for chapters? I don't get it. If we're talking about languages, in the future it might be possible to specify those for MP4 so that should be considered for any GUI redesign.. I have some space left in the Input2 tab just for that.
What should a config button do in the input tab?
About the AviSynth script creation part: what is "no comments"? And why is there a video input in the input tab and then one in the Avisynth thingie?
About your merge dialog: "close and load output file to be muxed".. where would that file be loaded? close the dialog and open a muxing dialog?
North101
11th May 2005, 00:59
IFO parsing? Nah, doesn't sound like fun to me to do that and not like something I'd want to do at this point. And DVD Decrypter can create chapter files while ripping.. that really ought to be enough. I've never had to create a chapter file manually since DVD Decrypter got that functionality.
Now that i think about it, your right, it would seem abit silly to work on a feature that can already be made when ripping the dvd. Also the End time seems abit silly, though could be useful when menus have been finalized.
Your chapter list is a multiline textbox.. how do you think edit, and delete would work with a textbox? I can't quite imagine.. a listview with 3 columns (start, end, name) would make sense though.
Something like this (http://www.north101.net/MeGUI/MeGUI%20-%20Tab%202%20+%20Chapters.PNG).
And language /country for chapters?
I don't really know what the chapters specifactions are in the MP4 format so i put that in just in case.
What should a config button do in the input tab?
I was thinking it would replace the Video and Audio tabs. To me it just felt like it would work better, rather than having to change tabs.
About the AviSynth script creation part: what is "no comments"? And why is there a video input in the input tab and then one in the Avisynth thingie?
I sort of took the GK AviSynth script creator as the bases for my design and then tried to improve and make it consistant with the rest of the design from there (i felt that the GK one had all the important features that would be required in some sort of combantion by 99% of rips). I also sort of learnt quite abit how AVS files were made by looking at the "comments" (commnets and options that were disabled in the dialog had a # in front) that were in the GK one so i though it would benefit other newbie synth script creators.
About your merge dialog: "close and load output file to be muxed".. where would that file be loaded? close the dialog and open a muxing dialog?
Yeh, the next step after joining the 2 files together would be to add the audio, subtitles and chapters... wouldn't it? And it could be confusing to put it in the muxing dialog as an extra option.
Anyway, i hope this makes sense as im abit tired atm.
Do chapters really need an "end" time? Aren't they just a point instead of a range of time?
dude051
11th May 2005, 06:55
I also sort of learnt quite abit how AVS files were made by looking at the "comments" (commnets and options that were disabled in the dialog had a # in front) that were in the GK one so i though it would benefit other newbie synth script creators.
If this option you are thinking about is to hide comments, I don't really see the point in that. More or less, it would be better to color code the avs editor. EX - comments = green, filters = blue, filter parameters = red ect. Not that that could be an effective color scheme heh, but you get the idea. The idea of the comments is to show comments for anything you want as the author, I can't see a reason as to why you would hide them. If im incorrect, please correct my view on it.
As for .NET, got it up and running. I hope to be adding some of the GUI features of my own soon. I don't know if anyone is interested, but I am wanting a sort-of replacement for VDub. As X264 crashes and errors constantly in VDub(mod), that was my original reason to come to X264 CLI and now MeGUI. I hope to have a ruff show for you soon, but I want to dock the preview window into the same window as the settings and allow you to change the AVS and update its effects within that pane. Having a separate window can be a bit annoying at times in my opinion.
Doom9
11th May 2005, 10:50
Something like this.Trees? eww... pain in the ass to code I assure you. Windows.Forms are nice and all but still lack an awful lot of functionality when it comes to complex elements. I implemented a rather complex tree with drag and drop in an app at work and it wasn't exactly a joyful experience (well, GUI coding rarely is). A listview in detail mode (like the right part of an windows explorer window), with name and start time (end times really don't matter), should do just fine.
I guess I'll start working on the AviSynth window tonight.. have it pop up when a .d2v is opened (along with the previously known preview). And once the d2v part is all done, there's a lot to think about GUI wise when we're dealing with VOB input... better start taking that into account right now rather than having to go through another redesign in a few weeks.
I think I figured out the config buttons now.. they open a separate dialog where you can configure the selected video codec, or audio format (well.. right now there's only AAC). It will not be a very easy job to remove the codec configuration from the main GUI to another part though. So, GUI design is only one part.. then you have to think what each option does, (create jobs, show commandlines, update values somewhere.. for instance the number of b-frames has an influence on the overhead in the audio section, etc.). Once that is known, a lot of code in the main class could be modularized (it will have to be if the GUI is to change more than moving around a few fields in the same form).
North101
14th May 2005, 00:43
Got VS.net yesterday and i've been playing around with the GUI design and i was able to make them EXACTLY (almost right down to the last pixel) like they were in the pictures. I think i'll wait untill the next release and modify that one (if you still want me to).
Oh, and how about this (http://www.north101.net/MeGUI/MeGUI%20-%20Tab%202%20+%20Chapters.PNG) for the chapter tab?
North101
14th May 2005, 00:49
Oh yeh, i think i found a small bug, if you don't have mencoder.exe in the same directory as MeGUI (even if you tell it its in a different directory) it will come up with an error saying it can't find it.
Doom9
14th May 2005, 15:04
You'll find that you won't have to do the work for the AviSynth window.. I recreated almost as you designed it (I left out a few preview buttons, imho one is enough, and I added an IVTC option).
I figure your edit button in the chapters tab writes back modifications from the GUI fields below the listview to the listview?
if you don't have mencoder.exe in the same directory as MeGUI (even if you tell it its in a different directory) it will come up with an error saying it can't find it.I cannot reproduce that. Here's what I did: by default my megui is configured to look for mencoder.exe in the megui directory.
I started megui, loaded avs, chagned codec to xvid, changed encoding mode to cbr (there's a bug there, when changing codecs I do not adjust the input tab in function of the selected output mode), set output filename (avi), then went to the settings tab, configured the mencoder.exe path, went back to the video tab, pressed queue & encode, got a warning about non matching commandlines (another bug found: the GUI commandline is not udpated when I update the settings), but when I said no to the question (meaning it uses the generated, not the shown commandline), encoding went just fine. Looking at the job xml file after exiting, I see that the commandline used contains the path for mencoder that I configured. So could it be that you answered yes when megui complained about non matching commandlines, thus forcing the commandline that just had "mencoder.exe" in it without path, meaning that mencoder.exe would have to be in your megui path for it to work?
when CD releases a new mencoder compile using the latest x264 revision, I'll also change my x264 first passes to using abr rather than CQ.
Oh, and have you been thinking about VOB input? I have a few ideas but with the possiblity of mp4box one day supporting language tag, and with Matroska, the GUI should even at this point have room for language tags for the audio and subtitle tracks.
North101
14th May 2005, 15:40
I left out a few preview buttons, imho one is enough
lol, yeh there were abit too many, though i think one for cropping might be needed as it can be hard to tell with all the filters.
I've found that the error only appeared if you press Go in the input tab, if you goto the video tab and press Queue it won't come up with the error. Here's ascreen shot showing the error, commandline and the folder with mencoder.
http://www.north101.net/MeGUI/error.PNG
p.s how do you get VS.net to keep the order of the tab when you build it? The tabs always come out in a semi-random order for me.
Doom9
14th May 2005, 15:50
p.s how do you get VS.net to keep the order of the tab when you build it?I think visual studio is really bugged in that area.. it has a tendency to screw up every tab control eventually. If you look at my sources, I tend to rebuild the control all the time so no matter what the GUI designer mutilates, I always have my tabs in the proper order.
Basically to reorder the items for the designer you have to get into the code section that vs generates automatcially, and change the order in which the tabs are added to the tabcontrol.
And as far as the preview for cropping goes.. the open dialoge in my development build opens d2vs as well.. with the same preview you're used to. Plus there will be the additional AviSynth window where you can configure everything.. adjusting cropping there will show the results immediately in the preview. The preview button in the avisynth screen would write a temporary avs file and open yet another preview window showing that preview avs file.
North101
14th May 2005, 15:58
I've found that the error only appeared if you press Go in the input tab, if you goto the video tab and press Queue it won't come up with the error.
Wait forget that, i got the error a again when queuing it in the video tab. To get the error again (for me) it's as simple as making sure mencoder.exe is not in the same directory as MeGUI, setting the path correctly in settings, loading the AVS file and then either press Go in the Input tab or queue in the Video tab (with or without "and Start" checked).
I tried with all 4 codecs and got the same error.
North101
14th May 2005, 16:09
And as far as the preview for cropping goes.. the open dialoge in my development build opens d2vs as well.. with the same preview you're used to. Plus there will be the additional AviSynth window where you can configure everything.. adjusting cropping there will show the results immediately in the preview. The preview button in the avisynth screen would write a temporary avs file and open yet another preview window showing that preview avs file.
I guess that works better. I might be wrong in what i'm assuming but i was thinking more of having the AviSynth creator not linked to the open video input button but rather have it accesable from Tools -> AviSynth Creator or something like that (which would explain the Video input button in the pictures).
Doom9
14th May 2005, 16:29
since I cannot reproduce the problem, can you debug it on your own? I'm sure you'll understand without being able to reproduce it on my own I will not be able to find any problems.
North101
14th May 2005, 17:58
The problem is sort of strange, if (!File.Exists(executablePath)) (line 73 of VideoEncoder.cs) comes up false even if the path is right, if i set it to if (File.Exists(executablePath)) then the problem goes away but it still tries to send the command to mencoder if the path is wrong.
Doom9
14th May 2005, 19:10
I figured out why the problem never ocurred here.. I always have a copy of mencoder.exe in my megui location.
If you switch out the first three line of prepareProcess with the following, all will be well:
int endpos = job.Commandline.ToLower().IndexOf("mencoder.exe") + 11;
string executablePath = job.Commandline.Substring(1, endpos);
string arguments = job.Commandline.Substring(executablePath.Length + 3);
Basically I didn't take into account that the mencoder executable is always surrounded by "s, and I need to strip those away before checking for the existence of a file.
Doom9
14th May 2005, 19:41
the problem also affects the audio encoder and the mp4 muxer. It will be fixed in the next release for all three, as well as the other two issues I mentioned above. And I also took care of the problems that ocurr if you add jobs, then remove some and then start encoding. Each time jobs are deleted from the queue, the position of the remaining jobs is updated according to their position after the deletion operation.
North101
14th May 2005, 23:38
If you switch out the first three line of prepareProcess with the following, all will be well
works perfectly.
I thought you might want to see what it looked and felt like.
Here are some other changes:
- When you open an AviSynth script or audio input it will automaticly add the name to the output box.
- the video and audio Queue button on the input tab works
- the Reset Button works
- the AutoEncode button works but the dialog doesn't do anything
- when you select an input (and output for Audio) for Audio, Subtitles or Chapters on the input tab the "..." button changes to "X", which when selected will remove the input.
- the Clear button works on Log but the Save button doesn't.
- i've been playing around with the code so there's probably some other small changes but i can't remember and there are some buttons that don't work now (it removed the EventHandler thing when i moved them) and i might have broken a few other things
Heres the link (www.north101.net/MeGUI/MeGUI.rar), if you want me to remove it just ask (it also contains the source code).
Doom9
14th May 2005, 23:47
could you come to IRC so we could have a realtime chat? Since the changes you've proposed are quite extensive, it would be a good point to revamp the internal data structurs (not change them, but move them to separate classes and have them accessible where it makes the most sense, rather than having everything as part of one big class as it is right now).
I have the AviSynth creator pretty much working minus auto crop and every now and then I get inexplicable crashes.
North101
14th May 2005, 23:58
Sure, i've just joined now (i didn't see you there so i replied here). Sorry about making this harder :p
Doom9
15th May 2005, 01:01
here is version 0.19
new: opens DGIndex project files.
bugfix: adding jobs, then deleting some and finally encoding no longer crashes
bugfix: changing the codec takes the encoding mode for the selected codec into account
bugfix: changing path of the desired executables updates the commandline immediately
bugfix: custom paths are fully functional now and do not throw an error if you don't have a copy of the executable in your megui path (it worked before and the custom path was used but the check prior to encoding wouldn't find the executable unless it was in the megui folder)
A word about the new DGIndex functionality:
You can open DGIndex project files from the standard input dialogue and two new windows will pop up. One allows you to configure the AviSynth script you'll get, the other is the usual preview.
There will be no loadplugin lines in your AviSynth script.. it is assumed that you placed your plugins into the plugin folder of your AviSynth installation so they will be auto-loaded.
Non working DGIndex project files will make the program crash immediately (moving your VOB files around invalidates your d2v file!!!).
The set credits start button in an AviSynth preview from the AviSynth script creator won't work.
Doom9
15th May 2005, 01:12
and here are the sources so that north can get started working on the GUI.
A word about perfomance: d2v preview performance is quite poor. I'm not quite sure yet whether this is due to interop with native code, or simply because of the much larger framesize than the usual avs scripts I'm using.
Cropping and then preview playback performance is really poor, due to the extremely inefficient way to change each bitmap prior to display (looping over all the pixels that I have to blank out). And Bitmap.setPixel is as inefficient as it gets.. MS really could do with a nice speedup there. Using unsafe code could speed that up but I don't know yet how to handle the vertical blanking from the native byte* that represents a 24 bit image.
And before anyone asks: DAR doesn't really do much right now (doesn't limit possible output resolutions), and auto crop is currently not active.
I am currently taking suggestions as to how the DAR selection and cropping values should influence resolution selection choices.
North101
15th May 2005, 03:27
I realised before i went to sleep that i have forgoten to add something . I've attacked the updated files because i couldn't upload them to my site for some reason
North101
15th May 2005, 13:18
bugs:
- When you change to subtitle track 5 it loads subtitle track 1 (I've fixed it)
- When you switch audio track to a non-mp4 file it doesn't load it, though it will load a mp4 file.
How would i make this.audioFiles[trackNumber] = ""; not remove the Input track?
And since the file didn't upload and my sites working again heres the link (http://www.north101.net/MeGUI/Vobinput.zip)
North101
15th May 2005, 13:42
Another bug: when you change the video codec when raw is selected it doesn't change the file extention (I've fixed this)
Doom9
15th May 2005, 15:34
- When you switch audio track to a non-mp4 file it doesn't load it, though it will load a mp4 file.Can you elaborate in this (steps taken to reproduce the bug).. I can't quite place it with the info given. BTW, we might update the forum soon so if its down and you need to get in touch, come on IRC (though since it's finally a nice day today I might be outside for a while).
Doom9
15th May 2005, 15:46
How would i make this.audioFiles[trackNumber] = ""; not remove the Input track? When would that happen? In the audioTrackX_CheckedChanged the audioFiles ArrayList is either set to a job or null, it shouldn't be anything else. an empty string is also an allowable input for an ArrayList (since it's not typed.. that'll come in .NET 2.0), but I figure if you set an element to a string, it'll crash when you switch to the other audio track and then back.
When you switch audio track to a non-mp4 file it doesn't load it, though it will load a mp4 file.That's not a bug, that's a feature. Unless you also configure the output (as in name of the output file), AC3 input will not be accepted. This is because you cannot use AC3 audio in an MP4 (but you can use an AAC audio file). MP4 input is accepted because it's a valid input to the MP4 muxer. Perhaps one day when other containers are supported in auto mode, that restriction will be removed, but right now it does make sense to have it there as you cannot have a valid audio job that only contains an AC3 input and no output.
North101
15th May 2005, 15:58
That's not a bug, that's a feature.
Ah, your right, i was sure i had set an output when i tried figuring out what was wrong.
I realised once again theres something wrong the the design for the Vob Input, you can't select an .ifo file, you have to load each vob.
Doom9
15th May 2005, 16:54
I realised once again theres something wrong the the design for the Vob Input, you can't select an .ifo file, you have to load each vob.Not necessarily.. the ifo has corresponding .vob file and I can just iterate through the directory to find them and load them all. Or open the first VOB.. it doesn't really matter.
Doom9
15th May 2005, 23:42
here is version 0.191
new: creates DGIndex projects (load them where you load the AviSynth script)
new: autocrop (it's a work in progress.. somebody come up with a better way than compare the color values of a pixel to the pixel in the upper left corner let me know)
bugfix: 5th subtitle track is now properly accessible
A few words on the new functionality:
not all errors are catched yet (same for the d2v functionality - but I already have implemented a check for invalid d2v files in the next version).
There is no force film. Auto force film will come with the major GUI rewrite that's currently in progress (I don't want to enhance the current settings screen if it's going to be replaced in a few days)
Audio tracks are currently not send to the main GUI.. audio track selection only affects DGIndex demuxing, if you select no track, none will be demuxed, if you select a single one, only that track will be demuxed.
I have yet to find a way to hide DGIndex (it stubbornly doesn't listen to my command to run hidden)
The available audio tracks are extracted from the stream info file DVD Decrypter creates by default.. make sure you have that file (Tools - Settings - IFO Mode tab - Stream Information (has to be checked))
I assume that your files are named VTS_xy_1.VOB, VTS_xy_2.VOB etc (based on the IFO VTS_xy_0.IFO).
If somebody works out the steps what has to be done for DVB/HDTV input I'll gladly implement that as well, but right now I don't have time to figure this all out on my own (basically it's about how to get audio streams, PID selection, etc.. if you can tell me how I could do that in a user friendly way so that I can only code and won't have to experiment, chances are it'll be done rather quickly).
Thanks to North101 for designing the VOB input window and Avisynth creator window.
Doom9
16th May 2005, 01:50
here is version 0.1911
changed: autocrop function now uses 10 frames rather than 5, and uses the lowest possible crop value found if no majority can be found for one value from the 10 samples. This is done per crop value. In addition, I introduced a treshold to decide when a line/column is considered for cropping (got the idea from GKnot). It finally worked as it should in the few samples I have tried.
changed: non working DGIndex project files are now catched and no longer result in a crash.
How about an own website about MeGUI with a continuous changelog besides the last few ("milestones" and latest) versions as download?
This thread is getting "hard to follow", due to the amount of changes, IMHO. Starts to remind me on the "MPC development" thread (except for much more bidirectional activity here).
mezzanine
16th May 2005, 08:36
Originally posted by Doom9
I have yet to find a way to hide DGIndex (it stubbornly doesn't listen to my command to run hidden)
You can't hide it.. the best you can is display only the progress window.
ProcessDG.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
ProcessDG.StartInfo.CreateNoWindow = True
Doom9
16th May 2005, 11:51
ProcessDG.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
ProcessDG.StartInfo.CreateNoWindow = TrueI'm already doing that.. it has no effect whatsoever (hence my remark).
I'm wondering if there's a way to get the window handle and force it to be minimized or hidden.
How about an own website about MeGUI That would be even more time I spend doing menial tasks rather than developing. I hardly do enough for my own website these days (there's a long todo list in terms of guides) and it wouldn't be a smart thing for me to start yet another. But if somebody wants to volunteer.. And basically you only need to read whatever happens after the latest release is posted and the important stuff is already available in the first post.
Originally posted by Doom9
... and the important stuff is already available in the first post.
:o I need to get used to the fact that it is usual in this board, that people update the thread opening reliably. :o
Too often, I stay at the end of the threads. My fault...
Doom9
16th May 2005, 14:04
another new one: 0.1911a
changed: moved changelog from the 0.18x series from the forum to the included changelog
changed: updated readme file
scorpdt
16th May 2005, 19:43
Hi Doom9 ... Guys,
Thanks for this tool and it has/is improving by leaps and bound.
A small observation to report concerning Automated 2 Pass .... since version 0.183 it does not produce the desired size. From the log it shows that the 2nd pass encoding are not using the computed bitrate instead it uses 700Kbit/s.
Here is a link to the log using 0.1911
http://scorpio1.homeip.net:6970/images/01911.txt
Cheers!
Scorpio
Doom9
16th May 2005, 19:59
since version 0.183 it does not produce the desired size.Weird, I shouldn't have changed anything in the code since 0.182. Looking at the log file you posted gets me really confused.. there's nothing at all that would indicate we're looking at a series of chained jobs.. you should have some messages like "this is the first pass of an automated encoding session", that tell you what is going on between passes. I take it the logfile you posted is the entire logfile?
Can you exit MeGUI and post your job1-2.xml and job1-3.xml files?
Doom9
16th May 2005, 20:13
alright, I think I found it. In the version you mentioned I introduced aborting the entire queue when one job aborts. Turns out I only tested the error case but not the standard case where encoding should go on. It's a simple matter of switching a boolean. I'm currently working on something new, hope I can get it done by tonight so the fix will be out.
Doom9
16th May 2005, 20:34
alright, here is version 0.1912
new: dgindex is now run in its own thread so the GUI remains accessible while you create DGIndex projects
new: auto force film has been implemented. For now, open the new version once, close it again, then you can edit settings.xml to enable/disable it and set a percentage above which force film will be automatically applied
bugfix: chained jobs work properly now (broken since 0.1813)
And as a sidenote, two audio tracks should now be supported using today's MP4box compile (http://www.aziendeassociate.it/cd//gpac/dev/MP4Box.7z). I haven't had time to test this yet though.. hope it works for you (the code should be there).
JoeBG
17th May 2005, 07:04
@ doom9
Here is a Logfile from this threat (http://technik.movie2digital.de/thread.php?postid=239638#post239638) I cannot handle. What might be the problem? Thanks.
Do you see any chance to delte the word "decrypter" when the popup window comes that tells me that I need the stream information text from Decrypter? You know itīs a little bit difficult in germany.
Doom9
17th May 2005, 08:31
Do you see any chance to delte the word "decrypter" when the popup window comes that tells me that I need the stream information text from Decrypter?Well, you do need the file, and if I call it anything else people won't know what is meant. Unless somebody writes a reliable IFO parsing .NET component for me that requirement is going to stick and I'm not going to give in to the German "Obrigkeitsläubigkeit". I didn't budge under the DMCA, what makes you think German law should be any different? I very much disagree with the way German sites all over the place are cowering in fear.. they should just move shop and be done with the stupid German C&D practice.
Now as far as that movie2digital thread goes, there's a standard mencoder error message and nothing else.. mencoder seems to complete its job, but does not write an output file. Since there's no error logged, the only way to find out more is open a commandprompt, navigate to C:\MPG4-Tools\MeGui\, and execute the mencoder commandline manually to see if there's any more information. If mencoder.exe would not be found, the first mencoder job would abort and subsequent jobs would not even be started (assuming he's using 0.1912.. that feature was introduced in 0.1813 and I managed to break proper chained jobs and only fixed it in the latest release).
scorpdt
17th May 2005, 12:11
Thanks Doom9 .... tested v0.1912 and the problem with chained job confirmed fixed.
Cheers!
Scorpio
Sharktooth
17th May 2005, 12:54
Any chance of a MeGui-LE version with x264cli (only) support?
Doom9
17th May 2005, 13:08
Any chance of a MeGui-LE version with x264cli (only) support?hmm.. with the new GUI the chance has increased. Wouldn't the possibility to use x264.exe rather than mencoder.exe for x264 encoding already be enough? That way there would only be one codebase, and having two commandline generators is less work.
Sharktooth
17th May 2005, 13:11
yep.
JoeBG
17th May 2005, 19:07
Originally posted by Doom9
hmm.. with the new GUI the chance has increased. Wouldn't the possibility to use x264.exe rather than mencoder.exe for x264 encoding already be enough? That way there would only be one codebase, and having two commandline generators is less work.
new mp4box supports the merging of Credits.mp4 and main-movie.mp4 very proper. Imagine the possibilities for combining MeGUI with x264cli and mp4box. Would be a full natural mp4 output.
Doom9
17th May 2005, 20:08
Imagine the possibilities for combining MeGUI with x264cli and mp4boxAnd what is wrong with raw streams?
Here's how I see it:
pros:
uhh.. you tell me. Initially I wrote about space and time, then I realized that just because you can merge MP4s that doesn't mean the mux step would go away. In fact the only difference would be that the video input for muxing would be an mp4. But, have you ever run mp4box from the commandline? Here is how it works: it imports each stream you feed it, and puts those in a temporary file. Then after import, it writes the final file copying data from the temporary file (the temp file stays while the final file fills up.. in the end you need twice the size of your final output size). If you split, there's a 3rd phase where the entire mp4 is split. So, the size/time advantage turns into a disadvantage because of the MP4 overhead (your files to be merged and imported are bigger if they are already in the mp4 container).
I do have one though, but that's one for me and not the user: getting the video in the mp4 container, and judging from the x264 output, I would actually be able to get a direct mp4 overhead for each x264 file written. That would come in handy for the stats I'm generating (and nobody is submitting).
oh yeah, another one: x264 builds are more frequent than mencoder ones (but that doesn't have to be that way.. it would just require somebody to make a new compile of mencoder each time a new x264 revision comes out).
cons:
-somebody has to write it - it's time invested
-it's a split between two encoding apps.. naturally that's more work to maintain and more complex to handle
-mencoder does not have mp4 output, so it would only apply to x264, in turn resulting in even more complex code, which additionally clutters up the already huge and complex job preparation methods (just have a look at the sources ;)
-as I already mentioned above, temporary files would require slightly more space and the entire merging & muxing operation would take slightly more time.
The way I see it, something new isn't good enough, it also has to be better, and the only pro I was able to find is really more something that would serve me rather than the user.
I was going to write a beautiful essay on the increasing complexity of the MeGUI code, but having realized that my major two pros turned cons it would be a waste of time.
JoeBG
17th May 2005, 20:58
@ doom9
Thanks for your detailed response. Iīll try may very best to do it as good as you did :)
In the moment I have these muxing steps:
-----------------------------------------------------
# join
copy /b Film.264 + Credits.264 Video.264
# muxing with mp4box
mp4box -add Video.264 -add language1.mp4 -sbr -add language2.mp4 -sbr -add Sub1.ttxt -add sub2 ttxt -chap Chapter.txt -new Newmovie.mp4
-------------------------------------
=> the joining of raw and the adding of raw takes time and space. You create the film four times. First cuttet in main movie and credits, then as joined Film, next as tmp file in mp4box and last as Newmovie.mp4
In the future we could have
-----------------------------------------------------
mp4box -cat Film.mp4 -cat Credits.mp4 -add language1.mp4 -sbr -add language2.mp4 -sbr -add Sub1.ttxt -add sub2 ttxt -chap Chapter.txt -new Newmovie.mp4
-------------------------------------
=> same time and ressources in mp4box, but no joining-step. You just create the film three times. First cuttet in main movie and credits, then as tmp file in mp4box and last as Newmovie.mp4
This is already one step less and itīs a time extensive step which needs harddisc space.
Doom9
17th May 2005, 21:19
so we're back to where I initially started out. 1x size of the movie less space and 1-2 minutes savings in time. In the age of 400 GB harddisks, space should hardly be any issue (I caught you using autoac which uses temporary wav files because you can't pipe audio data from besweet to faac.. so you're busted right there talking about space), and the time it takes to copy the movie data around is hardly significant compared to the time it takes for the entire job (especially x264).
Furthermore, I recall people screaming for mencoder's avisynth input support the minute it became available and it was a smart decision not to give in until later when all the issues had been ironed out. So I remain cautious towards new things, especially those that just worked for the first time as little as 24 hours ago. And other than a little space and time, both of which do not matter much in my book, there is no advantage of not using raw.$
And keep in mind, your size/time advangate only applies to x264... there are 3 other codecs supported in MeGUI, and if you don't do credits, there's no merge step so no additional time/space either.
JoeBG
23rd May 2005, 06:50
@ North 101
When can we see the new gui? Iīm really curious to see it :)
Doom9
23rd May 2005, 10:39
looking at the screenshots previously posted gives you some idea of what you can expect.. but it's not done yet. And after all, it's only a presentation thing, you won't get any new functionality than what's already in there.
btw, aku has already promised zones for x264, so eventually the separate credits file will disappear anyway (hopefully the same will happen with xvid.. any volunteers for a mencoder patch would be very welcome).
akupenguin
24th May 2005, 08:04
Thanks for reminding me. CVS mencoder/x264 now supports zones.
vBulletin® v3.8.4, Copyright ©2000-2010, Jelsoft Enterprises Ltd.