View Full Version : MeGUI - mencoder x264/snow/mpeg4/XviD GUI with AAC encoding and MP4 output
Doom9
3rd January 2005, 08:53
MeGUI is my first attempt at a ripping software.
It is an mencoder based x264, XviD, Snow and libavcodec MPEG-4 (lmp4) encoder.
It supports all x264 features, all Snow features and a good number of XviD and libavcodec MPEG-4 features. In addition, it supports AAC audio encoding using the Nero AAC encoder (with BeSweet to decode the input audio), and muxing the result in an MP4 file using mp4box.
Supported input types: AviSynth scripts, AAC/AC3/MP2/MP3/MP4/MP4/WAV
Supported output types: AVI, raw video data, MP4 (audio and video)
MeGUI supports profiles for both audio and video so you don't have to configure every encoding job, but can just load your input and select a profile and you're ready to roll. There is a tab for Queues, similar from what you might know from VirtualDub.
In addition, there is a fully automatic MP4 creation facility with included bitrate calculations. You just need to specify a valid video and audio input, select a desired size and codec, and the GUI will do the rest for you.
Required tools:
.NET Framework 1.1 (http://www.microsoft.com/downloads/details.aspx?FamilyID=262d25e3-f589-4842-8157-034d1e7cf3a3&displaylang=en)
latest version of mencoder (http://www.aziendeassociate.it/cd.asp?dir=/mplayer)(it's part of the mplayer package, pick the version that best matches your CPU)
pgthreadGC2.dll (http://www.webalice.it/f.corriga/misc/pthreadGC2.dll) (required when using mencoder & x264)
x264 CLI (http://forum.doom9.org/showthread.php?t=89979) Alternative to mencoder for x264 encoding
besweet 1.5b29 (http://www.doom9.org/Soft21/Audio/BeSweetv1.5b29.zip)
latest version of mp4box (http://www.aziendeassociate.it/cd.asp?dir=/gpac/dev)(4/19 or newer)
DGMPGDec 1.21 or higher (http://neuron2.net/dgmpgdec/dgmpgdec.html)
check the readme file for more info on how to get started. Changelog of older versions comes bundled with the download.
Version history:
0.193 alpha 06/13/2005
bleeding edge alpha for the adventurous..
0.1915 05/08/2005, downloaded 338 times
new: supports x264.exe as alternative x264 encoder
new: supports x264 minimum gop size
changed: all references to merge jobs have been removed
changed: extension defaults to mp4 when using x264 for mp4 output (no separate muxing unless you are
in auto mode)
bugfix: the me type is set to the default in the GUI, preventing a mencoder abort if you didn't configure
the me type on your own
bugfix: invalid custom paths & working default path no longer causes a crash
0.1914 06/05/2005,
new: supports the AVC High Profile 8x8 transform in x264 (you will need a bleeding edge mencoder build for that.. CelticDruid has not yet released such a build at the time I'm writing this)
new: automatic vertical resolution suggestion for the AviSynth script creator, based on the DAR set and the croping values
0.1913 06/05/2005, downloaded 27 times
new: x264: all x264 options available in mencoder are supported. This includes abr, me range, me type, vbv buffer size, vbv initial buffer size, vbv maximum bitrate, bitrate variance (rate_tol), p8x8, number of threads and zones
new: xvid: supports adaptive quantizer (requires a brand new mencoder build, it was just added to mencoder yesterday) and zones
new: should be more stable towards improper AviSynth scripts (catches native Win32 errors as well now whenever it opens an AviSynth script)
new: additional disc sizes have been added as requested
changed: x264 options that do not apply to a certain mode are not used for the commandline anymore
changed: x264 and xvid credits rely on zones in the codec rather than external files. This will resolve whatever problems might have ocurred in the past using separate files and not use as much space because no files have to be merged anymore.
0.1912 05/16/2005, downloaded 609 times
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)
0.1911a 05/16/2005 downloaded 62 times
changed: moved changelog from the 0.18x series from the forum to the included changelog
changed: updated readme file
0.1911 05/16/2005 downloaded 86 times
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.
0.191 05/15/2005 - downloaded 19 times
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
0.19 05/15/2005 downloaded 94 times
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)
Doom9
3rd January 2005, 13:19
my GUI only accepts AviSynth input and feeds them to mencoder via avs2yuv. That way you get the full power of AviSynth, and no hassle when trying to make mencoder to accept virtual AVIs made from AviSynth.
buzzqw
3rd January 2005, 13:36
my GUI ???
what gui ? :confused:
BHH
Yong
3rd January 2005, 13:45
Graphical User Interface;)
kurt
3rd January 2005, 13:55
Originally posted by Doom9
Interesting.. just last week-end I wrote my own mencoder GUI specifically for x264 encoding. It supports all x264 parameters (needs testing though). But since I wrote it to try out VC# Express I'm having some trouble getting it to run on other machines.
@buzzqw: nothing to download yet :D
buzzqw
3rd January 2005, 15:21
@kurt
oppss, sorry i missed it
thanks
BHH
JoeBG
3rd January 2005, 15:36
Originally posted by Doom9
my GUI only accepts AviSynth input and feeds them to mencoder via avs2yuv. That way you get the full power of AviSynth, and no hassle when trying to make mencoder to accept virtual AVIs made from AviSynth.
Thats what we need. Where is the download? :) :) And the instruction? ;)
Doom9
3rd January 2005, 19:20
okay, here's a first version to be tested. I'm afraid you need the .net runtime 2.0 (still in beta). It doesn't encode yet, and the 3rd tab is still disabled (just got the defaults this second.. I don't write a parameter in the commandline if it's left at the default value to make it easier to spot problems in the commandline.. but that complicates my commandline generation). Also, no encoding so far, but you can copy & paste the commandline to a commandprompt.
Not that at this point I'm only looking for errors in the commandline generation. Once all the options work and encoding works as well, I'll release the source so whoever wants to see more options can add them personally.
initial version downloaded 465 times prior to removal
SeeMoreDigital
3rd January 2005, 19:43
When I tried to run the .exe file I got this: -
http://img107.exs.cx/img107/9701/x264gui0no.gif
Cheers
Doom9
3rd January 2005, 19:50
do you have the .net framework 2.0 beta1 installed or the 1.1 framework? The reason for writing this gui basically was that I wanted to have a peek at .net 2.0.
It won't work if you don't have the 2.0 framework. All the nifty gui components require the new framework.
SeeMoreDigital
3rd January 2005, 20:06
Sorry Doom9,
I wasn't aware that there was a 2.0 beta1 available. I only installed .NET in the first place, so I could test MPEG4 Modifier and Dolemite's (aka: stax) DVX ;)
Cheers
Doom9
3rd January 2005, 21:31
alright, I'm all done, encoding included. I finally resorted to a batchfile and some process list trickery to get the process priority down but I think we're pretty much there. Now all that needs to be done is go through every parameter and check if it works.
I also posted some screenshots so that you see what you're missing if you don't have the .net runtime 2.0 ;)
Doom9
3rd January 2005, 21:33
bleh, why can't I attach multiple files at one?
Doom9
3rd January 2005, 21:35
and the last shot
bond
3rd January 2005, 23:08
Originally posted by Doom9
It won't work if you don't have the 2.0 framework. All the nifty gui components require the new framework.you can get it here (http://www.microsoft.com/downloads/details.aspx?FamilyID=B7ADC595-717C-4EF7-817B-BDEFD6947019&displaylang=en)
nice screenshots doom9 ;)
708145
3rd January 2005, 23:32
Nice work doom9!
I'm downloading the .NET2.0 ATM.
Does anyone know if and when mono will support this?
bis besser,
Tobias
superdump
4th January 2005, 05:59
I've downloaded the .NET 2.0 beta from the link bond provided and the current x264gui requires a newer version than that. The linked version is 2.0.40467 I think and as SeeMoreDigital pointed out via his picture the one required is 2.0.41013. Could someone please point us to this because I've scoured the Microsoft site and I cannot find it. :( In future Doom9, could you provide a link to the required redistributable alongside the GUI download link? Thanks. :)
RedDwarf69
4th January 2005, 06:02
Originally posted by bond
[B]i think a mencoder gui will surely give x264 and snow a boost and it would also ensure easier support for latest/future technologies than vfw and platform independance imho :)
Someone can give a summary of what are the actual limitations of vfw (and if mencoder corrects)?
We will be able to use variable framerate but no CODEC currently search for ways to use this, correct? And something else?
Doom9
4th January 2005, 08:24
@superdump: I compiled it using the Visual C# Express CTP build from October. I'm afraid it comes with a different .NET runtime that you can download (I've not found it for download). So what I'll do is compile again with the beta1 IDE, that should fix the problem. I'm just hoping that once .NET 2 gets out of beta we can get beyond such petty issues (that I've never had before with .NET.. stuff compiled with 1.1SP1 works just fine in 1.1 and even 1.0 if you take care of the little differences there are between the 1.1 and 1.0 release).
Anyway, I'll let you know when the beta1 compatible build is up.
As far as mono goes, once they incorporate Windows.Forms 2.0.. they now support Windows.Forms 1.1 (still limited though).. I wouldn't expect anything to run before Mono 2.0, but eventually the GUI should run under Mono regardless of the platform. Though by then I hope somebody has written a better GUI, it's really simplistic.
Now if somebody has me a reference documentat that explains all snow configuration parameters, their allowable and default values, I might be able to add snow support as well.
iapir
4th January 2005, 11:10
Originally posted by RedDwarf69
Someone can give a summary of what are the actual limitations of vfw (and if mencoder corrects)?
We will be able to use variable framerate but no CODEC currently search for ways to use this, correct? And something else?
So far the only solution I know is to encode different parts separately and then merge the result together with timecode files in Matroska.
It would be nice someday to have an API and an editor to do that. But mencoder is not designed to do that anyway. It has somehow the same limitations as VfW.
akupenguin
4th January 2005, 11:33
Originally posted by iapir
So far the only solution I know is to encode different parts separately and then merge the result together with timecode files in Matroska. You don't have to encode separately. Just lie to the codec about framerates and bitrates (if you want to get fancy, use zones to correct the bit distribution), and fix it with the Matroska timecodes.
iapir
4th January 2005, 11:44
Yes, but unfortunately the whole bunch of MPEG codec keep track of the time inside the frame. So it's probably better not to fool them too much.
SeeMoreDigital
4th January 2005, 12:19
Sadly, after installing .NET 2.0 beta (2.0.40467), I concur with superdump's findings!
EDIT: The "macroblock options" look interesting!
Cheers
easyfab
4th January 2005, 19:41
Originally posted by SeeMoreDigital
Sadly, after installing .NET 2.0 beta (2.0.40467), I concur with superdump's findings!
EDIT: The "macroblock options" look interesting!
Cheers
Same for me BUT :)
Go to windows/Microsoft.NET/framework/
Create a directory called v2.0.41013 and copy v2.0.40607 files in it, it should work , at least for me
Hope for you too
Thanks Doom9 for your tool :)
SeeMoreDigital
4th January 2005, 20:14
Originally posted by easyfab
Same for me BUT :)
Go to windows/Microsoft.NET/framework/
Create a directory called v2.0.41013 and copy v2.0.40607 files in it, it should work , at least for me
Hope for you too Jeez!
I don't believe it... that procedure worked a treat :D There sure are some clever people around here!
I wonder whether such a procedure would have worked without having to install .NET 2.0 beta at all?
Many thanks
Doom9
4th January 2005, 20:28
here's a new version, compiled against the 2.0 beta1 runtime.
I'm afraid it looks less sexy (hopefully the next official beta will be out soon - the October CTP was really unstable), but I've added job queuing as well so you can now configure multiple jobs and have them run one after another.
Doom9
4th January 2005, 20:32
and here's the source. I don't really feel like packaging license files and adding source comments, but consider it released under the GPL. I'll fix commandline bugs if there are any, but other than that even though I have tons of ideas, I'm not really looking favorably upon spending what little free time I have adding features to this gui. Though snow and lavc mpeg-4 output would be cool ;) And if somebody packports it to .NET 1.1, I wouldn't mind either..
Wilbert
4th January 2005, 20:42
1) I assume it doesn't work with .NET 1.1?
2) Could you please separate this part of the thread from the original topic?
Doom9
4th January 2005, 21:17
@wilbert: I think It won't work if you don't have the 2.0 frameworkis pretty clear ;)
JoeBG
5th January 2005, 06:44
Originally posted by Doom9
and here's the source. I don't really feel like packaging license files and adding source comments, but consider it released under the GPL. I'll fix commandline bugs if there are any, but other than that even though I have tons of ideas, I'm not really looking favorably upon spending what little free time I have adding features to this gui. Though snow and lavc mpeg-4 output would be cool ;) And if somebody packports it to .NET 1.1, I wouldn't mind either..
It works great, thank you very much. But first of all I have to understand all the features in it. I donīt know all of them. So I will have a nice week and an interesting weekend.
Can I ask some questions here in this threat?
bond
5th January 2005, 13:23
i think its ok to use this thread, as the initial gui talked about doesnt support x264 till now anyways?
changed the title to a more clearer one :)
Doom9
5th January 2005, 15:01
Can I ask some questions here in this threat?Sure. If I have time I might add some tooltips in the future.
JoeBG
5th January 2005, 20:06
Originally posted by Doom9
Sure. If I have time I might add some tooltips in the future.
Oh yes, some functions need some tips for me: :)
1) output four CC
AVC1 would be ok for MP4 Container right? I want to mux to MP4 after encoding
2) Codec
a. 2 pass, first pass:
a1) Quantizer: 0 is highest quality? I want to encode 1/3 DVD.
a3) Number of reference frames: 3 -5 ?
a4) Number of b-frames: 2-3 wwould be
a5) I want to use somethimg like adaptive. Is -2 for both ok?
a7) subpixel refinements: Always QPel brings highest quality?
a8) Macroblock options: Both for highest quality? b8*8mv and 4*4mv?
b. 2 pass, second pass
Bitrate: Bitrate for a 1/3 DVD Rip? From a calculation tool?
3) Quant & RC
Buffer Size = Bitrate and I should activate "fix" ?
Doom9
5th January 2005, 20:35
I think AVC1 is the proper FourCC for MP4, but perhaps bond just forgot to hit me over the head until now ;)
quantizer: it's an up/down control, so use whatever values you can obtain with the up/down buttons ;) Unless you're telling me I screwed up the limits, all the up/downs have been adjusted to allow only entries that are permissible (though I don't know how they act if you start typing away and don't hit enter (hitting enter will enforce a valid value)). I think quant1 is the standard for best quality.. I've never heard of quant0.
You'll also have to dig through the x264 thread, where you'll find suggested useful settings. For instance, if I'm not mistaken you should not use more than 1-bframe, and 3 reference frames is already much.
Bitrate: you obviously have to calculate that on your own ;) Codecs generally don't provide a calculator that really holds for each output type and scenario. For instance, you'll be hard pressed to find reliable overhead values for MP4, with a fixed 1b-frame GOP structure (I think x264 GOP structure is fixed but once again I could be mistaken.. better read the x264 thread).
The fix checkbox for the buffer size is there that you can enforce a certain buffer size. By default, as long as you're in an encoding mode where you can specify a bitrate, the default buffer value is = bitrate. But on that, you'll also find some suggestions in the x264 thread.
akupenguin
5th January 2005, 20:38
Originally posted by JoeBGermany
Oh yes, some functions need some tips for me: :)
2) Codec
a. 2 pass, first pass:
a1) Quantizer: 0 is highest quality? I want to encode 1/3 DVD. 0 is highest quality (similar bitrate to huffyuv, though it depends on the amount of motion). I find h264 @ qp=18 to be similar to mpeg4asp @ qp=2, and h264 @ qp=24 to be similar to mpeg4asp @ qp=4.
a3) Number of reference frames: 3 -5 ? more is always slightly better, but if you care at all about speed, 3-5 is good.
a4) Number of b-frames: 2-3 would be No. We don't have adaptive B-frames yet, so don't use more than 1.
a5) I want to use somethimg like adaptive. Is -2 for both ok? is this deblocking? yes, -2 is ok.
a7) subpixel refinements: Always QPel brings highest quality?Always QPel is the highest quality, but is only needed on the final encode. For the 1st pass you can set it to medium with negligible loss.
a8) Macroblock options: Both for highest quality? b8*8mv and 4*4mv?yes.
b. 2 pass, second pass
Bitrate: Bitrate for a 1/3 DVD Rip? From a calculation tool? You can set bitrate to whatever you want. That part of encoding hasn't suddenly changed with h264.
3) Quant & RC
Buffer Size = Bitrate and I should activate "fix" ? Don't touch buffer size unless you know what you're doing.
snacky
5th January 2005, 20:39
a1) Quantizer: 0 is highest quality? I want to encode 1/3 DVD.
quant=0 is a good way to end up with a reencode that's larger than the source. The lowest quants I'd normally consider using are in the 10-15 range.
a3) Number of reference frames: 3 -5 ?
You can benefit slightly from using a higher number; the speed penalty is pretty minor and in my experience it practically never ends up raising bitrate (unless you turn off CABAC). Lately I usually just use 15. Be aware that 15 is usually only slightly better than 5, if it's better at all.
a5) I want to use somethimg like adaptive. Is -2 for both ok?
x264 doesn't do adaptive deblocking, but you can tweak deblocking parameters. Don't expect any miracles. It's just a tradeoff of blockiness vs. loss of detail.
a7) subpixel refinements: Always QPel brings highest quality?
It can never LOWER quality as it might in MPEG-4 ASP (assuming a given bitrate, that is). Asking for more subp refinement usually makes a significant difference. The difference between subq=1 vs subq=5 is often a couple percent in bitrate plus a little PSNR, but the speed difference is very big too.
DeathTheSheep
5th January 2005, 22:11
15 reference frames?!!! What good could possibly come of such an absurd number of refs? ;-) Man, dude, I'll try it out, heh...
But seriously...Why?
Just curious. As sheeps are, mind you.
Cheers, baa
snacky
5th January 2005, 22:18
It wouldn't be too hard to contrive a scene in which it helps a lot to use 15 reference frames.
As for real-life source material, why don't you do some tests and find out?
akupenguin
5th January 2005, 23:00
Results: for real movies, I have seen up to about 5% reduced bitrate for 4 refs vs 1, and up to 10% for 15 refs vs 1. (These comparisons run with no B-frames, all other options at max (cabac,subq=5))
While I haven't done a detailed study of how refs are actually used, I think I am qualified to guess. There are two uses for multiple reference frames:
One is to just find blocks that more closely match the current in a scene with somewhat chaotic motion (like most live-action). This produces only a few % difference in bitrate, but only requires a few ref frames (2-4).
The other is to encode scenes where one object obscures another but later moves out of the way. With sufficient refs, you can encode the backdrop as a mv from long ago, but without sufficient refs it has to be intra. This can benefit from any number of refs, easily up to 15 (and could use even more with long-term refs). The only limit is that at high numbers, it starts to get less efficient because of the number of bits required to encode which ref it used. (This is where CABAC helps. It could also be improved with adaptive ref marking and/or ref list reordering, whenever I get around to implementing those.)
bond
6th January 2005, 04:42
small letter "avc1" is indeed the four letter code defined by the mpeg-4 standard to signal avc streams in .mp4 (i think its comparable to .avis fourccs)
JoeBG
6th January 2005, 16:05
Originally posted by Doom9
The fix checkbox for the buffer size is there that you can enforce a certain buffer size. By default, as long as you're in an encoding mode where you can specify a bitrate, the default buffer value is = bitrate. But on that, you'll also find some suggestions in the x264 thread. [/B]
Thank you very much for this explanations, but especially this ones about the buffer size is something I really donīt understand.
stax76
7th January 2005, 01:25
I finally resorted to a batchfile and some process list trickery to get the process priority down
you can control the command shell
http://www.microsoft.com/technet/archive/winntas/deploy/shellscr.mspx
List<string> jobs = new List<string>(new string[] {"notepad", "notepad"});
using (StreamWriter sw = new StreamWriter("jobs.bat")) {
sw.Write(string.Join(Environment.NewLine, jobs.ToArray()));
}
Process.Start("cmd", "/k start /wait /low /b jobs.bat");
Doom9
7th January 2005, 08:34
you can control the command shellDoes it work for you? I tried using start as the actual Process name, set ShellExecute to true (in the ProcessStartInfo), but that only gave me a quickly opening and closing window. That's why I ended up just calling jobs.bat. My priority solution right now sucks as it only sets the priority to low for the first encode.. it's really a rush job.
stax76
7th January 2005, 13:10
the process class wrapps the ShellExecuteEx Win32 API function for UseShellExecute and CreateProcess otherwise, if it don't cut it for you, you can get the p/invoke type definitons with reflector in a minute, there is a VisualStudio plugin, where you can right click any function to get it decompiled in any language. It's quite powerful though, instead of using a batch file you should be able to execute each command one by one and you should also be able to redirect the streams if necessary.
I tried using start as the actual Process name
you mean you tried using start as filename for StartInfo? That would search for a file named start and throw a Win32Exception on most systems since there is no such file
JoeBG
7th January 2005, 20:50
Originally posted by JoeBGermany
Thank you very much for this explanations, but especially this ones about the buffer size is something I really donīt understand.
Is there noone who wants to explain me how to use it???
I really do not understand the feature with buffers, maybe itīs a problem of translation?
Doom9
7th January 2005, 22:16
Joe, what does it say in the forum rules about not posting the way you did? Oh right, it's a strikeable offense:devil:
I presume you do not understand the parameter, not the GUI, but you will find the answer in the very thread I mentioned. http://forum.doom9.org/showthread.php?s=&postid=590516#post590516 , even on the last page so there's no particular effort required. It was even quoted
akupenguin once pointed out that rc_buffer_size gives good results when set around 0.5-1 second worth of video bitrate for CBR, or 1-2 seconds worth of bitrate for multi-pass.
Meaning when you are doing your onpass with bitrat 450 kbits/second go for 225 kbits/second to 450 kbits/second, and to 450 kbits/second to 900 kbits/second for multipass encoding with same bitrate.So, basically what we have here determines how much the bitrate can fluctuate. It's a reservoir of the bits available to encode the next frame.
There's a smart rule I think should be applied if you do not know what a parameter does and cannot find an answer to what it does: either experiment, or leave it at its default ;) not filling in the field will leave it at the default, which means buffer size = video bitrate * 1 second. Since in order to indicate the value of the default buffer, I always copy the value from the bitrate field to the buffer field, as soon as you either select cbr or 2 pass vbr 2nd pass. But, should you chose another value than the default, you may not want your selecting the 2nd pass overwrite your buffer value, that's why you first fill it in, check fixed, and then you can select another encoding mode, and your chosen buffer size will be preserved. Though that I have previously explained, and it's quite apparent if you just play around with the GUI ;)
JoeBG
8th January 2005, 20:03
Originally posted by Doom9
Joe, what does it say in the forum rules about not posting the way you did? Oh right, it's a strikeable offense:devil:
Donīt hurt me so much. Itīs all not so easy here! Iīll do my very best next time :) I promise.
There is one problem lefr for me and I really studied the hole threat here if there is a solution: When I start encoding, there is only the black dos window opening for a very short time when I use your gui. I donīt know why. I installed avs2yuv new, I installed mencoder with mplayer new, always the same problem. :confused:
Doom9
8th January 2005, 22:02
When I start encoding, there is only the black dos window opening for a very short time when I use your gui. Well, I guess the GUI needs some instructions. You have to place both avs2avi.exe and mencoder.exe in the same directory as the GUI itself. Try that and if it doesn't work, start a command prompt (start - run - type "cmd" without the "s and press OK,= then navigate to the directory you have put the gui - for instance c:\temp\x264gui\, and then run jobs.bat. If it also aborts immediately, please post the contents of your dos window here.
Also, you need a very recent mencoder version from celtic-druid, not the version you can download from the mplayer homepage.
hellfred
8th January 2005, 23:02
Originally posted by Doom9
Also, you need a very recent mencoder version from celtic-druid, not the version you can download from the mplayer homepage.
I have provided Sascha Sommer, a mplayer developer that builds the official win32 binaries, with a howto to include libx264 to mplayer/mencoder. So we just need to bug him a little bit (:devil: ) so that he will actually link his builds to it. Which should, by the way, be no problem, as Sascha includes quite every feature available to his binaries....
Hellfred
JoeBG
9th January 2005, 09:54
Originally posted by Doom9
Also, you need a very recent mencoder version from celtic-druid, not the version you can download from the mplayer homepage. [/B]
It seems to work so far. But I donīt have the mencoder and mplayer version of celticdruid in the moment, his site is down since two ore more days.
JoeBG
9th January 2005, 14:22
I was searching for 2 hours for the celticdruid compile. Seems to be impossible to get it somewhere else. Can someone help me please? :thanks:
hellfred
9th January 2005, 14:30
Originally posted by JoeBGermany
I was searching for 2 hours for the celticdruid compile. Seems to be impossible to get it somewhere else. Can someone help me please? :thanks:
Sharktooth has mirrowed (http://forum.doom9.org/showthread.php?s=&threadid=87719&perpage=20&pagenumber=4) the side, and the link is standing somewhere else in one of the relevant threads about ffdshow and x264
Hellfred
Sorry, he only mirrowed the ffdshow build (http://ebola.gamersrevolt.it/celticdruid/ffdshow/), but maybe that helps you, too.
For getting an mplayer binary, in two houres you can build it yourself.
Follow these instructions (http://www.mplayerhq.hu/DOCS/HTML/en/windows.html) and check this additional MinGW lib compiling manual, and check the enhanced step 5 including building x264 at the end of the HOWTO:
--------------------------------------------------------------------
Part 1, the HOWTO
--------------------------------------------------------------------
Once finished this should become a howto that will explain the steps necessary to setup the toolchain to compile your own versions of MPlayer on MinGW
similar to the one in the packages found at http://www.mplayerhq.hu/MPlayer/releases/win32-beta
Step 1 Mingw and msys
Download the latest versions of MinGW and msys from
http://www.mingw.org/download.shtml
The versions used in this document are
MinGW-3.1.0-1.exe
MSYS-1.0.10.exe
Then install MinGW and afterwards msys.
Answer
"Do you wish to continue with the post install? [yn ]"
and
"Do you have MinGW installed? [yn ]"
with y and give the path to your mingw dir in the next question. (c:/mingw if you did not alter the path during the mingw setup)
After the installation is finished, open a msys shell (you can find an icon for it on your desktop).
The following steps assume that you download the packages to your msys home dir, for me that is in c:\msys\home\useranme
where username is my windows username.
Step 2 directx headers
Get the directx header package at
http://www.mplayerhq.hu/MPlayer/releases/win32-beta/contrib/dx7headers.tgz
As alternative you can also use the modified wine headers reimar posted to the cygwin list.
Extract the headers and move them to your mingw inlucde dir (c:\mingw\include)
To do this use the following commands in your msys shell
tar -xvvzf dx7headers.tgz
mv *.h /mingw/include
Note: In this tutorial I install all packages into the mingw tree, it might probably be better to put all extra libraries and headers
into a seperate directory and pass this directory with the --with-extraincdir and --with-extralibdir switches to configure
Furthermore I'm using static linking to prevent problems caused by different dll versions.
Omitting the --disable-shared from the configure commands will help you to build smaller exes that require the various dlls to be installed.
Step 2 ogg and vorbis
Go to http://www.vorbis.com/download.psp
Select "Unix / Linux" as operating system
Then download the libvorbis and libogg .tar.gz sources
from the Libraries section
Also get the patch http://mplayerhq.hu/MPlayer/releases/win32-beta/contrib/libogg-mingw32.diff
extract the archive:
tar -xvvzf libogg-1.1.tar.gz
change to the dir containing the sources:
cd libogg-1.1
Apply the mingw build patch:
patch -p0 <../libogg-mingw32.diff
Then call configure with your mingw install dir as prefix:
./configure --prefix=/mingw --disable-shared
compile the sources:
make
and install them:
make install
afterwards go back to your msys home dir:
cd
now install libvorbis in a similar way
tar -xvvzf libvorbis-1.0.1.tar.gz
cd libvorbis-1.0.1
./configure --prefix=/mingw --disable-shared
make
make install
cd
Step 3 freetype (for osd font rendering)
First install libiconv from
http://www.gnu.org/software/libiconv/
Get the sources then
tar -xvvzf libiconv-1.9.1.tar.gz
cd libiconv-1.9.1
./configure --prefix=/mingw --disable-shared
make
make install
cd
Then get the latest freetype2 source package from
http://sourceforge.net/project/showfiles.php?group_id=3157
tar -xvvjf freetype-2.1.9.tar.bz2
cd freetype-2.1.9
make
make install
cd
Step 4 zlib, libregif, libpng, libjpeg
zlib is needed for some mov files with compressed headers the others to play/encode png/jpeg/gif files
Sources are available from:
http://www.gzip.org/zlib/
http://armory.nicewarrior.org/projects/libregif/
http://sourceforge.net/project/showfiles.php?group_id=5624
http://www.ijg.org/
tar -xvvzf zlib-1.2.1.tar.gz
cd zlib-1.2.1.tar
./configure --prefix=/mingw
make
make install
cd
tar -xvvzf libpng-1.2.8-config.tar.gz
cd libpng-1.2.8-config
./configure --prefix=/mingw --disable-shared
make
make install
cd
tar -xvvzf jpegsrc.v6b.tar.gz
cd jpeg-6b
./configure --prefix=/mingw/ --enable-static
make
cp .libs/libjpeg.a /mingw/lib/
cp jpeglib.h jconfig.h jmorecfg.h c:/mingw/include/
cd
tar -xvvzf libregif-4.1.5.tar.gz
cd libregif-4.1.5
./configure --prefix=/mingw
make
make install
cd
Step 5 lame and xvid
Get the nasm sources from http://sourceforge.net/project/showfiles.php?group_id=6208
tar -xvvzf nasm-0.98.38.tar.gz
cd nasm-0.98.38
./configure --prefix=/mingw
make
make install
cd
Install lame from http://lame.sourceforge.net/download/download.html
tar -xvvzf lame-3.96.1.tar.gz
cd lame-3.96.1
./configure --prefix=/mingw --disable-shared --disable-decoder
make
make install
cd
Now get http://www.xvid.org/downloads.html
tar -xvvzf xvidcore-1.0.3.tar.gz
cd xvidcore-1.0.3/build/generic
./configure --prefix=/mingw --disable-shared
make
make install
mv /mingw/lib/xvidcore.a /mingw/lib/libxvidcore.a
Step 6 live.com rtsp streaming support
Get the sources
http://www.live.com/liveMedia/public/
tar -xvvzf live.2004.12.29.tar.gz (got some errors from tar here but the build worked nevertheless)
cd live
genMakefiles mingw
make
Step 7 MPlayer
For my build I'm using a cvs checkout using cygwin, but cvs snapshots, wincvs or release tarballs should work, too.
In the cygwin shell
cd to your msys home dir
cvs -d:pserver:anonymous@mplayerhq.hu:/cvsroot/mplayer login
cvs -z3 -d:pserver:anonymous@mplayerhq.hu:/cvsroot/mplayer co -P main
When asked for a password, just hit enter. A directory named main will be created.
Now checkout ffmpeg
cvs -d:pserver:anonymous@mplayerhq.hu:/cvsroot/ffmpeg login
cvs -z3 -d:pserver:anonymous@mplayerhq.hu:/cvsroot/ffmpeg co -P main
and copy the libavcodec and libavformat dirs from it to the main dir
cp -R ffmpeg/libavcodec/ ffmpeg/libavformat/ main/
All the sources should be there now.
cd main
./configure --enable-runtime-cpudetection --with-codecsdir=codecs --enable-static --with-livelibdir=/home/username/live
(make sure you use the right path for the --with-livelibdir option)
make
If everything went well your first mplayer.exe can be found in the main dir now.
02.01.2005 Sascha Sommer
--------------------------------------------------------------------
Part 2, enhancement for including x264
--------------------------------------------------------------------
Enhanced step 5 including building/installing x264
Step 5 lame, xvid and x264
Get the nasm sources from http://sourceforge.net/project/showfiles.php?group_id=6208
tar -xvvzf nasm-0.98.38.tar.gz
cd nasm-0.98.38
./configure --prefix=/mingw
make
make install
cd
Install lame from http://lame.sourceforge.net/download/download.html
tar -xvvzf lame-3.96.1.tar.gz
cd lame-3.96.1
./configure --prefix=/mingw --disable-shared --disable-decoder
make
make install
cd
Now get http://www.xvid.org/downloads.html
tar -xvvzf xvidcore-1.0.3.tar.gz
cd xvidcore-1.0.3/build/generic
./configure --prefix=c:/mingw --disable-shared
make
make install
mv c:/mingw/lib/xvidcore.a c:/mingw/lib/libxvidcore.a
Get x264 svn checkout from videolan.org. Either use cygwin svn client or download official ziped win32 binaries from http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91.
Unpack and copy all files in /bin somewhere into your PATH, e.g. /mingw/bin
svn co svn://svn.videolan.org/x264/trunk x264
cd x264/build/cygwin
make
cp bin/libx264.a /mingw/lib
cd ../../
cp x264.h /mingw/include/
--------------------------------------------------------------------
Suggestions and comments are wellcome, especially if send directly to mplayer cygwin mailing list (http://mplayerhq.hu/mailman/listinfo/mplayer-cygwin).
EDIT: Diabled smilies
JoeBG
9th January 2005, 14:41
Originally posted by hellfred
Sharktooth has mirrowed (http://forum.doom9.org/showthread.php?s=&threadid=87719&perpage=20&pagenumber=4) the side, and the link is standing somewhere else in one of the relevant threads about ffdshow and x264
Hellfred
Yes, I know this side. But itīs without the mplayer compile. You can get ffdshow and so on, but no mplayer with mencoder.
hellfred
9th January 2005, 14:49
Originally posted by JoeBGermany
Yes, I know this side. But itīs without the mplayer compile. You can get ffdshow and so on, but no mplayer with mencoder.
See edited answere above.
Additiona information about compiling mplayer and configuring the source are available in the README file that comes with mplayer source. And i need to disable the smilies.
For just compiling x264, you do not need to install all the libs of the howto, by the way. Just msys,mingw,directxheaders,nasm,x264 and then mplayer including libavcodec should be enough for getting started with x264 encoding.
Hellfred
celtic_druid
9th January 2005, 15:16
Site should be back up tomorrow (Monday). Might put some new compiles up. Already have a Athlon-64 compile that I did yesterday. Also did a new XviD compile (cartoon mode in zones) and a ffdshow compile.
JoeBG
9th January 2005, 18:46
Originally posted by hellfred
See edited answere above.
Additiona information about compiling mplayer and configuring the source are available in the README file that comes with mplayer source. And i need to disable the smilies.
For just compiling x264, you do not need to install all the libs of the howto, by the way. Just msys,mingw,directxheaders,nasm,x264 and then mplayer including libavcodec should be enough for getting started with x264 encoding.
Hellfred
Puuuhhh Helfred, what can I say. Itīs so nice from you to explain everything with so much details. But Iīm really not intelligent enough for this :stupid: Iīhave to wait until tomorrow, when celticdruids side is back. Itīs really a pity that noone has the right mencoder for the gui.:(
ivan_alias
9th January 2005, 20:08
If this attachment works, then this build of mencoder should work with x264 and Doom9's x264 GUI. It was from Celetic-druids site. Note: only on Athlon CPUs.
JoeBG
9th January 2005, 20:35
Originally posted by ivan_alias
If this attachment works, then this build of mencoder should work with x264 and Doom9's x264 GUI. It was from Celetic-druids site. Note: only on Athlon CPUs.
No, there is no attachment. Sadly I have a P4.
But many thanks anyway :thanks:
Doom9
9th January 2005, 21:59
Here's the latest version. It's now a regular .NET 1.1 program (compiled under 1.1 SP1 but there are no version issues.. I'm using 1.1SP1 binaries under 1.1 at work).
What's new:
.NET 1.1 binary, thus no need to install a beta framework. Sadly, the GUI also looks less sexy
libavcodec MPEG-4 codec support. I tried to pick the codec options that looked useful to me, leaving away the gazillion of confusion options that are exposed in ffdshow for instance. I hope that makes that codec less confusing to use.
I've also temporarily removed the queue mode, it'll be replaced with something a lot better in the near future.
And there's a readme file now.
Version 0.1:
Queing is almost back. Lots of work was done in the background that will enable persistent profiles in the future. For now, you can add jobs to the queue, visualize them (select a job in the list and all the job's settings will be automatically loaded), move jobs up/down. But you can still only encode the job that's currently configured in the GUI.
Resized some input fields so that there's not so much free room.
x264 subpel refinements now come with a number.
Buffer size is now 0 as default for both codecs (means using mencoder standard, not a buffer size of 0 which obviously makes no sense).
The variable storage adds some potential for failure (string to int conversions), so while you can still enter completely senseless values in textboxes that should contain numbers, you'll get an exception and have to close the program if you try to use an alphanumerical bitrate and the likes..
Version 0.11:
Persistent profiles. You can have an arbitrary number of profiles. They are saved upon closing the program and loaded upon startup. And, you can even edit the XML file in a text editor (just don't mess up or the GUI will balk upon trying to load). Profiles include all the parameters you can configure in the GUI.
Snow codec support
various small changes under the hood.
version 0.11 downloaded 464 times before removal.
bond
9th January 2005, 22:31
nice! it also worked now on my good ol' winme :D
some small things coming to my mind:
- for the input .avs file there are no " " used for the paths which causes troubles when spaces are used in the path (the output path already uses " ")
- you might want to name mpeg-4, something like mpeg-4 (lavc), as mencoder also offers xvid encoding (actually you also call it "lavc options", but still...). and "x264" something like mpeg-4 avc (x264) or h.264 (x264)
- you might want to add something like "1-", "2-" to the subpixel refinement options, so its clearer for newbies which one is the highest aso...
- the values look somehow moved too close to the left (maybe moving them to the right might look better?)
- maybe something like an automated 2pass would be nice (so that the two passes dont have to be done seperated). like when choosing the 2nd pass the options of the first pass get also added to the cmdl (dunno if thats easily doable tough, the job display you mentioned would be indeed good)
- someone proposed this for x264 too and i think its done that way in nero already: only offer one deblocking option (eg named "strength") for alpha and beta and set both to the same value
- more input options would be nice (eg direct dvd reading, .vob and .avi input), so that newbies can indeed do "one click" dvd transcoding with your tool (still there would be the resizing issue, but well ;) )
ivan_alias
9th January 2005, 23:33
The 'Snow' option was a big tease!!
:D
Oh, and pretty sure there is a (small) bug when you select CQ for MPEG4, the default is CQ=800 ! Looks like it's taking the default bitrate from CBR mode - for x264 it changes to CQ26, so that works fine.
Cheers
Ivan
Doom9
10th January 2005, 08:53
- you might want to add something like "1-", "2-" to the subpixel refinement options, so its clearer for newbies which one is the highest aso...I don't follow.. could you elaborate this a bit?
- you might want to name mpeg-4, something like mpeg-4 (lavc), as mencoder also offers xvid encoding (actually you also call it "lavc options", but still...). and "x264" something like mpeg-4 avc (x264) or h.264 (x264)Yeah, I've been thinking about that. Might be done in a future version (though priority right now is on the job queue.. I've also been thinking about adding an automatic twopass, the main reason for it not being in right now is that I initially started without queueing.. once that is done, it'll be much easier for me to have an automatic twopass done).
- the values look somehow moved too close to the left (maybe moving them to the right might look better?)Right align all the input fields?
- someone proposed this for x264 too and i think its done that way in nero already: only offer one deblocking option (eg named "strength") for alpha and beta and set both to the same valueI didn't know if it makes sense to separate the two options or not.. might be useful to have aku's input on this as well.
- more input options would be nice (eg direct dvd reading, .vob and .avi input), so that newbies can indeed do "one click" dvd transcoding with your tool (still there would be the resizing issue, but well )Well, here we're entering GKnot territory and I don't feel the need to duplicate that work.. I basically want something that takes an avs and goes from there (so perhaps one day I'll add those mp4 output options after all).. what comes prior to the avs really is no problem to me. My main motivation for doing this is that I don't see a GUI offering enough options for lavc MPEG-4 and x264 (well, now there's syskin's VfW so things have changed a bit), and I don't want to mess around on the commandline. But I already have my tool to get from DVD to AviSynth. What you're asking for is way beyond what I ever wanted, and also way beyond the amount of time I can afford to invest.. keep in mind that I still run this place and have a site to take care of. But, since the thing is GPL, somebody else could add it (I'll be away for 3 weeks starting next Monday, before I'll comment my code and make another source release)
Oh, and pretty sure there is a (small) bug when you select CQ for MPEG4, the default is CQ=800 ! Looks like it's taking the default bitrate from CBR mode - for x264 it changes to CQ26, so that works fine.Hehe, I know where that's from.
hellfred
10th January 2005, 09:21
Originally posted by Doom9
I didn't know if it makes sense to separate the two options or not.. might be useful to have aku's input on this as well.
I have once read that akupenguin never sets a differenc between the two deblocking parameters huger than one and suggested to set them always to the same value. He states this some days ago in one of the threads here on doom9, but just now i have no time for searching. Is it even necessary to provide you with a link, or will you believe me right away?
Hellfred
EDIT: Spelling, oh i hate it that much!
Doom9
10th January 2005, 10:14
The 'Snow' option was a big tease!!It'll come as soon as I find a comprehensive list of all the codec parameters, their value ranges and default values.
Is it even necessary to provide you with a link, or will you believe me right away?Well, now that I have somebody to blame it won't be necessary. And it's not a big deal merging the two either.
akupenguin
10th January 2005, 10:17
Yes, I suggested that sysKin merge the two settings in his interface. But then, I'm quite happy leaving both on 0, whereas I hear many people think 0 blurs too much. So if you think you can effectively use them separately, feel free to experiment (I haven't heard of any such study). Suggestions include alpha=0, beta=negative, i.e. full strength but avoids areas with much detail.
akupenguin
10th January 2005, 13:22
Originally posted by Doom9
[B]It'll come as soon as I find a comprehensive list of all the codec parameters, their value ranges and default values./B]
Options obeyed by snow:
vqscale: range 0.01 .. 255, sane range 1 .. 10. (A given quality in snow needs somewhat lower qscale than the same quality in mpeg4.) default: 0 (lossless). Note that 0 may not be specified; if you want lossless encoding, you must leave out vqscale. (Yes, quantizer can be fractional.)
There is no ratecontrol. Constant quantizer is the only mode.
pred: 0 => 9/7 wavelet (default). 1 => 5/3 wavelet. 2 => 13/7 wavelet. The different wavelets have slightly different characteristic artifacts. I think 9/7 usually looks best.
cmp: full pixel motion comparison function
subcmp: hpel/qpel comparison function
mbcmp: MB type comparison function
Choices that work for snow: 0 (SAD), 1 (SSD), 11 (5/3 wavelet), 12 (9/7 wavelet). Defaults: SAD. While you might think that the wavelet comparators would have an advantage, I find that SSD is usually best (for all 3), with SAD slightly better the remainder of the time.
You can add 256 to any of the options to enable chroma_me for that comparison (e.g. mbcmp=257 for SSD with chroma), but I haven't found it to help.
qpel: default=off. Always helps.
v4mv: default=off. Allows smaller motion partitions. The current MB decision algorithm doesn't make very good use of this: it improves quality, but also increases bitrate. (and you could get more quality per bitrate by reducing quantizer instead.)
last_pred: range=0-3, default=0. Tries a few extra predicted motion vectors before doing EPZS search. This option has negligible effect on both speed and quality of snow, so just leave it off. (it does, however, help mpeg4.)
In short: the best options in almost all cases are
vcodec=snow:vstrict=-1:vqscale=$N:pred=0:cmp=1:subcmp=1:mbcmp=1:qpel
bond
10th January 2005, 15:00
Originally posted by Doom9
I don't follow.. could you elaborate this a bit?i mean call the options something like "1 - Hpel only", "2 - Qpel 1 iteration"...
Right align all the input fields?might be better
bond
10th January 2005, 15:02
Originally posted by akupenguin
Suggestions include alpha=0, beta=negative, i.e. full strength but avoids areas with much detailhm thats interesting
so beta defines what areas get affected by the deblocking and alpha the strength?
if yes, than it might be indeed a good idea to NOT combine them to one option.
JoeBG
10th January 2005, 16:47
Originally posted by bond
hm thats interesting
so beta defines what areas get affected by the deblocking and alpha the strength?
if yes, than it might be indeed a good idea to NOT combine them to one option.
I hope noone will kill me for the following questions:
- when alpha is the strenght, then +1 is a stronger deblocking than 0? I mean is positive deblocking and negative sharpening?
- when beta is the area, then 0 means the same effects to the whole picture, negative means only backgrounds get blurred and positive means more blurring to the main parts of the picture.
akupenguin
10th January 2005, 20:08
Deblocking always smooths, never sharpens.
The strength and threshold are always adaptive based on quantizer.
alpha=0,beta=0 is tuned for optimal PSNR on most sources.
Other values tell it to use the strength and threshold tables from a different quantizer. So qp=25,alpha=-5,beta=-5 uses the same deblocking as qp=20,alpha=0,beta=0.
Since higher quantizer => more artifacts => more deblocking needed, higher values of alpha & beta do stronger deblocking.
(Note that since h264 uses a logarithmic quantizer, adding/subtracting N from it has the same effect independent of what the original quant was.)
If qp+alpha <= 15 or qp+beta <= 15, deblocking is completely disabled for that frame.
As for what exactly the parameters do:
Consider each potential vertical/horizontal edge in the picture (between macroblocks, or between motion partitions within a macroblock). Derive a threshold (based on qp, beta, and type of block) and strength (based on qp, alpha, and type of block). If the variation within the adjacent blocks is less than threshold, and the difference across the edge is less than strength, then filter this edge. Filter means apply a 6tap blur perpendicular to the edge, but limit the amount of change to any one pixel based on strength.
The effect of block type: Edges between non-coded blocks of similar MV are not filtered (because they were deblocked in the previous frame). Non-coded blocks that differ by more than 1 pixel worth of MV are filtered weakly. Normal inter blocks are filtered more. Intra blocks are filtered most.
edit: I got alpha and beta swapped.
Doom9
10th January 2005, 22:14
v0.1 is out. stay tuned for more
hellfred
10th January 2005, 22:57
Hi Doom9
Thanks for this great tool to make handling encoding with mencoder under win32 so much easier. Before I had to use a hand-written batchfile that needed to be updated manually for each and every encode. It is so much more comfortable this way.
Two suggestions. What about adding MPlayer/Mencoder manpage (html) to your Package, so that ppl. can actually try to understand what the commandline assembled by your GUI means, and to be able to add some more fancy options to it that may be too exotic or not yet implemented in your GUI?
If you do not want to add the file to your package, can you at least mention the url of the html manpage (http://www.mplayerhq.hu/homepage/design5/info.html#docs) to your readme file for those interested in it.
Other question. One is already able to edit the commandline in your GUI, but i did not find my changes in the resulting job.bat. Do you plan to add it?
Last thing, I am sometimes not interested in encoding the hole movie/avs script right away, but just the first <framecount> frames of it to test the impact of certain options. Is it possible to add avs2yuv option -frames <framecount> to your GUI so that i do not have to open and edit the AVS script everytime during the process of option optimization.
Hellfred.
Doom9
11th January 2005, 08:27
Other question. One is already able to edit the commandline in your GUI, but i did not find my changes in the resulting job.bat. Do you plan to add it?It kinda conflicts with the way jobs are handled. I do not save the commandline, rather I save all the GUI options, and at encoding time I convert those settings into a commandline. So you can see where editing the commandline could be problematic. Now say I add the commandline as an additional field.. which one gets taken if the compiled commandline from the stored settings does not match the GUI settings? And in case of visualizing a job in the queue, you'd be forced to decide if you want to stored GUI options to be shown, or screw the GUI and just show the commandline.
People who are knowledgeable enough to edit commandlines should imho resort to the commandline.. sure they can use the GUI to get a starting point, but after that, all advanced functionality makes things harder to handle and this is really a tool for people who do not care about the mencoder commandline. I just put the commandline there as a debug measure (it's easy to see if the commandline generation is wrong).
I'm also planning on adding tooltips for all the options, thus making the manpage superfluous (I plan to add some "easy" understandable description for all the options plus suggested settings).
r0cket
11th January 2005, 08:45
Doom9
I just put the commandline there as a debug measure
Well then won't it be more logical to make cl read-only in your GUI?
People who are knowledgeable enough to edit commandlines should imho resort to the commandline
But some knowledgeable people, who just don't want to mess with commandlines, should have Advanced tab to play with :)
Paced
11th January 2005, 09:24
Firstly, thanks for the neat GUI Doom9. I seem to have a slight problem getting it working though; here's what happens when I click 'Encode':
-------------------------------------------------------------------
C:\Stuff\Programs\MeGUI>
C:\Stuff\Programs\MeGUI>avs2yuv "C:\WUTemp\TEST\D2VAVS\test.avs" - | mencoder
- -ovc x264 -o NUL: -passlogfile "mencoder-2pass.log" -x264encopts pass=1:qp_constant=26:bframes=1:deblockbeta=-2:rc_buffer_size=700
MEncoder dev-CVS-040228-17:13-3.3.3 (C) 2000-2004 MPlayer Team
CPU: Advanced Micro Devices Athlon MP/XP Thoroughbred 1740 MHz (Family: 6, Stepping: 1)
Detected cache-line size is 64 bytes
CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 0 SSE2: 0
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE
Reading C:/Stuff/Programs/MeGUI/mplayer/codecs.conf: 64 audio & 169 video codecs
File not found: 'frameno.avi'
Failed to open frameno.avi
Reading config file C:/Stuff/Programs/MeGUI/mplayer/mencoder: No such file or directory
Option ovc: Unknown suboption x264
C:\WUTemp\TEST\D2VAVS\test.avs: 640x352, 25000/1000 fps, 1829 frames
Exiting... (error parsing cmdline)
Output error: wrote only 316910 of 337920 bytes
C:\Stuff\Programs\MeGUI>
-------------------------------------------------------------------
I've got the latest versions of mencoder (celtic_druid's) and avs2yuv - as stated in the readme - and they are placed alongside MeGUI.exe in the same directory. Is there something else I'm missing (it's my first attempt at using mencoder, so please be gentle :D)? Thanks in advance.
celtic_druid
11th January 2005, 09:38
MEncoder dev-CVS-040228 = 28th Feb 2004, that would be your problem.
Looks like my 2004.02.26 build is actually 2004.02.28, so you grabbed the oldest, not newest.
Paced
11th January 2005, 09:49
Originally posted by celtic_druid
MEncoder dev-CVS-040228 = 28th Feb 2004, that would be your problem.
Looks like my 2004.02.26 build is actually 2004.02.28, so you grabbed the oldest, not newest.
How silly of me, for some reason I thought the first one on the page was the latest, serves me right for being incompetent! :) Thanks for the quick reply.
Doom9
11th January 2005, 10:04
Well then won't it be more logical to make cl read-only in your GUI?That's a flag you have to set in the GUI designer.. the default is editable, no matter if I meant it to be editable or not. It's just that black on white looks better than black on gray, and it improves readability.
But some knowledgeable people, who just don't want to mess with commandlines, should have Advanced tab to play withThere are all the x264 options exposed, and a good selection of the lavc parameters (the ones I left out I think really are mostly beyond reason and work just fine at their defaults). So I don't see anything missing.. it does what I wanted it to do. You cannot have all the options in a GUI, or it'll be just as complex as ffdshow.. the reason to make this was to prevent the sensory overload and confusion by too many options... I suppose I already went too far with all the exposed options.
And if you read my comment about commandlines again, and really think!!! about it a bit, you'll see that there's a very basic problem when commandline and GUI parameters don't match. Feel free to add a reverse commandline -> GUI fields lookup when I release the sources next week-end. Perhaps then you'll realize what it is you're asking for. This really isn't a usability feature, it does just the reverse, make things more complicated.
JoeBG
11th January 2005, 10:44
Originally posted by Doom9
I'm also planning on adding tooltips for all the options, thus making the manpage superfluous (I plan to add some "easy" understandable description for all the options plus suggested settings). [/B]
Great :). I testet your tool with many different settings. It was a very nice evenig yesterday - thank you for this. ;) Iīll host the tests this week and give a link.
But I have one problem which is confusing me while testing myself and reading all the facts about x264: Why do I get blocks when using b-frames in 2 pass mode? ffdshow supports them => itīs not a problem of the player (player also has no problem with Ateme). Iīm testing the AVI-file => itīs not a problem of mp4creator or avi2raw. Would be so nice to have b-frame support with MeGUI and x264. :confused:
Doom9
11th January 2005, 10:56
well, the blocks have nothing to do with the GUI, but with the codec. The problem is already known (see here: http://forum.doom9.org/showthread.php?s=&postid=592882#post592882). Once this issue is fixed in the core, you just have to download a new mencoder build that incorporates the new x264 core and you'll be all set. The GUI might also need to be changed over time if there are new core parameters (I understand weighed predition was just added to ffdshow so perhaps we'll see that as an option in x264 soon).
r0cket
11th January 2005, 11:09
It's just that black on white looks better than black on gray, and it improves readability.
So you can't have it read only with usual colors in that designer? Well, what can I say...
There are all the x264 options exposed
Then why do people ask for more (additional command line parameters)?
You cannot have all the options in a GUI, or it'll be just as complex as ffdshow
You can if you add another tab with 'Enable advanced options'-or-something-like-that checkbox and if the user leaves it unchecked, use the default values for that options.
And if you read my comment about commandlines again, and really think!!! about it a bit, you'll see that there's a very basic problem when commandline and GUI parameters don't match. Feel free to add a reverse commandline -> GUI fields lookup when I release the sources next week-end.
:) Not a .NET programmer really. And I wasn't talking about that. I'm against any command line in a GUI (for debugging and preview - it's ok).
But anyways, if you say you have all options exposed... I'll just shut up :)
celtic_druid
11th January 2005, 11:54
Revision 90:
r72 broke B-frames without intra4x4. fixed.
Guess that is the fix?
JoeBG
11th January 2005, 12:25
Originally posted by celtic_druid
Revision 90:
r72 broke B-frames without intra4x4. fixed.
Guess that is the fix?
So b-frames are working now? I just have to take your new mencoder? :) and choose 4x4mv in the GUI? :) ?
celtic_druid
11th January 2005, 12:44
My most recent mencoder compile uses r88/89 of x264 and I have no idea if r90 fixes your problem in particular.
I did put up r90 x264 commandline and VFW though. Not sure when I will do new mplayer compiles.
Doom9
11th January 2005, 13:26
So you can't have it read only with usual colors in that designer? Well, what can I say...Sure you can.. you're reading way too much into this. By default a textbox can be written into. It's easy to see a problem if you can see the commandline that's being executed. That's all there is to it. I didn't plan or not plan to make the commandline editable and use those edited values for encoding, I didn't even think about that, let alone that you can edit the textbox. But just to make this clear I'll make the commandline textbox read-only in the future so that nobody will get any ideas anymore.
Then why do people ask for more (additional command line parameters)?Those are mencoder and avs2yuv switches.. the GUI exposes every single x264 parameter. And I do not call the GUI an mencoder GUI after all.. it's created for a very specific purpose: enable encoding using open source codecs that I feel do not have a usable GUI. As it so happens, the x264 VfW came around the same time, so basically I could drop x264 support now, but seeing that some people use the GUI I'll just keep it.
There is a GUI that exposes the lavc MPEG-4 encoder (see initial post), though it focuses more on mencoder parameters. I'm an AviSynth -> whatever GUI so I focus purely on codec settings and just use a minimal set of core mencoder switches.
You can if you add another tab with 'Enable advanced options'-or-something-like-that checkbox and if the user leaves it unchecked, use the default values for that options.
Take a look at the mencoder manpage then revise your statement. ffdshow only exposes all codec parameters, it is already way overloaded, add all the mencoder switches to that (there's a lot of input, preprocessing and filtering stuff possible), you have something that's simply not manageable.
So, if you like more codec parameters (lavc mpeg-4 only), more mencoder switches, you either prove to me that it'll improve usability, or you wait for next Sunday and add it on your own.
Here are a few things I will not do:
More codecs (Snow will come, and if mencoder ever gets Theora or Dirac output I'll add those as well but I have no interest in any other codec and XviD already has its own VfW interface)
mencoder input switches (different input types, range selections, resizing, filtering, the works)
all lavc mpeg-4 settings
@akupenguin: are there certain settings you could recommend for a first pass turbo switch?
JoeBG
11th January 2005, 13:41
Originally posted by celtic_druid
My most recent mencoder compile uses r88/89 of x264 and I have no idea if r90 fixes your problem in particular.
I did put up r90 x264 commandline and VFW though. Not sure when I will do new mplayer compiles.
First of all I have to wait for a lower traffic on your site to get your newest compiles of nearly everything. But this affords the opportunity to say thanks for your amazing work. Donīt know the right words, hope youīll understand. ;)
JoeBG
11th January 2005, 13:48
Originally posted by Doom9
As it so happens, the x264 VfW came around the same time, so basically I could drop x264 support now, but seeing that some people use the GUI I'll just keep it.[/B]
Please donīt drop this project. I like your GUI very much. In the moment itīs working at home while Iīm here at the job. When I come home I have to start the second pass.
akupenguin
11th January 2005, 14:07
Originally posted by celtic_druid
Revision 90:
r72 broke B-frames without intra4x4. fixed.
Guess that is the fix?
No, the bug I fixed occurred only if you disable intra4x4 mode. And it didn't just produce block artifacts: all B-frames produced an invalid bitstream, and displayed as pure grey in ffdshow.
The bug you refer to is probably an issue with ratecontrol. I think I have fixed it, but I'm still running some encodes to make sure I didn't degrade other aspects.
JoeBG
11th January 2005, 15:07
Originally posted by akupenguin
No, the bug I fixed occurred only if you disable intra4x4 mode. And it didn't just produce block artifacts: all B-frames produced an invalid bitstream, and displayed as pure grey in ffdshow.
The bug you refer to is probably an issue with ratecontrol. I think I have fixed it, but I'm still running some encodes to make sure I didn't degrade other aspects.
And do you see any chance for b-frame support for 2-pass encoding? In the moment it produces horrible blocks :(
Doom9
11th January 2005, 15:13
And do you see any chance for b-frame support for 2-pass encoding? In the moment it produces horrible blocksIt is a bug and it'll be fixed.. what more can you ask for? For now refrain from using b-frames in two pass mode.. that's the only thing you can do (unless you are a programmer and willing to work on x264 by yourself;)
JoeBG
11th January 2005, 15:30
Originally posted by Doom9
It is a bug and it'll be fixed.. what more can you ask for?
I wanted to ask for the period and I wanted to express it gentle and very friendly. Sorry if I missed this.
Originally posted by Doom9
... unless you are a programmer and willing to work on x264 by yourself;) [/B]
:rolleyes: Thatīs what all are waiting for :p
Doom9
11th January 2005, 22:40
version 0.11 is out.
still no turbo mode for x264 as I don't know which settings can be safely used for a quick first pass. also no queueing yet as this looks like a bit of a challenge if I want to encode job after job rather than write one batch file. However, that means I cannot start the batchfile as I do now (this keeps the command window open so that you can see what's going on and get some stats after encoding). If I redirect stdout, once encoding starts I cannot read line by line as the current line is always overwritten (you see the percentage complete moving up.. always on the same line). I don't quite know yet how I can handle this so if anybody has any ideas, now is the time.
daveidmx
11th January 2005, 23:16
Forgive me for replying without having a solid grasp on what you're saying. But here's a thought that might at least be related.
With some command line proggies i've written in the past I send some messages to stdout and others to stderr. That way, I can > the stdout to a file and still view the stderr on the console. or vice versa. So--are there some CRLFs that are getting sent to the wrong io stream, making the console not advance?
Once again, I apologize for answering without either understanding your concern or having used the program in question. At a glance it just sounded like maybe this was related and it might spark some thought. Disregard if not. :D
Cheers!
Doom9
11th January 2005, 23:22
With some command line proggies i've written in the past I send some messages to stdout and others to stderr. That way, I can > the stdout to a file and still view the stderr on the console. or vice versa. So--are there some CRLFs that are getting sent to the wrong io stream, making the console not advance?the problem is there are not CRLFs.. imagine the cmd window at time X looking like this:
progress - 5% - 1000 frames, fps = 15.07
then at time X + 10
progress - 7% - 1200 frames, fps = 15.07
but, there has been no CRLF in between time X and time X+10, rather the line at time X has been overwritten by the line at time X+10. So, from the program's point of view that's reading lines from the redirected stdout, we're still at the same line. I don't know yet what mencoder sends to stdout and what to stderr.. a quick trial seemed to send everything to stdout.
And here's a quick howto for the profiles:
Enter a profilename in the text are for the profile dropdown (by default it says "Default").
Press new creates a new profile with the name you typed and all the currently active GUI settings.
To change an existing profile, select it, make changes in the GUI, then select another profile from the dropdown.
For now, changes to a selected profile are only stored when you change to another profile.. exiting the program will not change anything.
I'm also wondering whether after selecting a job (perhaps you've noted, it loads all the job's settings in the GUI), you'd want to make changes, then write those changes back to the job (an automatism as for profiles could probably be irritating, but I could add a button "update job" that would overwrite the settings from the currently selected job with the active GUI settings).
akupenguin
11th January 2005, 23:34
Originally posted by Doom9
but, there has been no CRLF in between time X and time X+10, rather the line at time X has been overwritten by the line at time X+10. So, from the program's point of view that's reading lines from the redirected stdout, we're still at the same line. I don't know yet what mencoder sends to stdout and what to stderr.. a quick trial seemed to send everything to stdout.
Between each status line, there is a CR without a LF. To a terminal, that means move the cursor to the beginning of the line, so that anything printed afterwards overwrites what's already on the line. To a program reading from a pipe, CR is just another character in the stream, and it does not overwrite anything.
daveidmx
11th January 2005, 23:48
@doom9
OK, and are you trying to intercept the stdout from the encoder and display it yourself in the GUI? If so, consider what akupenguin has said. I don't remember for sure, but I think you may need to use a different IO stream handler that isn't line-based.
Paced
12th January 2005, 01:09
I've found a small issue in the latest version. It's probably easier explained if you see it for yourself - activate the Snow codec, then head over to the 'Snow Codec' tab. Tick Qpel or V4MV and take note of what it does to the command line.
Additionally, is it just me, or when using the ASP codec, by selecting the Macroblock Decision Algorithm as "VHQ" or "RDO", you get an "Option lavcopts: Unknown suboption mbc" error in the command window, upon encoding (using CD's MEncoder dev-CVS-050110-15:31-3.4.2)? However, when using the Default option, the encoding starts as it should.
akupenguin
12th January 2005, 01:13
Originally posted by Paced
"Option lavcopts: Unknown suboption mbc" error in the command window, upon encoding sounds like a typo. the correct option name is "mbd".
Doom9
12th January 2005, 09:12
I don't remember for sure, but I think you may need to use a different IO stream handler that isn't line-based.Actually, I can read character by character.. now I just need to figure out which character a CR is and see if I can catch that.
@paced: I'll check those when I get home.
r0cket
12th January 2005, 11:47
now I just need to figure out which character a CR is
#13 IIRC
Leak
12th January 2005, 12:30
Originally posted by Doom9
Actually, I can read character by character.. now I just need to figure out which character a CR is and see if I can catch that.
'\r' IIRC.
Doom9
12th January 2005, 15:38
I have an idea for those who want to edit the commandline:
When you have done your configuration in the GUI, you can edit the commandline, and if you press encode, the generated commandline is compared with the commandline in the text field, and if the two strings don't match, I use the one from the text field at the bottom of the GUI (obviously there's no error checking here). Similarly, I could save the commandline when a job is being added, then when it's time to visualize the settings / generate the commandline, I generate it, compare it with the stored commandline, and if the results don't match, I use the stored value. That will mean though that your commandline doesn't necessarily match the GUI options that are being dsplayed as you visualize a job, and any GUI changes you make (apart from directly editing the input, output and logfile textfields (not using the fileselector.. that'll trigger a commandline regeneration)) will reset the commandline to the generated one.
Would that be useful?
Doom9
13th January 2005, 08:38
as far as queueing goes, even with 4 hours (all my free time yesterday), it's not done yet, but it'll be cool. But I need to figure out how to get the number of frames from my input.. the line that I get on the command window indicating resolution, fps and number of frames
D:\killbill2-1.avs: 640x272, 23976/1000 fps, 1000 framesIs not present on either my redirected stdout nor my redirected stderr. And why mencoder sends information messages to stderr rather than stdout is beyond me.. it doesn't make any sense to send the info about the encoded file to stderr (and reading from both is kind of a problem as they mutually block each other (there's less data on stderr.. so at some point when you try to read, it'll block, where there would still be stdout data to be read that has to be read in order for encoding to continue (there's a status update for every frame encoded).. so the only way I see to get both output is to read them separate threads and to somehow put the output back together (obviously at times it'll not be in the same order as you'd get in the commandline)).
akupenguin
13th January 2005, 09:54
D:\killbill2-1.avs: 640x272, 23976/1000 fps, 1000 frames
That line is printed to stderr by avs2yuv, not by mencoder.
I don't know any way to redirect it from the windows cmdline. But if you give up having a commandline at all, and directly exec both avs2yuv and mencoder, you can build any pipes you want in between, including merging stdout and stderr. (At least, it's easy with anything remotely POSIX compliant. I have no idea about .NET)
But I don't know why mencoder mixes them.
Doom9
13th January 2005, 11:17
hmm.. I actually redirect both stdout and stderr from my job.bat file, so imho that should give me the output of both programs. In theory, it's easy to create two processes and connect the stdout from the first to the stdin of the 2nd.. I'll have to see if that really works as you can only connect any of the stdio streams after the process has been created.. though what I experienced yesterday is that once redirected, if I do not read stdout, encoding is not even started.
I almost figured avs2yuv gave that output.. though I don't quite get why its sent to stderr.. being an informational message, would it not make more sense on stdout?
But I don't know why mencoder mixes them.I suppose it's simply a timing issue.. mencoder is faster to dump its first few lines to stdout, or perhaps windows is slow to display stderr output?
stax76
13th January 2005, 12:05
But I need to figure out how to get the number of frames from my input...
1. Win32 DShow API: I experienced lot's of problems and besides that COM+ overhead
2. Win32 avifile API: I'm using this in my apps, I've made a C# class (GPL). Note: with C++/CLR you don't have to define the interfaces which can save you a lot time if you don't need to expose the complete API and it's faster than C# because it uses the optimizing backend of the native compiler. I've used C++/CLR a couple of times, the new implementation rocks.
3. write a log file with AviSynth, AutoGK does this too
akupenguin
13th January 2005, 12:18
Originally posted by Doom9
I actually redirect both stdout and stderr from my job.bat file, so imho that should give me the output of both programs. In theory, it's easy to create two processes and connect the stdout from the first to the stdin of the 2nd.. I'll have to see if that really works as you can only connect any of the stdio streams after the process has been created..
I was thinking more like (untested):
int avs2me[2];
int avs2enc[2];
int enc2me[2];
pipe(avs2me);
pipe(avs2enc);
pipe(enc2me);
if(fork()==0){
if(fork()==0){
dup2(avs2me[1], fileno(sterr));
dup2(avs2enc[1], fileno(stout));
execvp("avs2yuv" /*...*/);
}
dup2(avs2enc[0], fileno(stin));
dup2(enc2me[1], fileno(sterr));
dup2(enc2me[1], fileno(stdout));
execvp("mencoder" /*...*/);
}
FILE *read_from_mencoder = fdopen(enc2me[0], "r");
FILE *read_from_avs2yuv = fdopen(avs2me[0], "r");
though what I experienced yesterday is that once redirected, if I do not read stdout, encoding is not even started. MEncoder uses normal (blocking) output, so if it tries to print something and there isn't room in the stdio buffer...
I almost figured avs2yuv gave that output.. though I don't quite get why its sent to stderr.. being an informational message, would it not make more sense on stdout? In most programs that would make sense, but I'm sending the video to stdout.
Doom9
13th January 2005, 13:31
In most programs that would make sense, but I'm sending the video to stdout.ahh, now that you mention it..
the thing about .NET and native is that while you can mix it, mixing gets ugly rather easily. Come to think of it, I actually have software running at work where I redirect both stdin and stdout from certain programs, just never sned the output from one to the input of another.
I don't suppose there are any linewraps or similar in the avs2yuv output, is there? Is the end of the video data somehow signalled?
And msdn has just proven to be useful yet again. I found an example where multiple programs are piped (similar to your example.. I have some tested code on this at home that I wrote a couple years ago so I'd have a working example just in case :)) I just won't be able to put mencoder's stdout and stderr messages in the proper order, so that won't be too nice, but I guess I'll just have to place the stderr events just prior and after all the status updates and it should roughly match the standard commandline output.
daveidmx
13th January 2005, 15:38
@doom9
You said the encoder gives a status line after every frame, right?
Since the encoder's output is blocking and you have to read it before the encode will continue, won't that catostrophically slow down the encode?
Is there a way to force an in-thread buffer on the ostream so you don't have to keep waiting for the task scheduler every frame?
Doom9
13th January 2005, 16:20
actually, speed appears to be quite good in my 1000 frame sample that I'm using for testing. and keep in mind that if the stdout has to be read, it does not apply to redirected stdouts only.. but also to regular stdout.. e.i. cmd.exe will also have to read it before encoding continues. And if you encode in VDub, you also have all the status updates (frames encoded, percentage complete, video size) that'll slow down encoding (any progress indicator does).
daveidmx
13th January 2005, 18:00
I'd always figured status indicators were best made passive, i.e. updating by independantly reading counters say four times a second or something.
But:
Originally posted by Doom9
actually, speed appears to be quite good in my 1000 frame sample that I'm using for testing.
That's what really matters.
Cheers!
Doom9
13th January 2005, 22:24
I'd always figured status indicators were best made passive, i.e. updating by independantly reading counters say four times a second or something.And who writes those counters? the encoding process ;) And every CPU cycle you use for something else than encoding makes encoding slower.. it's just the matter of things.
Anyway, version 0.12 is out.
Queue mode is now enabled. At the end of each job, a log is being shown with the standard output from mencoder. Unfortunately, mencoder writes a lot of informational messages to the standard error output (and the windows command shell combines that), so there's a bunch of messages missing from the log right now.
the two commandline generation bugs reported have been fixed.
strict compliance mode removed from snow (checking it would throw an error and encoding would not start).
And here's the todo:
persistent jobs
redirect and read standarderror from mencoder and put output in log window
make progressbar active (that requires different queue handling.. to those who follow the technical discussion: instead of launching job.bat, pipe avs2yuv and mencoder myself, and also read the avs2yuv stderr which gives the input properties like nb frames, which is required to feed the status bar (mencoder only gives number of frames encoded)
status window during encoding
status change in the queue as its done in virtualdub
tooltips
I haven't received any feedback on the commandline editing, so I suppose nobody is interested and subsequently that feature is currently not on the todo list.
v0.12 downloaded 62 times before removal.
hellfred
13th January 2005, 23:31
Originally posted by Doom9
I have an idea for those who want to edit the commandline:
When you have done your configuration in the GUI, you can edit the commandline, and if you press encode, the generated commandline is compared with the commandline in the text field, and if the two strings don't match, I use the one from the text field at the bottom of the GUI (obviously there's no error checking here). Similarly, I could save the commandline when a job is being added, then when it's time to visualize the settings / generate the commandline, I generate it, compare it with the stored commandline, and if the results don't match, I use the stored value. That will mean though that your commandline doesn't necessarily match the GUI options that are being dsplayed as you visualize a job, and any GUI changes you make (apart from directly editing the input, output and logfile textfields (not using the fileselector.. that'll trigger a commandline regeneration)) will reset the commandline to the generated one.
Would that be useful?
I understood the first part, and I would welcome, that hand-edited comannd-line is favoured over generated commandline and used in case of pressing encode. The one who tweaks or messes with the comanndline directly should be able to pin down mistakes in there commandline and remove them, if encoding fails.
If the elements of the GUI are not set perfectly after reloading an saved and handdtuned job, that is nothing serious for me. Again, the one who messes with comandline directly should be well knowleged and not easily confused.
Hellfred
hellfred
13th January 2005, 23:46
Originally posted by Doom9
I haven't received any feedback on the commandline editing, so I suppose nobody is interested and subsequently that feature is currently not on the todo list.
Sorry for awnsereing that late, but i am quite buiy with my diploma thesis and spent at least 12 houres a day in university for it, so i did not have the leisure to read and awnsere your suggestion before.
Hellfred
JoeBG
14th January 2005, 06:40
Originally posted by Doom9
And who writes those counters? the encoding process ;) And every CPU cycle you use for something else than encoding makes encoding slower.. it's just the matter of things.
Anyway, version 0.12 is out.
Queue mode is now enabled. At the end of each job, a log is being shown with the standard output from mencoder. Unfortunately, mencoder writes a lot of informational messages to the standard error output (and the windows command shell combines that), so there's a bunch of messages missing from the log right now.
the two commandline generation bugs reported have been fixed.
strict compliance mode removed from snow (checking it would throw an error and encoding would not start).
And here's the todo:
persistent jobs
redirect and read standarderror from mencoder and put output in log window
make progressbar active (that requires different queue handling.. to those who follow the technical discussion: instead of launching job.bat, pipe avs2yuv and mencoder myself, and also read the avs2yuv stderr which gives the input properties like nb frames, which is required to feed the status bar (mencoder only gives number of frames encoded)
status window during encoding
status change in the queue as its done in virtualdub
tooltips
I haven't received any feedback on the commandline editing, so I suppose nobody is interested and subsequently that feature is currently not on the todo list.
Hi doom9,
I have the following error message:
"Canīt find avs2yuy"
So I deltet Version 0.12 and started 0.11 und this version has no problems because avs2yuy is in the same directory
Edit: But b-frames seem to work now.
akupenguin
14th January 2005, 06:57
Originally posted by Doom9
I don't suppose there are any linewraps or similar in the avs2yuv output, is there? Is the end of the video data somehow signalled?
The only outputs from avs2yuv (all to stderr) are:
"foo.avs: 640x272, 23976/1000 fps, 1000 frames\n" (always),
"converting YUY2 -> YV12\n" (if the avs didn't output YV12),
and error messages (if invalid options at startup, or caught from avisynth at any time).
It signals the end of the video by fclose(stdout) and then exiting. (no message)
Doom9
14th January 2005, 08:25
"Canīt find avs2yuy"Huh? Where? I don't even check for the existence of that software, plus it's avs2yuv, not avs2yuy, and I've been encoding a bunch of batchjobs with it just minutes prior to posting and the only thing I changed is re-enabled the old code for single job encoding (pressing Encode in the input tab) - and that is code from the previous release that I had just commented out.
I absolutely need to see your commandline. What happens if you execute job.bat manually (you need to make sure that the directory from which you execute it contains avs2yuv.exe and mencoder.exe)?
btw does anybody know if mencoder uses different exitcodes depending on whether encoding succeeded or failed? I already have defined a job status error but there's no signalling yet, and analyzing the stderr output seems not the way to go as there can be different error messages that not necessarily have some text element in common.
JoeBG
14th January 2005, 08:55
@ doom9
In the moment I donīt know how to use batch processing. I need a tooltip for this. I get the jobs in the queue, but nothing happens when I press start. So I donīt have any success with this new function.
So I only use single encoding. This works fine with 0.11. But it fails with 0.12 with the same job because he cannot find avs2yuy. In the moment Iīm at work. I can post the commandline this evening.
Would be very nice if someone could help me. Iīm a little depressed about this in the moment. :(
Doom9
14th January 2005, 09:41
Batch encoding is simple. Configure encoding session, press Queue button, configure next encoding seesion, press Queue button again. Then you have a list of jobs in the Queue tab. Press Start will start encoding. You do not see anything happening right now.. but if you start the task manager you should see the CPU usage peak.. that means it's encoding. Keep watching the queue tab, you'll get an fps number and the number of frames encoded updated every 50 frames. And the Start button will suddenly be a Stop button, and the Abort button will be enabled.
Things work very much the same as in the virtualdub job list. In status waiting, jobs will be encoded if you start. If you click on jobs and the status changes to postponed, it'll not be encoded. Abort can be used to abort encoding right away. Stop can be used to stop the queue (the current job is still being encoded). If you know how to handle VirtualDub's jobs, MeGUI's jobs will act just the same (but unlike VDub, you can still add new jobs to the queue).
avs2yuyThere is no such program.. it's called avs2yuv, with a vat the end, not a y. If the commandline includes a y, then obviously I typed something wrong. Come to think of it though, I have an idea why single job encoding doesn't work.. I should've left it to background encoding. I completely revamped the commandline generation and I suppose the old code needs the old processing - though since I only have the code at home I can't check right now. But I'm 200% positive batch encoding worked. I've been encoding up to 3 queue jobs after another, one with each codec. Just because you don't immediately see anything in the GUI doesn't mean it's not encoding.. except for the buttons changing and the status of the currently being encoded job changes, all you can go by is CPU usage, and keep watching those status indicators because they will change eventually.
JoeBG
14th January 2005, 10:30
Ok, Iīll try again this evening. But when I press "start" a new window with the commandline pops up. Iīll try again.
Doom9
14th January 2005, 11:51
Ok, Iīll try again this evening. But when I press "start" a new window with the commandline pops up.Run job.bat and you'll see why it fails. I just did a quick test here.. no avisynth installed and no mencoder.. and here's what I get from the commandline
yuv "test.avs" - | mencoder -
-ovc lavc -o NUL: -passlogfile "mencoder-2pass.log" -lavcopts vpass=1:vbitrate=8
00
failed to load avisynth.dll
'mencoder' is not recognized as an internal or external command,
operable program or batch file.All those errors are sent to stderr which I'm currently not reading.. hence you only get the commandline which is sent to stdout (and that's what I'm reading). So, it is working, just failing because of a reproducible error (I obviously have no ripping software installed at work)
JoeBG
14th January 2005, 16:50
@ doom9
Works perfect in batch modus. Ididnīt saw a dos window and thought itīs not working. Sorry for this.
Itīs working perfect with b-frames and itīs very fast and accurate. Iīm testing with a really difficult scene from LOTR2. Itīs a very foggy scene and you can see very good the differences between sex264 and MeGUI. MeGUI brings better results than sex264. Because of mencoder?
Doom9
15th January 2005, 00:59
Here's Version 0.13.
What's new:
Persistent profiles (even status and order is preserved)
Disabling of non used logfile and output file fields depending on the selected encoding mode
Queue status change via double click (similar to VDub joblist, but I don't preserve the error state as mencoder doesn't clearly separate between error messages sent to stderr and informational messages sent there - and thus I can only guess what is an error message)
mencoder's stderr is now redirected, so you'll get to see all the mencoder messages you'd see on the commandline (you get to see everything at once once encoding is complete)
2pass-firstpass jobs no longer list an output file that's not going to be used
Todo:
Status window during encoding
Enable the progress bar in the Queue tab
Enable commandline editing for advanced users
Tooltips for the various codec options
Turbo mode for x264.
If anybody has an idea how to reliably figure out if mencoder has thrown an error, let me know (basically the error status in the queue is already there, I just don't signal it because I'm looking for a way not to have to match stderr output lines but figure out something more reliable than text comparisons to determine what is an error).
Similarly, I'm wondering if besides Joe anybody is still using the GUI.. it seems the x264 VfW is attracting a lot more people, and the main reason for me to start a GUI was that there was no GUI specifically for x264 encoding.. I wouldn't want to spend every free minute on something nobody uses.
@bond: I've been resizing GUI elements over time, I hope it's better now. Actually, in the first version I tried right align, but it just didn't feel right.. and that's because left aligned is the standard.
As for automated two pass encoding, it's mainly a settings thing. With profiles, you can quicly set up two pass encoding and have access to all configuration parameters. With a 5th encoding mode "automated" twopass, there's no possibility to configure the first pass. Is that a good idea, and if so, what first pass settings should be used?
I also named the codecs ASP and AVC. I'll add some explanatory tooltips eventually (it's kind of a low priority thing.. as it's not so much a coding challenge but a compiling all the info challenge ;)
version 0.13 downloaded 52 times prior to removal
North2Polaris
15th January 2005, 03:15
@ Doom9,
So far, I have been unable to get the latest versions of the these programs to work and Windows XP shuts down mencoder and offers to send off an error report to Microsoft.
Probably a simple mistake on my part. The script works fine using VDubMod and x264 VfW.
The following is the mencoder log report:
C:\Documents and Settings\My Documents\My Downloads\DVD\mencoder>avs2yuv "F:\avalon.avs" - | mencoder - -ovc x264 -x264encopts qp_constant=10:deblockbeta=-3:rc_buffer_size=700 -o "F:\test.avi" -of avi -ffourcc x264
MEncoder dev-CVS-050110-15:31-3.4.2 (C) 2000-2005 MPlayer Team
CPU: Advanced Micro Devices Athlon 4 /Athlon MP/XP Palomino (Family: 6, Stepping: 2)
Detected cache-line size is 64 bytes
CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 0 SSE2: 0
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE
File not found: 'frameno.avi'
Failed to open frameno.avi
Reading from stdin...
success: format: 0 data: 0x0 - 0x0
YUV4MPEG2 file format detected.
YUV4MPEG2 Video stream 0 size: display: 640x352, codec: 640x352
VIDEO: [YV12] 640x352 12bpp 23.976 fps 0.0 kbps ( 0.0 kbyte/s)
[V] filefmt:12 fourcc:0x32315659 size:640x352 fps:23.98 ftime:=0.0417
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 - 640 x 352 (preferred csp: Planar YV12)
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is undefined - no prescaling applied.
SwScaler: using unscaled Planar YV12 -> Planar YV12 special converter
F:\avalon.avs: 640x352, 23976/1000 fps, 153528 frames
Output error: wrote only 317552 of 337920 bytes
Suggestions?
Thanks.
North
RadicalEd
15th January 2005, 07:50
I've been using MeGUI for Snow encoding, as it's the only GUI that completely supports it.
Doom9
15th January 2005, 13:49
@North2Polaris: How many frames have actually been encoded?
Doom9
15th January 2005, 14:07
@akupenguin: I have created a pipe between stdout of avs2yuv and stdin of mencoder, but mencoder only writes the AVI header, then exits. I see data being written to the pipe from avs2yuv till the end though. What could make mencoder exit prematurely?
North2Polaris
15th January 2005, 14:37
Originally posted by Doom9
@North2Polaris: How many frames have actually been encoded?
@Doom9,
The file that is created is empty (0 KB).
I ran the same script through the GUI and encoded to Xvid.
North
Doom9
15th January 2005, 14:41
@North2Polaris: I tested your script on my PC, and it works, so it's not a GUI problem but a mencoder problem. What could cause this is beyond me though.
bond
15th January 2005, 16:05
Originally posted by Doom9
2pass-firstpass jobs no longer list an output file that's not going to be usedhm i dont get the firstpass job to be added. when pushing "queue" a message pops up that says "make sure .log, input and output is defined". as the log and the input is there, the missing output file causes the troubles (but of course the output doesnt have to be defined in firstpass)
also it has to be mentioned that this problem doesnt occur when there is already another job in queue listed (this job of course doesnt need to have to do anything with the firstpass job)
another thing: done jobs cant be deleted from the queue, as they are still listed as "processing", as if they run atm
i had to delete the job file to get rid of the already done job
Similarly, I'm wondering if besides Joe anybody is still using the GUI.. it seems the x264 VfW is attracting a lot more people, and the main reason for me to start a GUI was that there was no GUI specifically for x264 encoding.. I wouldn't want to spend every free minute on something nobody uses.i am using it (just did not a lot of encodes lately).
also mencoder and your gui is the only solution to use when you want to avoid having missing frames when using b-frames (thanks to vfw's limitations)
mencoder is technically simply superior to vfw (i hope we will see avc-in-mpg output too soon)
@bond: I've been resizing GUI elements over time, I hope it's better now. Actually, in the first version I tried right align, but it just didn't feel right.. and that's because left aligned is the standard.hm its not a big problem, and also with text the problem isnt there. its just that numbers are touching the left side of their box here
is there something like "center"?
maybe you want to rename the macroblock options to something like used in sex264, i think its more explanatory if someone doesnt look at the mencoder manpage
North2Polaris
15th January 2005, 16:28
Originally posted by Doom9
@North2Polaris: I tested your script on my PC, and it works, so it's not a GUI problem but a mencoder problem. What could cause this is beyond me though.
@Doom9,
Thanks.
I did a Google seach on "File not found: 'frameno.avi'" -- lots of hits related to mencoder.
More research to do!
North
Palikrovol
15th January 2005, 16:42
Originally posted by North2Polaris
@Doom9,
Thanks.
I did a Google seach on "File not found: 'frameno.avi'" -- lots of hits related to mencoder.
More research to do!
North
I had this problem with the build from the mplayer homepage, but when i changed to the celtic_druid builds then just worked.
regards
Doom9
15th January 2005, 16:57
I had this problem with the build from the mplayer homepage, but when i changed to the celtic_druid builds then just worked.
Well, the frameno.avi is not an error, you'll always get it. But, the manual says you need celticdruid's build.. x264 is not possible using the official mencoder builds ;)
Attached is version 0.14:
It has a working progress bar (in the queue tab)
allows custom commandlines (you are warned if you use a custom commandline)
the "hm i dont get the firstpass job to be added. when pushing "queue" a message pops up that says "make sure .log, input and output is defined"." error is fixed
and also with text the problem isnt there. its just that numbers are touching the left side of their box hereThat's standard behavoir.. check any other GUI ;)
maybe you want to rename the macroblock options to something like used in sex264, i think its more explanatory if someone doesnt look at the mencoder manpageThere's not enough room for that. It's a thing for tooltips (and the mencoder manpage is useless when it comes to those options ;)
another thing: done jobs cant be deleted from the queue, as they are still listed as "processing", as if they run atmI cannot reproduce this behavoir. You are using at least version 0.13, are you not? It might've been an issue prior to that, but the code from 0.13 only stops deletion if status = 1 (processing). I've been able to delete done jobs just fine.
@North2Polaris: Could you try to run the batchfile from the commandline (make sure you change to the directory where it resides) and see if you get any additional output?
I think I figured out something.. the same just happened to me. Turns out I had 2pass first pass selected, but for some wicked reason the GUI tried to do something else. When I went back to the codec settings, changed the encoding mode twice (one to something I didn't really want, and then back to what I wanted), I just had to enter a logfile and things were okay again.
version 0.14 downloaded 23 times prior to removal
bond
15th January 2005, 18:13
Originally posted by Doom9
I cannot reproduce this behavoir. You are using at least version 0.13, are you not? It might've been an issue prior to that, but the code from 0.13 only stops deletion if status = 1 (processing). I've been able to delete done jobs just fine.same behaviour with 0.14
after the encoding is done the status stays at processing (eg after a firstpass the second pass doesnt get started as megui thinks the first pass is still running)
i use relatively short inputs, eg 40 frames, dunno if that makes a difference
Doom9
15th January 2005, 18:17
try larger files.. I only send a status update every 50 frames (though one should be sent at the end).
I'm using 1000 frames and I have no problem with subsequent jobs being started.
bond
15th January 2005, 18:23
no difference
when using little bit more than 50 frames, after 50 frames the progress par stays unfinished at "frames encoded: 50", job is still saying processing, even after mencoder is closed already
when using little bit more than 100 frames, the par stays at "100 frames encoded" aso...
edit: the encodes seem to be done fine
Doom9
15th January 2005, 18:46
well.. the code is fine, you can verify tomorrow.. so unless somebody else reports this, I'm going to blame the crappy OS you're using ;)
North2Polaris
15th January 2005, 18:51
Originally posted by Doom9
@North2Polaris: Could you try to run the batchfile from the commandline (make sure you change to the directory where it resides) and see if you get any additional output?
@Doom9 and @Palikrovol,
I decided to download the latest mplayer beta version from:
http://www.mplayerhq.hu/MPlayer/releases/win32-beta/
This is helpful if you ever want to try mplayer.
Then I extracted the files from the latest Celtic_druid mplayer version, which includes Mencoder with x264 support, over that:
http://celticdruid.no-ip.com/xvid/mplayer/
Then I added the lastest version of the GUI and the latest version of avs2yuv.
This works, both the "direct" encode and from the queue.
And the file plays beautifully in the OEM version of Nero ShowTime without the h.264 "upgrade warning" that I get when I play a file encoded using VdubMod and the VFW version.
Thanks.
North
JoeBG
15th January 2005, 19:23
Originally posted by Doom9
Attached is version 0.14:
It has a working progress bar (in the queue tab)
allows custom commandlines (you are warned if you use a custom commandline)
the "hm i dont get the firstpass job to be added. when pushing "queue" a message pops up that says "make sure .log, input and output is defined"." error is fixed
[/B]
Itīs already working on a film. The Turbo is very good and I like the progress bar. Congratulations :)
Doom9
15th January 2005, 20:22
Here's Version 0.15.
Changelog:
Status window during encoding with all the info you could desire
Removed FPS and Frame indicator from queue Tab.
Various minor GUI fixes and internal changes
One thing I noted during development: since I've only added certain checks in later versions, profiles and jobs from older versions can potentially cause problems in new versions.
@North2Polaris: You don't even have to dowload the official mencoder version if you just care about encoding.
If I look at my toto.. only tooltips are left. And I just figured out how to do them.. it is so time consuming that I won't add a tooltip for every option after all.. that would be way too timeconsuming.
Also note that x264's "bits<" messages on mencoder's stderr make the GUI chocke for some reason (in a dos window eventually encoding starts). I think aku meant to remove those so it might not hurt using the latest mencoder version.
v0.15 downloaded 1095 times before removal.
RadicalEd
16th January 2005, 07:06
I wonder if it would be possible to get mp4creator to accept stdin... if so, I might be inclined to add mp4 output to MeGUI after the sources are released.
Leo 69
16th January 2005, 11:29
Please help me guys, I'm at a loss :( I can't encode neither to AVC
nor to Snow using the latest GUI and latest mencoder (6 Jan)
It just stops at the start !
Log :
--------------------------------------------------------------
C:\Documents and Settings\Administrator.TEFLON\My Documents\mplayer>avs2yuv "C:\VIDEO_TS\Ace.avs" - | mencoder - -ovc x264 -x264encopts bitrate=700 -o "C:\Documents and Settings\Administrator.TEFLON\Desktop\1.avi" -of avi -ffourcc VSSH
MEncoder dev-CVS-050106-11:19-3.2.3 (C) 2000-2005 MPlayer Team
CPU: Advanced Micro Devices Athlon MP/XP/XP-M Barton (Family: 6, Stepping: 0)
Detected cache-line size is 64 bytes
CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 0 SSE2: 0
Compiled with runtime CPU detection - WARNING - this is not optimal!
To get best performance, recompile MPlayer with --disable-runtime-cpudetection.
File not found: 'frameno.avi'
Failed to open frameno.avi
x264encopts is not an MEncoder option
Exiting... (error parsing cmdline)
C:\VIDEO_TS\Ace.avs: 320x240, 23976/1000 fps, 125274 frames
Output error: wrote only 113440 of 115200 bytes
----------------------------------------------------------------
Whats wrong?
:confused:
ivan_alias
16th January 2005, 12:01
x264encopts is not an MEncoder option
Looks like you don't have Mencoder from Celticdruid
The vanilla mencoder wont work, you need one thats compiled with x264 support. Have a read through this thread for the relevent info and links.
Ivan
Doom9
16th January 2005, 12:17
@bond: what happens if you use reasonable input (1000 frames and above)? In the latest version, do you get to see the progress window, progress updates and at the end of a job, is the progress window closed again and the log being shown?
does anybody else have that problem that job queueing doesn't work, and if so, what OS are you using?
jonjon51
16th January 2005, 14:47
@ivan_alias and all: Celtic_druid had upload all version of Mencoder, for each processor (P4, Athlon XP/Tbird). the error "x264encopts is not an MEncoder option" was solved by replacing the right build for my processor (Athlon XP 2400+) :cool:
Leo 69
16th January 2005, 15:28
@ jonjon51
Oh,yeah it'll take one day to download it from his server :D
IgorC
16th January 2005, 15:28
can last build of mencoder(megui x264) do 2 pass correctly?
easyfab
16th January 2005, 15:35
Little bug report for Megui 0.15
in "AVC codec" the number of ref frame works not correctly
For exemple when selecting 15 it give frameref=8
Question :
Is it possible to use x264.exe with avs2yuv ?
It doesn't works for me.
Doom9
16th January 2005, 15:59
n "AVC codec" the number of ref frame works not correctly
For exemple when selecting 15 it give frameref=8
Let me guess: you have turbo checked, right? I now have a tooltip there.. if you check turbo, the number of ref frames is divided by two and rounded up. As for subpel refinements, if it's > 3, it'll be set to 3, otherwise it'll be reduced by 1. You'll note that even though commandline doesn't match the GUI, there's no warning thrown, but if you start to edit the commandline on your own, then you'll get a warning if want to start encoding. So, no warning = everything is AOK ;)
easyfab
16th January 2005, 16:34
Your right I was in turbo mode :)
Sorry for this report.
Doom9
16th January 2005, 16:46
@easyfab: don't worry, it's not that obvious unless you know what turbo mode does. I've added a warning about this in the nex release.
Here's release 0.16 (downloaded 1172 times before removal)
Changelog:
You can change the process priority during encoding
More information in the queue (start & end time, FPS)
Certain tooltips.. hover over the label describing an option to see them
Various internal refinements
Keep in mind that the structure of various internal datastrctures have been changed. After starting the new version for the first time, immediately close it again so the new profiles and jobs will be created. It could still be that after this certain of your job settings do not match anymore.
I hope I have not added too many bugs as I'll be away for the next 3 weeks and unable to fix any bugs.
Doom9
16th January 2005, 16:47
and here's the source code under the GPL.
It is a VS2003 project. Don't know if it works with any other C# development environment.
Oh, and since I've used an W32 AVIFile wrapper, Mono will probably be out of the picture from here on now. I wanted to use avs2yuv's stderr output, but for some wicked reason, even though I eventually get to see the avs2yuv line about how many frames and what resolution the source has, when I redirect stderr and read from it, I only get that info after encoding has completed, which is useless to me (I need before the first frame is encoded so that I can send status updates to the GUI)
Doom9
16th January 2005, 16:51
can last build of mencoder(megui x264) do 2 pass correctly?What makes you think it cannot? As far as the GUI is concerned, unless the mencoder switches change it should never be a problem.
JoeBG
16th January 2005, 16:56
Originally posted by Doom9
@easyfab: don't worry, it's not that obvious unless you know what turbo mode does. I've added a warning about this in the nex release.
Here's release 0.16
Changelog:
You can change the process priority during encoding
More information in the queue (start & end time, FPS)
Certain tooltips.. hover over the label describing an option to see them
Various internal refinements
Keep in mind that the structure of various internal datastrctures have been changed. After starting the new version for the first time, immediately close it again so the new profiles and jobs will be created. It could still be that after this certain of your job settings do not match anymore.
I hope I have not added too many bugs as I'll be away for the next 3 weeks and unable to fix any bugs.
Thank you very much. I just finished my second long film with it (0.15). Looks great, but I cannot transfer it to MP4 because of b-frames. Anyone a idea?
Doom9
16th January 2005, 17:00
Anyone a idea?Yeah, wait until a tool comes out that supports b-frames ;) That's something you have to check first. Sadly, MP4 is still very much in the pitiful state it was when I wrote the first MP4 guide years ago. It didn't take OGM long to get a good muxing and cutting tool, MKV support it right out of the box, but with MP4? Nada. Perhaps if the MP4 tools grow up one day I can add MP4 output to MeGUI.
Doom9
16th January 2005, 22:59
@RadicalEd: if you decide to start coding, perhaps you could also have a look at the encoder class. Attached is something I've been working on.. I've tried to launch avs2yuv and mencoder each in its own process and pipe stdout from avs2yuv to stdin from mencoder. While the pipe appears to work and feeds data to mencoder, mencoder always exits right away and doesn't give me any indication why it exits.
opsis81
17th January 2005, 01:31
Since status window during encoding came up MeGUI doesn't work for me.:(
When encoding starts,progress window shows up and then suddently MeGUI crashes.Avs2yuv and mencoder keep working in background.
I have the latest mencoder from http://www.mplayerhq.hu/MPlayer/releases/win32-beta/ , the latest version of avs2yuv , winxp pro and Microsoft NET 2.0.40607 .
Each time I download a new version I delete all previous jobs and presets.
All versions before 0.15 used to work.
MeGUI 0.15 and 0.16 simply don't work for me.
MaXiMuS
17th January 2005, 07:17
Installation instructions:
You'll have to copy the latest version of avs2yuv (http://students.washington.edu/lorenm/src/avisynth/avs2yuv/)
and mencoder (http://celticdruid.no-ip.com/xvid/mplayer/) to the same directory as the GUI.
Note that if you're using an official mencoder build from the mencoder homepage, the x264 support will NOT work.
does anyone have better mirror than http://celticdruid.no-ip.com/xvid/mplayer/
i can not download at all :devil:
thx
JoeBG
18th January 2005, 08:33
@ doom9
Originally posted by Doom9
Yeah, wait until a tool comes out that supports b-frames ;)
We only have to wait for the next release of mp4creator. You can read it here (http://forum.doom9.org/showthread.php?s=&postid=597264#post597264) or directly on the sourceforge site here (https://sourceforge.net/forum/forum.php?thread_id=1201621&forum_id=59136)
So next MeGUI directly supports MP4 :D (just a little joke :) )
JoeBG
19th January 2005, 06:28
Originally posted by celtic_druid
bittorent would be no good as there are a large number of files, which means lots of torrents or a large one which most people only want a small percent of.
x264 is now upto R103 by the way with R101/102 only being VFW changes though.
Revision 103:
finish subpixel motion refinement for B-frames (up to 6% reduced size of B-frames at subq <= 3)
Hopefully once the mirroring is all sorted everything will be fine. Just means that a max wait of say 24hours between me putting a file up and it getting mirrored.
great!!!!
junglemike
25th January 2005, 10:34
Hello guys, I wanted to try MeWig, but i have a problem:
No matter what i do - "sound settings" tab is disalbed, i cannot do anything there. I did install .Net framework 1.1 and tried MeWig 0.009 and 0.009a on 2 computers - but result is the same - disabled sound settings tab.
Any thoughts?
celtic_druid
25th January 2005, 11:20
On the files tab, press next. It should then detect the audio stream(s) and enable the tab.
Doom9
27th January 2005, 16:47
@opsis81: could you downgrade to .NET 1.1 and use celticdruid's compiles, then try again? For once you're using the official builds that I do not trust (don't know if they've added x264 support by now), and .NET 2.0 is in beta.. one of the reasons I went back to .NET 1.1 is because the new IDE was really buggy and had to be restarted all the time.
When a .NET application crashes, you should get a stacktrace. If you still get it with only .NET 1.1 installed (I think after uninstalling 2.0 you have to reinstall 1.1), please post the stacktrace here. GUI update code is quite sensitive, and if they changed something in the GUI components in 2.0, I would not rule out that at this early stage it could case problems.
So next MeGUI directly supports MP4There's still the issue of cutting, and bitrate calculations. FYI, muxing overhead is different depending on if you use B-frames, and if the number of B-frames is adaptive or fixed. And I don't have all the formulas that would be required for a reasonable bitrate calculation, plus, since I cannot know how the GOPs are going to look like, the user would have to be able to specify one of the 3 B-frame modes used prior to encoding. But, if a reasonable way can be found, I'm inclined to add MP4 output.
JoeBG
29th January 2005, 09:07
Originally posted by Doom9
But, if a reasonable way can be found, I'm inclined to add MP4 output.
Message transmitted:D So we hope itīs possible.
opsis81
30th January 2005, 17:00
@Doom9
I downgraded to .NET 1.1 and everything works OK now.Thank you for your help.:)
JoeBG
13th February 2005, 19:56
The latest celticdruid-mencoder that works for me with MeGUI is from January. I cantīt detect a newer one here (http://www.aziendeassociate.it/cd.asp?dir=/mplayer) . Has the mirrow for mencoder moved?
JoeBG
14th February 2005, 05:46
Originally posted by hellfred
Seven hours ago, demuxing support for avs was added to mplayers cvs.
This means three things/problems for me:
- MeGui will not work automatically with this new mencoder because it has avs2yuv commandlines
- I have to compile it myself
- noone knows about new mencoder compiles from celticdruid
MaeWanto
14th February 2005, 08:02
Originally posted by opsis81
I'm waiting for a new MeGUI version with xvid and x264 support and without the need of avs2yuv.Don't dissapoint me Doom9;)
I would add AAC-LC audio encoding and MP4 muxing/hinting ...
Thanks in advance Doom9 ;)
Doom9
14th February 2005, 08:56
- MeGui will not work automatically with this new mencoder because it has avs2yuv commandlinesActually, I see no reason why it shouldn't work. I very much doubt that they'd allow a patch that breaks YUV input from the commandline. So who cares if you need avs2yuv or not.
@MaeWanto: as I pointed out here (http://forum.doom9.org/showthread.php?s=&postid=610403#post610403) audio encoding is a whole can of worms and simply not possible the way you want it (only opensource tools). BeSweet is clearly THE audio encoding application in this line of business, and it first doesn't support faac, and second it's close source. Please do not just discard very valid technical objections because you want something. I don't care what you want, I care what can be done reasonably. Those are two different pair of shoes altogether.
bond
14th February 2005, 12:12
Originally posted by Doom9
Actually, I see no reason why it shouldn't work. I very much doubt that they'd allow a patch that breaks YUV input from the commandline. So who cares if you need avs2yuv or not.indeed, it avs2yuv will still work
of course for simplicity direct handling in mencoder will lead to that one tool less is needed (also its maybe faster if you dont have to go via piping?)
Originally posted by opsis81
http://4nykey.nm.ru/bin/mplayer-cvs.exe
If your browser can't download it go to http://4nykey.nm.ru/bin/ first.hm, both dont work here :(
JoeBG
15th February 2005, 06:52
For me MeGUI 16 does not work in the moment (mencoder celtic druid from yesterday or drm 2005.02.01). The following happens:
When I start the process (pass 1 from 2, batch processing) nothing happens. When I look in taskmanager, mencoder is not working. When I totally stop MeGUI, mencoder is working, I can see it in taskmanager.
Itīs only with real movies, not with small clips. With small clips I have to wait about 30 seconds and then the process starts.
I made my last big movie wit MeGUI 15, very successfull. Anyone the same experiences? Iīll test more this evening :) , changing m,encoder to the release of the middle of January or MeGUI back to version 15.
tiki4
15th February 2005, 11:30
I have the same problem here. The last version of MeGUI I can use is 0.13. 0.15 and 0.16 show exactly the problem you mentioned. My configuration is WinXP SP2 + .NET 1.1 SP1. I also tested Win2K SP4, same problem. I'm not sure where this problem is located, unfortunately.
tiki4
edit: typo
Doom9
15th February 2005, 13:05
@tiki4: can you confirm that the problem only happens with newer builds?
Since my code has been unchanged for weeks, it must be something in mencoder. As I keep track of the progress by reading stdin and stderr, perhaps somebody who's into mencoder development can confirm or deny this: has something in the way data is being written to stdout and stderr been changed?
tiki4
15th February 2005, 14:16
Sorry, I don't have a clue. I used my own mencoder builds (daily cvs + x264 svn) to test. I only can say that I also tested celtic druid's builds (I think from 20/01/2005 on) and they also didn't work for me. The strange thing is that MeGUI 0.13 works, but 0.15 and 0.16 not (never got 0.14). I think you implemented the progress bar in between these versions or am I mistaken there?
tiki4
Doom9
15th February 2005, 17:28
I think you implemented the progress bar in between these versions or am I mistaken there? Yes.
Can you use MeGUI to just give you the commandline, then encode in a dos window using a version that works with MeGUI and one that doesn't and compare the commandline output? It must have something to do with commandline processing (I extract certain information from the commandline for the progress bars and status window.. if that info isn't there, the commandline reader might throw up at some place and that stops the whole encoding process).
Also, if you can figure out how long a source has to be for the problem to ocurr. Debugging with full movies is obviously not something that I can readily do.
tiki4
15th February 2005, 17:41
I'll try to find out what causes the problem. Give me some time, though, I'm rather busy with finding a job these days.
tiki4
JoeBG
15th February 2005, 19:35
@ doom9
I finished my tests with a real movie(2 hours) with mencoder 2005.01.20, 2005.02.01, 2005.02.14
MeGUI Version 15 and 16: Does not work with any mencoder with movies, just with clips
I deletet older versions but I remember a film with Version 13 or 14 where I startet both passes manually because batch processing was not implemented. Since then I testet clips.
I donīt have the older versions anymore => canīt test them again, sorry.
Doom9
15th February 2005, 21:33
Does not work with any mencoder with movies, just with clipsWhat exactly does "does not work" mean? The behaviour you described (encoding doesn't start until you close MeGUI) or something else?
And another thing.. is this problem codec related? Can you try with the lavc mpeg-4 codec (the fastest of the 3)? I guess you can see where I'm getting at.. finding the least timeconsuming way to reproduce.
hpn
16th February 2005, 03:12
My test setup:
MeGUI 0.16
mplayer2005.02.14.Athlon-XP
avs2yuv 0.23
.NET 2.0.40607
x264 rev.127
Windows XP SP2 with all (most?) post-SP2 critical patches installed
I did about 20 AVC tests starting from a full movie avs and then started dividing the frame number by 2. Encodes with less than 5000 frames work fine. Any avs input that contains 5000 or more frames crashes MeGUI immediately after I press "encode".
It's easily reproducible:
trim(0,4999) - works fine (also fine for any number < than 4999)
trim(0,5000) - crashes (also crashes for and any number >5000)
I don't know if this 4'999 is some general rule or movie input specific or something else, but those who get the same "short clips only" problem could also test it for both 4999 and 5000 frames (if not, just start from a higher frame number and then start deviding the frame number up or down by 2 until you reach your "critical mass"). After each MeGUI crash, mencoder.exe keeps working at 100% in the background, producing a valid "mencoder-2pass.log", so I could wait and finish succesfully the first pass encode (and second later). For every new test you have to manually kill "mencoder.exe" in task manager. I remember reverting to .NET 1.1 a few weeks ago didn't solve some similar problems, but I managed to encode a full movie by letting mencoder.exe works in the background (MeGUI used to exit right away)
When crashing:
Error signature:
AppName: megui.exe AppVer: 1.0.1842.30101 ModName: kernel32.dll
ModVer: 5.1.2600.2180 Offset: 0001eb33
JoeBG
16th February 2005, 03:54
Originally posted by Doom9
What exactly does "does not work" mean? The behaviour you described (encoding doesn't start until you close MeGUI) or something else?
Yes Sir, thatīs the problem. Encoding does not start until clos of MeGUI
Originally posted by Doom9
And another thing.. is this problem codec related? Can you try with the lavc mpeg-4 codec (the fastest of the 3)? I guess you can see where I'm getting at.. finding the least timeconsuming way to reproduce. [/B]
But you only need to take a film and look if it starts for you?
I have to test lavc a little bit. When I try to start it without changing something in GUI nothing happens, just a termination of the programm.
Doom9
16th February 2005, 09:13
@hpn: I'm still a bit concerned about your .NET 2.0 but thanks for testing. Let's hope mencoder acts the same way on my box.. 5000 frames is something I can work with for tests (I did my testing with 1000 frames).
JoeBG
16th February 2005, 09:30
@hpn
Thatīs a better testing than my one. Hope it helps doom9 to find the mistake
hpn
16th February 2005, 22:48
Originally posted by Doom9
@hpn: I'm still a bit concerned about your .NET 2.0 but thanks for testing.
I downgraded to .NET 1.1 and tried again with the same test setup. This time MeGUI for all tests with 5001 or more frames doesn't crash with an error message, but the status window simply freezes at 50 frames and mencoder.exe stops working at the background. I press "abort", then close MeGUI and mencoder.exe resumes at 100%. Short clips work fine again. A small correction to the previous post: It's actually 5001, not 5000 as I overlooked the fact that frame number starts from "0", so trim(0,5000) in the avs file actually feeds 5001 frames to mencoder, not 5000.
So in brief: - asv with trim(0,1), trim(0,2), trim(0,3) ... trim(0,4998), trim(0,4999) works fine, and mysteriously stops working for trim(0,5000), trim(0,5001), trim(0,5002) ...
JoeBG
17th February 2005, 05:45
Originally posted by hpn
I ... but the status window simply freezes at 50 frames and mencoder.exe stops working at the background. I press "abort", then close MeGUI and mencoder.exe resumes at 100%. Short clips work fine again.
Thatīs exactly my experience. Freezing after 50 frames...
Doom9
17th February 2005, 08:39
Freezing after 50 frames...Alright, that's the point where I make the first GUI update. That gives me a pretty good idea of what I'm looking for. As I'm quite busy these days, perhaps if you could post a progress line (mencoder writes a line that indicates its progress... like fps, the number of frames encoded) from a clip that works and one that doesn't (I take it you can take any version of mencoder and as long as it's a short clip it'll work, correct) that'd be great.
tiki4
17th February 2005, 10:19
Just wanted to confirm that the problem really is triggered by the 5000 frames limit.
Trim(0,4999) -> works
Trim(0,5000) -> works not
Cheers,
tiki4
hpn
17th February 2005, 23:17
I also tried some ASP encodes (instead of AVC), using both CBR or 2-pass, also made some random changes to the other options (turbo enabled, different buffer size, quantizers, rate control), hoping the freezing would be gone, but the problem persisted (I'm still on .NET 1.1).
As for the "freezing after 50 frames" It's what the MeGUI reports, but only because it's updated every 50 frames. When I open the "mencoder-2pass.log" after the freezing I can see it has actually freezed in the middle of frame 99 (in:98 - check below) and the file size is 8192 bytes, which is exactly 8k and this also seems suspicious (why not 7893 bytes for example?), so these almost 99 frames is exactly what fits in this 8k file. Then everything hangs up and MeGUI can't keep writing to the log file.
-----------------------------
avs2yuv "G:\t\06_.avs" - | mencoder - -ovc x264 -o NUL: -passlogfile "mencoder-2pass.log" -x264encopts pass=1:qp_constant=26:4x4mv:rc_buffer_size=700
mencoder-2pass.log:
in:0 out:0 type:I q:23.000 itex:200 ptex:0 mv:451 misc:221 imb:1215 pmb:0 smb:0;
in:1 out:1 type:P q:26.000 itex:0 ptex:0 mv:0 misc:104 imb:0 pmb:0 smb:1215;
in:2 out:2 type:P q:26.000 itex:0 ptex:0 mv:0 misc:104 imb:0 pmb:0 smb:1215;
.
.
in:96 out:96 type:P q:26.000 itex:10753 ptex:10201 mv:11648 misc:838 imb:296 pmb:461 smb:458;
in:97 out:97 type:P q:26.000 itex:7564 ptex:9988 mv:9560 misc:896 imb:171 pmb:506 smb:538;
in:98 out:98 type:P q:26.000 it
FREEZED and "it" is the last string written to the file (bytes 1FFE and 1FFF)
--------------------------------------------------------------------------------------------
Now I press "abort" and close MeGUI and mencoder.exe "wakes up" and continues to write to "mencoder-2pass.log" in the background:
in:98 out:98 type:P q:26.000 itex:2684 ptex:7527 mv:7593 misc:1020 imb:137 pmb:492 smb:586;
in:99 out:99 type:P q:26.000 itex:870 ptex:7086 mv:5996 misc:1064 imb:61 pmb:484 smb:670;
in:100 out:100 type:P q:26.000 itex:736 ptex:8038 mv:5952 misc:1106 imb:64 pmb:504 smb:647;
.....etc.
Once again this problem is only present for trim(0,5000) or more. Shorter clips work like charm.
Doom9
18th February 2005, 08:17
actually, it's mencoder that writes to the logfile. However, mencoder writes out something to stdout for every frame you encode. So, I figure once it writes out the info from frame 100, my app reads it but then screws up somewhere and the reading threads lock. As stdout is no longer being read, mecoder is effectively halted.
sherpya
19th February 2005, 02:52
you may need to set null buffer to stdout/stderr descriptors
JoeBG
19th February 2005, 16:16
@ doom9
any enlightenments or progress :)
Doom9
20th February 2005, 00:24
any enlightenments or progress Yes there is. I wanted to go to bed but I just had to have a look. First of all thanks to all those who made tests.
I can confirm there is a problem and I know why it only happens with sources longer than 5000 frames: as you might have noticed, I update the GUI every 50 frames. If a source is less or equal to 5000 frames, 50 frames means 1% of the video is encoded. If it's longer, percentage done = 0, and as I use that value to calculate the remaining time and that calculation contains a division by the percentage done, with a clip longer than 5000 frames I get a division by zero. As it's not catched, the program blocks. The batchfile is still running, but since the app is not reading from it, it makes no progress. And for some wicked reason, as the program exits and the pipes are no longer being read, the encoding once again takes off. I guess it would be interesting to figure out why that happens, but that's probably something for somebody who understands a lot more of the underlying Windows basics.
Anyway, bug identified, understood and fixed. Attached is the fixed MeGUI 0.161.
Changelog: fixed a division by zero exception that would prevent MeGUI from completing jobs longer than 5000 frames.
Come to think of it, I need to revise my progress estimator big time.. using an int value for the progress in percent is definitely not accurate enough.
Downloaded 79 times before removal.
JoeBG
20th February 2005, 10:36
Works http://www.cheesebuerger.net/images/smilie/froehlich/a040.gif
Sergejack
20th February 2005, 14:32
Is there a place with all the up-to-date files needed ?
I want to encode in X264 using AVS scripts with a GUI if possible, and there are too much attachement here and there for me.
North2Polaris
20th February 2005, 15:27
Originally posted by Sergejack
Is there a place with all the up-to-date files needed?
Check the readme.txt file in the MeGUI 0.161 zip file.
Sergejack
20th February 2005, 15:43
Originally posted by North2Polaris
Check the readme.txt file in the MeGUI 0.161 zip file.
I had done that, but it didn't work for me.
(I have an Athlon XP)
North2Polaris
20th February 2005, 16:45
Originally posted by Sergejack
I had done that, but it didn't work for me.
(I have an Athlon XP)
I have an Athlon XP, as well. I just copied the latest version of avs2yuv.exe (http://students.washington.edu/lorenm/src/avisynth/avs2yuv/) and mencoder (http://celticdruid.no-ip.com/xvid/mplayer/) to the same directory as the GUI.
Hmm...
Sergejack
20th February 2005, 23:34
Originally posted by North2Polaris
I have an Athlon XP, as well. I just copied the latest version of avs2yuv.exe (http://students.washington.edu/lorenm/src/avisynth/avs2yuv/) and mencoder (http://celticdruid.no-ip.com/xvid/mplayer/) to the same directory as the GUI.
Hmm...
As said in the txt file, but I have an runtime error.
North2Polaris
21st February 2005, 00:14
Originally posted by Sergejack
As said in the txt file, but I have an runtime error.
Did you check for avisynth.dll and devil.dll as required by Avs2YUV?
Other mencoder builds can also be found here:
http://oss.netfarm.it/mplayer-win32.php
Ariakis
21st February 2005, 03:40
I'm not sure if anyone else has had this problem, but when I aborted an encode, mencoder terminated, but avs2yuv remained running in the background... It's no big deal, just something to investigate.
I'm running WinXP Pro SP2 on an Athlon64 if it matters.
Doom9
21st February 2005, 09:59
As said in the txt file, but I have an runtime error.That's just no bugreport I'm afraid. The next readme will contain required info for any support call or it won't be answered. Please, how can anybody know what your mysterious runtime error is without you actually posting the exact error message to begin with?
I'm not sure if anyone else has had this problem, but when I aborted an encode, mencoder terminated, but avs2yuv remained running in the background... It's no big deal, just something to investigate.I'll check. It might not even be my error, but then again, perhaps I don't close all the pipes properly and so avs2yuv doesn't exit because data is still being read from it. Though eventually I'll move away from avs2yuv anyway.
tiki4
21st February 2005, 12:21
Hello doom9,
thanks for the interim release. I'll be testing it later on.
tiki4
Doom9
21st February 2005, 22:22
btw, does anybody know what xvid's turbo mode triggers internally? seems the xvid turbo flag is also not exposed in mencoder (and now I've just told you what is coming next).
@Ariakis: avs2yuv does indeed stay in the bg and will resume decoding if you exit the app. As this is highly undesirable (weird that when I kill the process I started mencoder is closed, but avs2yuv isn't) I've added some code in the upcoming version that'll look for any running instance of avs2yuv when abort is pressed, and kill the process instantly.
North2Polaris
21st February 2005, 23:43
@Doom9
On the first tab under "Output", I am using:
Codec: AVC
File Type: AVI
FourCC: x264
When I use "Queue", the job line lists the Codec as "ASP". When I run the job, I get an AVC file, but shouldn't the codec in the job line be listed as "AVC"?
A small thing, hopefully.
Thanks.
North
hpn
22nd February 2005, 02:35
Just finished a full movie first pass (150k+ frames) and the new MeGUI 0.161 works fine now. Thanks :)
Doom9
22nd February 2005, 08:38
@North2Polaris: close MeGUI, find the proper jobX.xml file, open it in notepad, copy and paste the contents and send it in a PM to me please so that I can have a look.
@edit: never mind, there's indeed a bug that'll be fixed in the next release.
Doom9
22nd February 2005, 21:02
here is version 0.162
what's new:
xvid support
3 pass encoding in lavc mpeg-4 and x264 codec
bugfix: codec name is properly transmitted to queue
bugfix: aborting a job via abort button in the status window does not block any further jobs from being processed
bugfix: aborting a job stops avs2yuv
improvement: accuracy of the size prediction has been improved
improvement: accuracy of the estimated remaining time has been improved
improvement: bug report requirements are now stated at the end of the readme file
downloaded 69 times prior to removal
JoeBG
23rd February 2005, 06:45
Yust finished a very nice video with 0.161. Thanks for 0.162 - Xvid is great :)
Doom9
23rd February 2005, 22:23
Here is v0.163
new: automated 2 pass encoding of lavc mpeg-4, x264 and xvid
new: probably many new bugs
make sure you read the readme to understand how automated twopass acts when using the queue.
I'll be moving towards MP4 output now but I'd appreciate if somebody could do some hard testing.. so that they can be fixed before I add a lot more code.
And if it's really used (I expect to see lots of posts from different people), I could also add automated 3 pass encoding.. the basics is now there (it's quite tricky to turn a program meant to encode what's in the GUI and double the work to be done without interfering with all the existing mechanisms)
Oh, and if somebody is interested in refactoring, let me know.. the code is so messed up you could probably spend days giving it a clean structure.
Doom9
24th February 2005, 13:38
I'm going to use mp4creator for the forseeable future.
Doom9
24th February 2005, 22:37
here's v0.164
new: mp4 output (doesn't work with snow obviously)
how does it work: once encoding of a suitable job is done, the video output (named something.mp4 is renamed to be mp4 compliant (for MPEG-4 ASP that's something.m4v, for AVC that's something.264), then it's put into an MP4 file (that file has the name you specified)). The renaming is done automatically and existing files will be overwritten (just as mencoder overwrites existing files).
The output of mp4creator, plus mp4 statistics will be put at the end of the log. The log will only be shown once muxing has completed, so in case of muxing a full movie, the status will remain at 99% until muxing is complete.
Please keep all the mp4 statistics at the end of the log and if you have a sizeable number of them from reasonable input (preferably full movies, but at least 10'000 frames) send them to me.. it'll help figure out an accurate overhead calculation for automated encoding (that's where MeGUI is going.. give an AC3 file and AVS file, set a size, pick codec and parameters, and everything will be done for you).
So once again, KEEP THOSE MP4 STATISTICS
P.S. Forgot something in the readme: you need the most recent mp4creator: http://www.aziendeassociate.it/cd.asp?dir=/mpeg4iptools
v0.164 was downloaded 64 times prior to removal
cheburashka
25th February 2005, 08:12
@Doom9
You swapped "AVC Main" and "AVC Q & RC" tabs in 0.164.
Is that intentional?
I guess not.
And you did not add latest x264 (build 142+) options to configure usage of weighted prediction and adaptive BVOPS.
Doom9
25th February 2005, 09:09
You swapped "AVC Main" and "AVC Q & RC" tabs in 0.164.Actually, not I, VS.2003 did that. For some wicked reason, in the GUI designer everything is okay but when I compile and run the app, all the tabs are mixed up. I'll eventually (hopefully this week-end) do a redesign where only the tabs that are active are visible, and in that solution the tab order will be controlled by myself and thus the IDE can no longer interfere.
And you did not add latest x264 (build 142+) options to configure usage of weighted prediction and adaptive BVOPS.Are you talking about the VfW? I'm not using it. But if somebody can tell me how those options are exposed in mencoder, I'll gladly integrate them (it'll require an up-to-date build of mencoder though).
akupenguin
25th February 2005, 09:28
Weighted prediction is enabled by weight_b, and adaptive B-frames are enabled by b_adapt.
Doom9
25th February 2005, 10:00
Weighted prediction is enabled by <i>weight_b</i>, and adaptive B-frames are enabled by <i>b_adapt</i>.Thanks... btw, html code is not enabled so you have to use bbcode, and bbcode uses [ ] brackets instead of the html brackets.
Oh, are those enabled or disabled by default?
celtic_druid
25th February 2005, 10:43
From the looks of ve_x264 they are disabled by default.
Doom9
25th February 2005, 12:51
@celtic_druid: by the way, I suppose I'd need a newer build than the 2/22 (the latest one on your mirror). Any chance we could get a 0day build?
And is it just me or are those two just exposed in mencoder (and perhaps the cli x264 encoder) and not the VfW?
bond
25th February 2005, 13:41
hm i dont seem to get .mp4 output to work (default avc options), i only get a .mp4 file which actually is raw avc (but not muxed into .mp4)
i placed the latest mp4creator in the mencoder folder
i dunno but maybe this damn winme is causing this as it cant pipe streams via dos it seems (always has to decode to raw first and than feed the raw to mencoder), makes avs2yuv pretty unuseable practically :(
i noticed that when choosing level0 for subpixel refinement mencoder crashes (only seems to allow values > 1)
another thing: it might make sense to change the codec naming a little bit: i think instead of asp, avc, xvid and snow the following might be better:
- asp (xvid)
- asp (libav)
- avc (x264)
- snow
cause xvid is of course also asp and your gui offers two asp codecs for encoding, so it might also show this in the options :)
celtic_druid
25th February 2005, 13:44
I put new builds up. x264 r144 and current XviD cvs head. Athlon64, XP, tbitd, pentium4 and 3. I assume you know where to find them before they get mirrored?
Sharktooth
25th February 2005, 14:00
Since the automatic backup script doesnt work as expected (too much timeouts generated corrupted copies and sometimes it "jumped" some files cause of the incomplete directory listing...) i'm mirroring the files by hand... so it may take a while (CD's site is quite slow too) before i update everything.
Doom9
25th February 2005, 14:34
I assume you know where to find them before they get mirrored?Actually, no, so if you could show me the way..
hm i dont seem to get .mp4 output to work (default avc options), i only get a .mp4 file which actually is raw avc (but not muxed into .mp4)
i placed the latest mp4creator in the mencoder folder
i dunno but maybe this damn winme is causing this as it cant pipe streams via dos it seems (always has to decode to raw first and than feed the raw to mencoder), makes avs2yuv pretty unuseable practicallyThe log should tell you something.. I catch the mp4creator stdout (but perhaps it too sends errors to stderr) and put it in the log. And because of mp4creators stupidity when it comes to input filetypes (I wouldn't mind indicating my input type as an additional flag, but using the extension, that's just weird beyond reason), I use the final output name as mencoder raw output, then rename (though.. you seem to have a problem with the renaming already because that is done prior to mp4creator starting). Either way, considering your avs2yuv problem I strongly suggest you upgrade to a reasonable OS ;) Even with your CPU, there's no reason to stick to a crappy pseudo 32 bit OS (and W2K ran just fine on my 450 Mhz P2 back in the day).
- asp (xvid)
- asp (libav)
- avc (x264)
- snowOnce I restructure the GUI (only show tabs in function of the selected codec), that'll happen..right I don't have enough space as it is (scrolling tabs is a nightmare). I really wished that libavcodec codec would have a more reasonable name.. it simply has no reasonable designation.
bond
25th February 2005, 14:44
Originally posted by Doom9
The log should tell you something.. I catch the mp4creator stdout (but perhaps it too sends errors to stderr) and put it in the log.there is no log created :(
And because of mp4creators stupidity when it comes to input filetypes (I wouldn't mind indicating my input type as an additional flag, but using the extension, that's just weird beyond reason)hm i find this a normal behaviour, its like why should you have to use a "-avi" flag for signalling .avi input if you can simply analyse the extension :D
Either way, considering your avs2yuv problem I strongly suggest you upgrade to a reasonable OSyeah, i know its crap, but till now all major problems could be solved somehow (eg piping via cygwin works, or simply direct .avs input in mencoder) and i am simply too lazy to resetup :D
Doom9
25th February 2005, 15:38
there is no log createdThen how can you encode using my GUI? After encoding completes, the status window will close and a log window will come up with everything that mencoder wrote to stdout and stderr, plus additional stdout info from mp4creator and some of my own stuff (mp4 overhead info for one).
If mp4creator isn't there, the GUI will already balk.
hm i find this a normal behaviour, its like why should you have to use a "-avi" flag for signalling .avi input if you can simply analyse the extension AVI can contain MPEG-4 ASP, AVC and a lot of other stuff, so you'd still have to do some input analysis for this to work ;)
bond
25th February 2005, 17:50
Originally posted by Doom9
Then how can you encode using my GUI? After encoding completes, the status window will close and a log window will come up with everything that mencoder wrote to stdout and stderr, plus additional stdout info from mp4creator and some of my own stuff (mp4 overhead info for one).the status window doesnt close :(
Doom9
25th February 2005, 21:44
the status window doesnt closeDidn't that always happen for you? I thought you never actually got a single job that finished (they do mencoder wise but MeGUI never finishes). I'm afraid considering that you're the only one with an oudated OS and at the same time the only one with problem, and further considering all the hoops programmers have to jump through to sometimes get modern software to work on outdated operating systems, I can only assume. Don't you have any computer with a reasonable OS accessible to you? And why not upgrade? It's like dragging a 100kg stone after your car.
I really wish I could help, if it were a problem on W2K I'd consider a W2K installation of VMWare and get the debugger running, but I won't touch WinME.
North2Polaris
25th February 2005, 22:53
Originally posted by Doom9
Please keep all the mp4 statistics at the end of the log and if you have a sizeable number of them from reasonable input (preferably full movies, but at least 10'000 frames) send them to me..
@Doom9,
I just did a successful 2-pass run of about 10,000 frames. I saved the 2 logfiles in a text file. Are you still interested in getting these?
North
Doom9
25th February 2005, 23:02
I saved the 2 logfiles in a text file. Are you still interested in getting these?
Just the end part starting with the filesizes. But, the more you have, and the longer the movie the happier I'll be ;) Of course, that is assuming your output is MP4.. otherwise I'm not interested.
North2Polaris
25th February 2005, 23:19
Like this?
MP4 muxing info:
Size of raw input file: 38321919 bytes
Size of video in mp4 file: 38406041 bytes
Total overhead: 84122 bytes
Overhead per frame: 8.01619973318087bytes
source information
codec: AVC
number of b-frames: 0
Will the logfile from a one pass encode give you the information you need?
Doom9
25th February 2005, 23:39
Here's version 0.165
new: supports weighted prediction for b-frames
new: supports adaptive b-frames
both those features require an up-to-date mencoder build. I suggest one dated 2/25 or newer. Since those features require an up-to-date mencoder build I think the next version will make use of mencoder's avs input capabilities.
v0.165 downloaded 56 times prior to removal
Doom9
25th February 2005, 23:42
Like this?Yup, just the way I like it :)
Will the logfile from a one pass encode give you the information you need?No.
I guess in the future I'll read out the mencoder end output and compare it to the set bitrate so that whenever I have the bitrate calcuations down and somebody complains about over or undersize I can point my fingers to the codec :devil:
Also attached are the latest sources. The next features will probably require a big rewrite, so I figured a source release was in order in case any quick fixes are needed on the current codebase.
hellfred
26th February 2005, 04:28
@Bond
You can try to use another "Dosbox". When i was still using manly Win98 i found cmd.exe from ReactOS very usefull, giving me e.g. tab-completion. And there were some builds/backports of MS cmd.exe to Win9x on the net, too. But those failed to switch the partition, just worked on one (e.g. only on c:\)
Hellfred
celtic_druid
26th February 2005, 07:53
I made a version that doesn't require avs2yuv if someone wants to test?
@edit by admin: removed link since it's now outdated.
Did some tests including mp4 output and it worked ok here.
Changes.
No avs2yuv required.
Wider gui.
Updated readme (-avs2yuv, +mp4creator).
Everything else is the same.
JoeBG
26th February 2005, 11:11
@ celtic_druid
Very nice GUI and it works perfect :)
Doom9
27th February 2005, 01:57
Here's version 0.166:
new: preliminary audio support. commandlines are already written and persistent profiles can be created, but audio encoding is currently not possible
new: GUI adapts to the chosen input (audio: mp4/aac audio is for muxing only, selecting other audio input enables the audio configuration. video: only the codec configuration page of the currently selected codec is being shown) => no more tab scrolling
new: advanced codec settings (RC and Quantizer) are hidden by default and can be enabled via checkbox. This should make the GUI less cluttered
changed: video profiles are now written and read from <path of megui>/profiles/video so make sure you copy all your profiles there
changed: adjusted column widths in the queue
changed: many internal improvements reflecting the fact that video and audio encoding will eventually be supported (hopefully in the next version)
changed: avs2yuv is no longer needed
Oh and then there's a todo I forgot to put into the readme: eliminate need for job.bat now that I'm using mencoder without avs2yuv.
v0.166 downloaded 49 times prior to removal
JoeBG
27th February 2005, 06:04
@ Celtic_druid
I have blue faces with your build. I tried it with the mencoder from netfarm because I could not find your updatet mencoder. I tried this mencoder here:
http://oss.netfarm.it/mplayer-win32.php
@ doom9
Did you test version 0.166 with a mencoder from celtic_druid? Or do have to create a special avisynth skript?
celtic_druid
27th February 2005, 08:20
This has already been discussed. Basically older versions of dgdecode output by default to 1420 which the avs mencoder patch thinks is YV12 so you have blue faces instead of pink.
Solution is to update dgdecode.
This is also I noticed covered in the new readme.
JoeBG
27th February 2005, 08:56
Originally posted by celtic_druid
This has already been discussed. Basically older versions of dgdecode output by default to 1420 which the avs mencoder patch thinks is YV12 so you have blue faces instead of pink.
Solution is to update dgdecode.
This is also I noticed covered in the new readme.
Ok, sorry for this :)
Doom9
27th February 2005, 15:33
urgh, sorry guys, avs2yuv.exe is still required in v0.166(not for encoding, but the check for the application's existence will fail and encoding won't start).
Here's v0.1661 that no longer checks for avs2yuv and also doesn't need job.bat anymore either.
version 0.1661 was downloaded 161 times prior to removal
azsd
27th February 2005, 15:58
thx,
nice tools,I ve using it now
little suggest,could you please change the form's font to Tahoma,8(.25)pt (mostly app use)
change the formborderstyle to FixedDialog,and the Maxmizebox to False?
it's do not functional more but sould look better.
default fonts(if you haven't change the default value,the value will not store in C# apps) will specialed by framework runtiming,so i get some control's text be clipped in my OS.
Doom9
27th February 2005, 17:03
@azsd: all those things will be taken care of in the new version.
Doom9
27th February 2005, 20:02
@bond: regarding the codec names: perhaps you have noticed there's a tooltip on the codec label. I've added another one to the codec selection dropdown now which gives an explanation on the codec types. I hope that makes it clear enough.
dinolib
28th February 2005, 16:29
Hi,
I'm tring megui 166.1. I like it! Thank you Doom9.
I would post strange behaviours (may be bugs, may be my incompetence)
My PC: P4M, winXP SP1, .net RTM 1.1.4322.573, mencoder 20050225, avisynth 2.5.5
Input: DX50 720x416 - 2742 frames
1) Macroblock Option 4x4mv doesn't recognized by mencoder 20050225: "Option x264encopts: Unknown suboption weight_b4x4mv" (is it not released in mencoder yet?)
2) mp4 encoding doesn't signal errors: the previous error appear only with AVI. In mp4 encoding I have nothing (encoding hang up, no CPU activity).
3) When a queue elaboration finish, I can't start another one (if then I try direct encode, MeGUI tell me "cannot have two open encoding sessions at once" and on exiting from the program, I get a run-time error)
4) using queue mode for mp4 files (ASP profile) encoding stop at 99% before mp4 muxing (m4v file is created, not the mp4).
5) AVC codec, adaptive flag: disabled by default with B-frames set to 2 (incompatible, I think)
I hope this will help you to make MeGUI even better!:D
Dino
Doom9
28th February 2005, 16:49
1) Macroblock Option 4x4mv doesn't recognized by mencoder 20050225: "Option x264encopts: Unknown suboption weight_b4x4mv" (is it not released in mencoder yet?)That's a bug on my side, weight_b is one parameter, b4x4mv another.. they should be separated by a ":", otherwise mencoder won't recognize them.
5) AVC codec, adaptive flag: disabled by default with B-frames set to 2 (incompatible, I think)Hmm.. I guess I must've switched it the wrong way around.. obviously it should only be available when b-frames are enabled.
I'll check the other stuff, too, as soon as I can get my dev build running again (I rewrote more than half of the non GUI code yesterday, things are much more flexible internally now and will make automated audio & video encoding and MP4 muxing possible). In the new version, MP4 muxing will be a separate job (in the previous builds, MP4 muxing was part of video encoding.. hence you can't get past 99% if the muxing fails for some reason). Having the muxing separate also has the advantage that if only muxing fails, you can restart that particular job without having to redo video (and audio).
hitbit
28th February 2005, 18:02
I know that you guys prefer to rip via avisynth, but since mencoder support reading and decrypting DVDs "on the fly", why don't include this option in MeGUI?
Doom9
1st March 2005, 14:57
3) When a queue elaboration finish, I can't start another one (if then I try direct encode, MeGUI tell me "cannot have two open encoding sessions at once" and on exiting from the program, I get a run-time error)I think that this is connected to your mp4 muxing failure. I've completely rewritten the muxer, and I hope things will work better now (when it's out.. I'm still stuck with processing besweet stdout messages (see my post in the development forum if you think you can help), and haven't even tested MP4 muxing yet. But, if you get no message back from the encoding (and thus MP4) muxing, it makes sense that you cannot start another job - as far as megui is concerned, you're still encoding.
5) AVC codec, adaptive flag: disabled by default with B-frames set to 2 (incompatible, I think)There was indeed something wrong with that.. it's fixed now.
I know that you guys prefer to rip via avisynth, but since mencoder support reading and decrypting DVDs "on the fly", why don't include this option in MeGUI?Because AviSynth I have no use for mencoder's input capabilities other than AVS. I don't think I've come across a post from anybody using mencoder for direct DVD input, and quite frankly I have no clue as how to deal with it.. there's so many things (resize, crop, deinterlace/ivtc, what to do with audio) where I have no experience whatsoever, but know a lot of imho way better tools to get the job done that I think it's futile to implement such features. Plus, even with the redesign, it would be quite a stretch to add that much functionality.
But hey, it's open source so if you think that's something you want to do, be my guest.
JoeBG
1st March 2005, 18:49
@ doom9
A big advantage of MeGUI is to have full avisynth power. I donīt want to miss this.
Would it be possibble to add other extensions to raw-output than "raw"? Maybe m4v or h264 would be enough. So noone needs to rename the files when adding them to mp4muxer - would make things easier :)
You plan to convert AC3 to aac with BeSweet? Does this work automatically or do I have the possibility to define own commandlines and save them as aac profiles? (But this really is no need, yust a nice to have when you use robot4rip or directly BeSweet):)
Testet a whole film with ASP my first time. I used it with file extension m4v. Worked great. I make my own mp4 calculation and reached the target size very good.
Doom9
1st March 2005, 19:10
Would it be possibble to add other extensions to raw-output than "raw"?Sure, that wouldn't be a problem at all.
You plan to convert AC3 to aac with BeSweet? Does this work automatically or do I have the possibility to define own commandlines and save them as aac profiles?It's already done.. but I just seem to be too stupid to catch the besweet stdout output properly (I want to have a nice progress bar like for the video, at least for besweet's 2nd pass). And you can configure pretty much what you need (basically the Nero AAC encoding config as far as it makes sense for the scenario). Custom commandlines are foreseen but won't be in the next version.
celtic_druid
1st March 2005, 19:57
How about:
else if (fileType.SelectedIndex == 1)
{ // RAW output
if (this.codec.SelectedIndex == 1)
this.outputSaveFileDialog.Filter = "RAW Files|*.264"; // x264
else if (this.codec.SelectedIndex == 2)
this.outputSaveFileDialog.Filter = "RAW Files|*.raw"; // SNOW
else
this.outputSaveFileDialog.Filter = "RAW Files|*.m4v"; // XviD & libavc MPEG4
}
Doom9
1st March 2005, 20:06
@celtic_druid: that about oughta do it ;)
BTW, if you mind having a look at the code in the developer forum.. some of the GUI updates (selecting a profile, selecting certain input files) seems to have a weird effect on the GUI (the contents in the dropdowns is suddenly selected for instance, and there's a weird thing going on when changing the output type from mp4/raw back to AVI (setting fourcc.SelectedIndex seems to have no effect, I have to first select another index than 0).
celtic_druid
1st March 2005, 20:33
As I said earlier I would recommend changing the drop down style to DropDownList.
That said I just compiled the source from thw dev forum and it works fine although I still think dropdownlist looks nicer.
How about this? A little something so that if the user decides to select the output file (gives *.avi) and then decides they want mp4. With this the filename automatically becomes *.mp4. Otherwise you end up saving an mp4 with the extension avi.
if (fileType.SelectedIndex == 0) // AVI
{
this.fourcc.Enabled = true;
// this.fourcc.SelectedIndex = 0;
if (this.outputFile.Text.Length > 2)
{
this.outputFile.Text = this.outputFile.Text.Substring(0, this.outputFile.Text.Length - 3);
this.outputFile.Text += "avi";
}
}
else if (fileType.SelectedIndex == 1) // RAW
{
if (this.outputFile.Text.Length > 2)
{
this.outputFile.Text = this.outputFile.Text.Substring(0, this.outputFile.Text.Length - 3);
if (this.codec.SelectedIndex == 0)
this.outputFile.Text += "m4v";
else if (this.codec.SelectedIndex == 1)
this.outputFile.Text += "264";
else if (this.codec.SelectedIndex == 2)
this.outputFile.Text += "raw";
else
this.outputFile.Text += "m4v";
}
this.fourcc.Enabled = false;
this.fourcc.Text = "";
}
else
{
if (this.outputFile.Text.Length > 2)
{
this.outputFile.Text = this.outputFile.Text.Substring(0, this.outputFile.Text.Length - 3);
this.outputFile.Text += "mp4";
}
more code needed so that if the user selects RAW then changes from say XviD to x264 they don't end up with *.m4v.
Err guess using this.outputFile.Text.LastIndexOf(".") + 1 would be better incase someone enters their own file extension which isn't 3 chars.
Doom9
1st March 2005, 20:52
actually I meant to place similar code in the video encoder and override the output filename there.. so basically the user can set whatever he/she wants, in the end if we're going for raw or mp4 the mencoder output will be .264 or .m4v.. but that kinda conflicts with custom commandlines where no checking is done. damn
can you try this: start program, select MP4, then AVI from the dropdown. I now have the Codec dropdown selected (the "ASP" string is surrounded by blue, as if the user had selected it with the mouse), same for the Video Profile and Audio Profile (I have profiles definied that are loaded upon startup).
If I change the codec, the File Type, Video and Audio profile are colored blue.
It also applies to the dropdowns in the video tab (regardless of the codec). I can't have changed much since 0.1661 (just bugfixes). And if you change line 4939 in Form1.cs to this.fourcc.SelectedIndex = 0;, compile and start again, select MP4 output, then AVI again.. note that the FourCC field is now empty.
celtic_druid
1st March 2005, 21:27
Works ok here.
I'll attach the binary here for you to try.
stax76
2nd March 2005, 02:56
Err guess using this.outputFile.Text.LastIndexOf(".") + 1 would be better incase someone enters their own file extension which isn't 3 chars.
or use IO.Path.GetFileNameWithoutExtension or wrap the thing in a function, not common practice but I found it a lot easier
Public Shared Function GetLeftLast(ByVal value As String, ByVal start As String) As String
If Not Contains(value, start) Then
Return ""
End If
Return value.Substring(0, value.LastIndexOf(start))
End Function
Doom9
2nd March 2005, 09:03
Works ok here.Interesting.. I tested your build at work, and while it's okay on the input tab, I still get those selected texts in the dropdowns in the video tab. And when I define both video and audio profiles, selecting another video profile marks the text in the audio selection dropdown.
Teegedeck
3rd March 2005, 10:10
On my end MeGUI sometimes seems to forget some of the ':' in the produced commandline when I tick new options, so that I have to add them manually, like
"weight_b4x4mv" --> "weight_b:4x4mv"
Doom9
3rd March 2005, 10:19
@Teegedeck: yeah, that's "standard" behavior (as in a bug of mine). It's already fixed in my development build, but I'm afraid that build is not ready for public consumption yet. Right now only video encoding works, audio encoding partially works (it encodes just fine, but I really want to have the stats window updated as well.. hopefully I can get this all done today). Then the only thing remaning is MP4 muxing and some GUI bugfixing and the next release is ready. From that, it'll only be a short while until fully automatic encoding (select output size, input files and codec, and the rest is done automatically for you (for MP4 only of course.. if you want an AVI or something else, that's what GKnot is for)).
Teegedeck
3rd March 2005, 10:21
^_^
Splendid.
JoeBG
3rd March 2005, 12:36
@ doom
Good news :)
Doom9
3rd March 2005, 21:41
audio encoding is done and appears to be working just fine (unfortunately, because I currently have no means to get the lenght of the audio input file, estimated time of completion and percentage of completion is only available for the 2nd pass).
MP4 muxing also basically seems to work (I've tested video only), but sometime when a job finishes and I get the next StatusUpdate I get a weird Forms exception telling me some process has exited.. haven't found a working solution for that yet but below is the source for those who know how to compile.. and perhaps somebody will figure out where the error comes from (I'm done for today.. ) I hope to have something stable by the end of the week-end.
Thanks to Celtic-druid and stax for their input.
84 people downloaded the sources.. yet nobody figured out what switching from job to job tended to crash the entire program?
celtic_druid
4th March 2005, 03:15
Couple more problems and possible solutions.
1) Crashes if you completely clear a textbox.
2) Crashes if you enter non numbers.
Solution 1:
if (this.x264BitrateQuantizer.Text != "")
xs.BitrateQuantizer = Int32.Parse(x264BitrateQuantizer.Text);
Solution 2:
private bool nonNumberEntered = false;
private void lavcBitrateQuantizer_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
nonNumberEntered = false;
if (e.KeyCode < Keys.D0 || e.KeyCode > Keys.D9)
{
if (e.KeyCode < Keys.NumPad0 || e.KeyCode > Keys.NumPad9)
{
if(e.KeyCode != Keys.Back)
{
nonNumberEntered = true;
}
}
}
}
private void lavcBitrateQuantizer_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if (nonNumberEntered == true)
{
e.Handled = true;
}
}
stax76
4th March 2005, 04:48
or use this :)
private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if (! char.IsDigit(e.KeyChar) && (int)Keys.Back != (int)e.KeyChar)
e.Handled = true;
}
or with regex:
private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if (! Regex.IsMatch(e.KeyChar.ToString(), @"\d") && (int)Keys.Back != (int)e.KeyChar)
e.Handled = true;
}
there are different techniques to provide additionally properties to the property grid of the form designer without subclassing like deriving from TypeConverter and override GetProperties or with a IExtenderProvider. For tasks like validating controls commonly IExtenderProvider is used. Here's a good article about it:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnadvnet/html/vbnet04082003.asp
nexx
4th March 2005, 06:51
In the latest version attached, the 'Trellis Quantization' checkbox doesnt actually work??? It has no affect on the mencoder arguments.
Anyway, cool program, I may use some of the code in my own MEncoder frontend. :cool:
celtic_druid
4th March 2005, 07:27
this.xvidTrellis.CheckedChanged +=new EventHandler(xvidTrellis_CheckedChanged);
is missing in form1.cs.
Doom9
4th March 2005, 08:33
@CD, stax: I'm aware of those issues.. I figured it wasn't a high priority. Especially the Int32.Parse thing.. if you enter a letter as a bitrate you kinda deserve a crash ;)
Have you tried running a bunch of jobs (switching between audio and video, perhaps with an MP4 to round things off)?
Doom9
4th March 2005, 23:11
so I'm wondering.. with 65 downloads (some compiled versions were downloaded less than that), did you encounter any problems when one job ended and the next one begun? Or does everything work as it should and it's just me stepping through the code that caused havoc with the Invokes in the main GUI class?
celtic_druid
4th March 2005, 23:56
Well out of 65 I'm sure some just downloaded it because they download everything. Some didn't know what it was and don't have a compiler, etc.
I ran some tests and the job queue dies on muxing. Video encoding, including auto2pass worked fine. All those logs popping up though is a bit annoying. I moved the log into a tab and I think it looks nicer.
New option b_pyramid for x264 by the way. Default value is 0.
New option: "B-frame pyramid" keeps the middle of 2+ consecutive B-frames as a reference, and reorders frame appropriately.
Doom9
5th March 2005, 00:22
I ran some tests and the job queue dies on muxing. Video encoding, including auto2pass worked fine. how many separate, non linkedjobs did you put in the queue and any audio jobs in the mix? And I don't suppose you debugged the muxer, did you? I'm kinda wondering.. since there's no really useful output except for some cryptic error message when the input doesn't match the expected format, perhaps it would be okay to just run mp4creator normally, and use the thread to check the filesize of the output, compare it with the expected output size and create a progressbar that way.
All those logs popping up though is a bit annoying. I moved the log into a tab and I think it looks nicer.that's a very good idea actually.
Sharktooth
5th March 2005, 00:29
Originally posted by celtic_druid
New option b_pyramid for x264 by the way. Default value is 0.
New option: "B-frame pyramid" keeps the middle of 2+ consecutive B-frames as a reference, and reorders frame appropriately.
Yeah... i wonder why this option is not available in vfw too.
btw im mirroring the latest mplayer/mencoder build.
Sirber
5th March 2005, 01:12
maybe code is there and will be activated next build.
Sharktooth
5th March 2005, 01:20
Yes, the code is in the core and available ONLY thru the CLI.
That's why mencoder has that option...
celtic_druid
5th March 2005, 02:56
I added the option if you guys want to check it out. Seems to encode ok.
x264vfw.revision151p.7z and X264VFWp.exe.
Doom9
5th March 2005, 19:20
New option b_pyramid for x264 by the way. Default value is 0.And what is the allowable range? I figure it has to be an int value since the default is 0.. if it were a bool, there'd be a b_pyramid and nob_pyramid, right? Also, I suppose that feature only makes sense when using > 1 b-frame?
Doom9
5th March 2005, 19:43
and finally, here's version 0.167
new: AAC audio encoding using BeSweet
new: completely new and more flexible MP4 muxer
new: checks all textfields for valid input (only numbers are allowed and empty fields will trigger the default mencoder value for the particular field in question)
new: loading of audio jobs from the queue
new: instead of popup windows ,the log now has its own tab
new: log for audio encoding and mp4 muxing
changed: changed the dropdown style for all but the profile dropdowns so you can no longer write in the dropdowns
changed: form size is now fixed and the maximize button is disabled
change: use windows default fonts
changed: all jobs will be added to the queue, regardless of wheter you start encoding right away or not.
fixed: weighted prediction works properly
fixed: mp4 muxing crashes (pretty much every mp4muxer call is wrapped in a try/catch.. before muxing could've caused errors when trying to set the priority and the process had already completed.. but it's still suggested you use at least a trailer worth of input to give everything time to properly initialize)
fixed: checking/unchecking xvid trellis changes the commandline
fixed: fixed crashes in queue /chained job mode
I'm afraid I can't remember if I have changed anything in the structure of a job so it might well be that you have to scrap your jobs directory and start anew. Profiles created with 0.1661 should be fine (profiles created with a previous version will not owkr).
And here are a few tips and tricks for this new version:
If you select an AAC/MP4 input in the audio input and start a regular video job (using the encode button in the input tab), the AAC/MP4 will be muxed into the output.
Similarly, you can define an audio encoding job, then create a video job, set the output mode to mp4 and make sure the output is named the same as the audio output.. that way the video will be muxed into the existing MP4 containing audio.
JoeBG
5th March 2005, 19:57
wow :) Nothing else to add
North2Polaris
5th March 2005, 20:00
@Doom9,
I have been able to download and run the previous versions, but this time, I get the following error:
Application has generated an exception that could not be handled.
Process id=0xd20 (3360), Thread id=0xd24 (3364)
North
Doom9
5th March 2005, 20:14
@North2Polaris: make sure you delete all profiles and jobs for starters. the only reason I can imagine for a crash upon startup is an error during loading of a job or profile
North2Polaris
5th March 2005, 20:38
Originally posted by Doom9
@North2Polaris: make sure you delete all profiles and jobs for starters. the only reason I can imagine for a crash upon startup is an error during loading of a job or profile
Thanks. I just needed to delete the jobs that were in the "Jobs" folder.
celtic_druid
5th March 2005, 21:40
Yep there is a nob_pyramid and in the VFW version I only allow it if bframes > 1 as I gather from the description that it is only good for 2 or more.
Doom9
5th March 2005, 21:43
@celtic_druid: alright, I'll add another checkbox in the x264 tab then.
JoeBG
6th March 2005, 09:55
Originally posted by nexx
In the latest version attached, the 'Trellis Quantization' checkbox doesnt actually work??? It has no affect on the mencoder arguments.
Anyway, cool program, I may use some of the code in my own MEncoder frontend. :cool:
screenshots?
scorpdt
6th March 2005, 12:56
Doom9 .... everything works well on my end. Awesome.
Knowing that you are still enhancing the software .... just to share observation which is useful to you.
1st pass of a 2 Pass encoding (selecting AVC and MP4 filetype) will create 2 entries in the Queue. The 2nd job in the queue (job1-2) with mux mode I think is not necessary as there is nothing to mux.
To overcome this I had to select RAW for the 1st Pass and change it to MP4 for the 2nd Pass.
Cheers!
Scorpio
Doom9
6th March 2005, 12:59
@nexx: you do realize since this is a GPL project that using code means your project will have to be GPL'ed as well..
1st pass of a 2 Pass encoding (selecting AVC and MP4 filetype) will create 2 entries in the Queue. The 2nd job in the queue (job1-2) with mux mode I think is not necessary as there is nothing to mux.Hmm.. it should obviously not do that but I'll look into it later today. You didn't by any chance have MP4 as output type for the 1st pass, did you? That might confuse the program into thinking it has to create a mux job.
To overcome this I had to select RAW for the 1st Pass and change it to MP4 for the 2nd Pass.Why not use automated 2 pass encoding? You could also just delete the mux job.. I suppose it could crash though so that's something I'll have to look at as well.. I couldn't say with certainty that if I have a chained job, and the next job is missing, that this wouldn't cause any problems. But you can definitely delete one job of a chained series.
scorpdt
6th March 2005, 14:40
Thanks Doom9,
Yes ... I should have mentioned Automated 2 Pass is working fine.
Cheers!
Scorpio
nexx
6th March 2005, 15:30
Originally posted by JoeBG
screenshots?
It's aimed at australian HDTV captures (25fps 1080i or 576p/i) to xvid/x264. Not an advanced program but something my little brother is capable of using :p
http://users.bigpond.net.au/nexx1/dvbmenc/dvbmenc1.png
http://users.bigpond.net.au/nexx1/dvbmenc/dvbmenc2.png
http://users.bigpond.net.au/nexx1/dvbmenc/dvbmenc_enc1.png
http://users.bigpond.net.au/nexx1/dvbmenc/dvbmenc_enc2.png
Doom9
6th March 2005, 17:28
1st pass of a 2 Pass encoding (selecting AVC and MP4 filetype) will create 2 entries in the Queue.I've been able to verify that this happens. But, it doesn't make much sense selecting an output type for the first pass.. obviously it'll have no effect whatsoever because only the stats file is generated during the 1st pass. I'll disable the output selection for first pass mode
Doom9
7th March 2005, 21:12
here is version 0.168
new: detailed progress indiciator during muxing
new: audio delay is automatically filled in based on the filename
new: pyramid order for b-frames in x264
improved: tested abort scenarios in the mp4 muxing process. they should all work now
improved: MP4 output is disallowed when Snow is selected
improved: filetype selection is disallowed in 2/3 pass first pass mode
Please not that mp4 muxing will seemingly get stuck at 100%. MP4creator first seems bulk write audio and video, then will go over the file again doing I don't know what. During that time (about 2 minutes for a 1 CD movie), it'll use 99% cpu and the GUI will stay at 100% but the progress window won't go away. Do NOT abort at that time.. it's normal behavior. Since mp4creator doesn't give any progress indication, I made up my own based on estimated filesizes.. and after the bulk write is done, that size target is reached and hence I show 100% completion (it could be 99% as well.. since we still don't have any empirical MP4 overhead data I made some assumptions: 10.4 bytes/frame for b-frames, and 4.3bytes/frame without b-frames). It is important that you get me all the overhead data for your full movie encodings.. with enough participation we can come up with a reliable overhead estimation and this'll help in the next version of MeGUI where I plan to have fully automated audio and video encoding with bitrate calculation.
v0.168 downloaded 64 times prior to removal
scorpdt
8th March 2005, 06:09
With 41 download .... and no one is reporting that the zip file contains 0.167 MeGUI or it is just me.
Doom9 appreciate if you could check your end.
Thanks,
Scorpio
Axed
8th March 2005, 07:44
scorpt - I believe you are right, just did a comparison and the 167 and 168 are exactly the same.
Doom9
8th March 2005, 08:51
crap. I thought I had compiled a release build before packaging.. but as it turns out I was mistaken. Sorry for that.. I'll upload the new version as soon as I get home.
thed33p
8th March 2005, 10:11
Firstly, thank you very much for this invaluable tool! It brings AVC/AAC MP4 creation to the realm of the clueless n00bs (the REAL n00bs - not the ones with 5630 posts ;) )
Originally posted by Doom9
It is important that you get me all the overhead data for your full movie encodings..
I made a full movie encode (117795 frames) but i didn't save the logfiles. How can I extract the info you'd like?
edit - typos
Doom9
8th March 2005, 15:40
I made a full movie encode (117795 frames) but i didn't save the logfiles. How can I extract the info you'd like?That depends on if you kept the sources. If you still have your .264 or .m4v file and know the size of the audio .aac or .mp4 you can still recover it.. if not, there's nothing you can do. In a future version I'll write all the interesting stats directly to a textfile so unless you voluntarily delete it, they are being kept.
BTW, the real 0.168 is now up.
North2Polaris
8th March 2005, 16:01
Originally posted by Doom9
BTW, the real 0.168 is now up.
Did you remember to attach the attachment?:)
Doom9
8th March 2005, 16:04
Did you remember to attach the attachment?Yes, it was there. But even my attachments have to be validated by someone first.
North2Polaris
8th March 2005, 16:19
Originally posted by Doom9
Yes, it was there. But even my attachments have to be validated by someone first.
Sorry for the impatience.:D
scorpdt
8th March 2005, 16:37
Thanks Doom9. My utmost appreciation.
Just completed a 30 sec clip with Pyramid, Adaptive, Weighted Prediction on ... and play out well with the patch libvacodec.
Doing a 7 mins video clip now ....
Cheers!
Scorpio
Bluedan
8th March 2005, 17:23
Patched libavcodec?
You mean for dealing with pyramid order b-frames when decoding in DS?
Where is it?
ffdshow hasn't been updated since 3-3-2005...
scorpdt
8th March 2005, 17:43
Yup .... it was posted by CD in this thread
http://forum.doom9.org/showthread.php?s=&threadid=80910&perpage=20&pagenumber=31
Cheers!
Scorpio
JoeBG
8th March 2005, 19:07
Originally posted by Doom9
.. with enough participation we can come up with a reliable overhead estimation and this'll help in the next version of MeGUI where I plan to have fully automated audio and video encoding with bitrate calculation.
Iīm only using Me GUI for my encodes but sorry, I canīt help with this. Iīm doing my own overhead calculation ( in Exel :) ) and I`m alway using raw output with MeGUI and then muxing with mp4muxer. From experiences, overhead is a constant depending to bitrate / second (for mathematics english is not my language). My caculation-tool looks like this:
www.joeb.movie2digital.de/mp4calculator.gif
Taurus
8th March 2005, 19:47
http://img30.exs.cx/img30/8686/error4lk.png
On my WinXP Machine I get the error message posted above.
Yes, most uptodate versions of everything. Tested the last three versions in the row, last MeGui 1.68.
Yes, Job folder not present.
On two Win98 Machines everything runs fine.:mad: :confused:
Cheers
Taurus
Edit: Sorry, just forgot that Net must be installed to make MeGui work properly.
If one of the mods wants to delete this post, feel comfortable.
Otherwise leave it as a warning sign :D ;)
Doom9
8th March 2005, 20:13
@Taurus: Hmm.. can you make sure you run MeGUI with a clean slate (no subdirectories whatsoever)? It's kinda hard to make sense of that error. I'm not sure, perhaps having the .NET SDK gives you a better error message that actually makes some kind of sense (I normally get a stacktrace when a .NET app crashes, but I only have crashes on development boxes where I obviously need to have the SDK).
I`m alway using raw output with MeGUI and then muxing with mp4muxer.Why not encode your audio with MeGUI and get a nice MP4 where you just have to add the subs? That would make things easier, would it not?
overhead is a constant depending to bitrate / secondUh, that doesn't make much sense.. overhead should be dependant on B-frames (used or not), the muxer used, but not much else. Bitrate most certainly should have no effect (in fact, the codec comparison confirms that.. same overhead for all 3 sources, using the two MP4 using codecs)
Sharktooth
8th March 2005, 20:14
Originally posted by scorpdt
Yup .... it was posted by CD in this thread
http://forum.doom9.org/showthread.php?s=&threadid=80910&perpage=20&pagenumber=31
Cheers!
Scorpio
It's in the x264 daily builds thread too. I've mirrored it on a faster server.
JoeBG
8th March 2005, 20:28
@ doom9
Donīt forget, that mp4muxer best use is, to mux something in an existing mp4 container (for me it is always an empty container with chapters). The existing mp4 is not a must for mp4muxer.
Overheads:
Youīr right. :) But I never missed the target size. And sure, it is not that easy: You have to calculate:
- if aac is in mp4 or not: if it is in mp4 you have to add something for the missing container
- You have to multiply the constant to bitrate /second. But first you have to do a calculation for b-frames and so on.
But: Itīs easier as you might think about it :)
Doom9
8th March 2005, 20:35
well, why don't you share your experience values?
Doom9
8th March 2005, 21:05
@Taurus: come to think of it, you mentioned the last 3 versions crash for you. 3 versions ago mean 0.1661. Can you confirm or deny that 0.166 worked for you? Because that's the first release after a major internal rebuild and it has completely incompatible profiles from previous versions (previous versions only had video profiles, then just called profiles). And I know that old profiles can make the program crash upon startup.
The structure of the jobs also has changed in every version since and I'm afraid it's going to change yet again in the next release, as I need more info in a job for completely automated audio/video encoding with bitrate calculation.
Taurus
8th March 2005, 22:33
Originally posted by Doom9
@Taurus: come to think of it, you mentioned the last 3 versions crash for you. 3 versions ago mean 0.1661
I don't want to confuse you, the mistake was clearly on my side.
When I monitored the crashes, I could clearly see the call for mscoree.dll, a .Net file.
I thought Net was installed on the XP machine, because on my older win98 machines I did that a long time ago.
Everything works now, after NET install on WinXp machine.
One more hog to feed :D
I mixed up my experiences from the win98 machines with the XP machine.
Cheers
Taurus
thed33p
8th March 2005, 23:28
@ Doom9
.264 file - 412,323,780 bytes
.mp4 AAC file - 61,560,212 bytes
muxed mp4 (no subtitles) - 475,756,689 bytes
do you need bitrat & settings as well?
LigH
9th March 2005, 00:05
Are there still "vanilla" builds available?
At celtic-druid's mirror (http://www.aziendeassociate.it/cd.asp?dir=/mplayer), I can only spot optimized builds; are some of them probably working on an old AMD Duron (MMX and ISSE only)? I'll try P3 and TBird, but wonder if there are other sources for Win32 builds (I hope I didn't miss them accidently in growing and growing threads here).
__
Just tried the P3 build (mplayer2005.03.05.P3.7z) - without success, but it doesn't seem to be related to the CPU features:
Command line:H:\Programme\MPlayer\mencoder "N:\Movies\Trailer\Mortal_Kombat_2\trMK2_25_dg.avs"
-ovc x264 -passlogfile "N:\Movies\Trailer\Mortal_Kombat_2\mencoder-2pass.log"
-x264encopts pass=2:bitrate=1000:frameref=5:bframes=3:b_adapt:subq=5:weight_b:4x4mv:qp_step=2
-o "N:\Movies\Trailer\Mortal_Kombat_2\trMK2_x264.mp4" -of rawvideo
Console output:MEncoder dev-CVS-050305-07:23-3.4.2 (C) 2000-2005 MPlayer Team
CPU: Advanced Micro Devices Duron Spitfire (Family: 6, Stepping: 1)
Detected cache-line size is 64 bytes
3DNow supported but disabled
3DNowExt supported but disabled
CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 0 SSE2: 0
Compiled for x86 CPU with extensions: MMX MMX2 SSE
84 audio & 192 video codecs
File not found: 'frameno.avi'
Failed to open frameno.avi
success: format: 0 data: 0x0 - 0xdd
AVS file format detected.
Why does it expect a "frameno.avi"?
__
Now with TBird compile:MEncoder dev-CVS-050305-07:11-3.4.2 (C) 2000-2005 MPlayer Team
CPU: Advanced Micro Devices Duron Spitfire (Family: 6, Stepping: 1)
Detected cache-line size is 64 bytes
CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 0 SSE2: 0
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx
84 audio & 192 video codecs
File not found: 'frameno.avi'
Failed to open frameno.avi
success: format: 0 data: 0x0 - 0xdd
AVS file format detected.
VIDEO: [YV12] 512x288 12bpp 25.000 fps 0.0 kbps ( 0.0 kbyte/s)
[V] filefmt:38 fourcc:0x32315659 size:512x288 fps:25.00 ftime:=0.0400
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 - 512 x 288 (preferred csp: Planar YV12)
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is undefined - no prescaling applied.
SwScaler: using unscaled Planar YV12 -> Planar YV12 special converter
x264 [info]: no need for a SAR
x264 [error]: Error: 2pass curve failed to converge
x264 [error]: target: 1000.00 kbit/s, got: 14.65 kbit/s, avg QP: 26.0709
x264 [error]: internal error
x264_encoder_open failed.
Selected video codec: [rawyv12] vfm:raw (RAW YV12)
==========================================================================
Writing AVI header...
Well - looks better, maybe the reason for the first stop indeed was CPU related.
And about the second one: It seems that copying the command line out of MeGUI and into a batch file, is not useful. I restarted MeGUI and added an automated 2-pass job to the Queue.
Now it is currently working - we'll see what happens when it's finished...
__
(Forgot mp4creator...)
:D Yes! Don't know exactly why, but it plays fine in MPC 6.4.8.3! :thanks:
Doom9
9th March 2005, 08:32
@thed33p: bitrate doesn't matter, but number of b-frames, whether they are adaptive or not and of course the number of frames would be useful to put your numbers in a context.
@ligh: nobody seems to know about that mysterious AVI file but that error always ocurrs and is nothing to be worried about. Your outdated computer worries me a lot more ;)
BTW: you do not have to specify a path for the stats file.. mencoder automatically places it into the source directory (or perhaps in the destination one? since those two always match for me I can't say for sure), and are you sure you're using the latest MeGUI? For MP4 output, the output filename in your case should be .264, MP4 should not be allowed anymore.
LigH
9th March 2005, 09:06
I'm working on it, and the more I try, the more I get used to it (although MeGUI is still a bit rough to use). Especially the Queue management: Going forth and back between the Input and the Video tab. Then a very important question: Is 3-pass useful, or even necessary?
Furthermore: A little trouble with the newest Nero AAC encoder (it produces full-featured MP4 files with additional scene data, which mp4creator cannot import, so as some kind of work-around, I let it create an AAC file instead). And finally: The final mux step locks and never finishes.
But those details might be discussed in another thread, I'd suggest.
(Of course, it creates raw .264 files before muxing. And I know now, that one command line isn't all, there is at least one comamnd line per job step.)
__
Which one is the latest - 0.168?
Doom9
9th March 2005, 09:14
Going forth and back between the Input and the Video tab. Hmm... you have to go back once, do you not? Configure input, configure video, go back to the input tab press Queue and be done with it. Or even better, configure I/O, select a video and audio profile and press Queue.. all from one tab. The idea for the profiles is that you do not have to visit all those other tabs - but only when you want to create a new profile (btw there I plan to make some improvements too as currently if you create a new profile, the one you had previously selected will also have the settings for your new profile.. a sideeffect from updating profiles when you switch between profiles)
The Queue button will be moved to the video tabs in the next version. However, I'll have automated encoding facilities in the input tab in the future (I'm not quite sure it's a good idea to waste the better part of a whole tabpage for something that hardly uses any space).
Is 3-pass useful, or even necessary? Not really. Hence no automated 3 pass. I'm not really sure any MeGUI user uses 3 pass, I've never heard a peep about it.
And finally: The final mux step locks and never finishes.Does it? Did you read the readme and warning parts about the 0.168 version? Considering that mp4creator just sits there eating CPU cycles and seemingly doing nothing (it obviously does something but you get nothing to gauge the progress) for at least 2 minutes on my 3.5 GHz box with an oviously better I/O throughput than your box, it could take some more minutes on your box but that's entirely mp4creator's fault.. it's normal that once you feel it should be done it takes another period of eternity before it really finishes. I know it's taxing on your nerves and makes you thinkg something is wrong, but I have absolutely no means of giving you any progress indication once video and audio have been copied together. Perhaps someone could ask the mpeg4ip guys to add some kind of progress indicator to the commandline.. that way I could tell you something in the progress window, like for the first pass in BeSweet encoding where I can at least show you how much of the audio has already been analyzed.
BTW, if mp4creator finishes after muxing everything together (the process no longer being listed in the task manager), and MeGUI doesn't close the status window, then you need to be concerned, but as long as the mp4creator process is still running, everything is fine. I was wondering what I was doing wrong for a long time before I finally ran mp4creator in a dosbox and realized that it did just the same as when launched from MeGUI.
And as far as I know, I'm using the latest Nero, yet I have no problems with the MP4 files I get.
dinolib2
9th March 2005, 10:08
Doom9, (I'm still dinolib but my old userid can't post and read anymore :( )
when I try to delete an "Automated 2 pass" with MP4 file type (codec isn't important) job - and choose "yes" - I get this run time error: "Specified argument was out of range of valid values. Parameter name: '-1' is not valid value for 'displayIndex'". MeGUI168
Sudgestion: why don't you enable multiple selection to delete jobs (or alternatively a button "clear jobs")?
MeGUI is going to become my preferred tool for encoding ;)
Do you think you'll release sources sometimes? (I'm playing with VS-2005B1... :) )
thanks, Dino
LigH
9th March 2005, 10:17
Originally posted by Doom9
Hmm... you have to go back once, do you not?
For "Automated 2-pass" - yes, once.
For manual 3-pass: 3 times.
About profiles: Currently, the list is empty; I really shall make some! ;)
Originally posted by Doom9
Did you read the readme and warning parts about the 0.168 version? ... but that's entirely mp4creator's fault.. it's normal that once you feel it should be done it takes another period of eternity before it really finishes.
:o Missed that one; good to know. But from my batch file (please release that attachment), it works well, and instantly.
Originally posted by Doom9
And as far as I know, I'm using the latest Nero, yet I have no problems with the MP4 files I get.
mp4info tells me about those files:
Track Type Info
1 audio MPEG-4 AAC LC, 80.138 secs, 53 kbps, 48000 Hz
2 od Object Descriptors
3 scene BIFS
Metadata Tool: Nero AAC Codec 2.9.9.999
And mp4creator 1.2.8 tells me:
N:\Movies\Trailer\Mortal_Kombat_2>h:mp4creator.exe -c trMK2.mp4 trMK2!.mp4
H:\Programme\MPlayer\mp4creator.exe: unknown file type
Last thing: Somehow I miss a way to configure the placements of the required tools, they shall not be required to be placed in the same directory (what a heap of mess...). Please, make them selectable one day.
__
P.S.: Confirm the bug from dinolib2 (saw it too): He probably tried to remove a stuck muxing job?
__
P.P.S.: This batch file was made for Windows 2000. On Windows XP, it is possible that you have to run the tools with "START /WAIT". I heard rumours, that the default behaviour changed from synchronous to asynchronous runs (XP doesn't wait anymore until a program finishes - but probably only if a GUI application was startet, CLI apps may behave as usual; I don't own XP, I can't test).
Doom9
9th March 2005, 10:49
Sudgestion: why don't you enable multiple selection to delete jobs (or alternatively a button "clear jobs")?Hmm.. I guess the clear button would be an idea. ListViews are really limited, they don't allow multiple selections per default and doing so is quite annoying (already the whole up/down thing required custom code... you'd think by now they'd have realized that we expect the same functionality for a listview than is already available in Windows explorer.. but no.. you're stuck with a basic W32 API wrapper).
Specified argument was out of range of valid values. Parameter name: '-1' is not valid value for 'displayIndex'". MeGUI168Hmm.. sound like you didn't properly select a job before pressing delete (you get the -1 for selectedIndex when nothing has been selected). I'll see if I'm not already catching that. Is it a chained job or a single one (if it's chained you'll be asked if you want to delete just that job, or all chained jobs or abort)?
Do you think you'll release sources sometimes? (I'm playing with VS-2005B1... )You, it's a GPL tool. I'd like to get automated encoding in and go over the comments once more before the next source release. BTW I cannot guarantee that everything will work in .NET2 since I've never tried it ;)
N:\Movies\Trailer\Mortal_Kombat_2>h:mp4creator.exe -c trMK2.mp4 trMK2!.mp4Is not valid.. your input has to be .aac, .m4v, .264 or one of the other supported types. In fact, audio muxing works as follows:
if (input.extension == aac)
mp4creator -c audio.aac videooutput.mp4
else if (input.extension == aac)
rename audio.mp4 videooutput.mp4
mp4creator -c video.264 -rate fps videooutput.mp4
So, I'll mux raw video into an existing MP4 file.. a new one is only created if there's no audio.
I noted that you're using different mp4creator commandlines.. I don't use -h, -interleave and -optimize. And if I use the same commandline in a dos prompt than I use in MeGUI, the waiting time is exactly the same. So it's kinda unfair to compare apples with pears ;)
LigH
9th March 2005, 11:06
Okay - *.mp4 audio already has the MP4 container, so it doesn't need to get one. Stupid me - have to think about it again...
And about "apples & pears": Well, from my experience, at the prompt and in a batch file, mp4creator doesn't get stuck while multiplexing. I wonder if it is related to the GUI grabbing the console output, because nothing else shall be different, IMHO. But how to debug that... :rolleyes: "Good luck", at least. :cool:
dinolib2
9th March 2005, 11:23
Chained jobs. I choose "yes" (I think the problem is with the muxing job, since it is still there before the error popup windows appear).
--
I've compiled latest relased sources and it seems to work fine on .NET 2 (just info).
About list-views, I don't know. With C++Builder I've used custom free component: very-very easy and flexible too. Does exists something like borland components in VS.NET? Or may be is because limited express edition...
Doom9
9th March 2005, 11:28
Well, from my experience, at the prompt and in a batch file, mp4creator doesn't get stuck while multiplexing.Your batch file is not equal to my mp4creator lines.. hence apples and pears. Try runnin g my mp4creator commandlines and you shall see the same behavior as in the GUI. I wouldn't have released the new muxer if I hadn't made sure of that. And please note that it's mp4creator using up all CPU cycles, and that stdout/stderr reading is blocking, meaning it doesn't do anything unless mp4creator actually writes data.. the only activity in the GUI while mp4creator is eating your CPU cycles is the 1 second refresh for the GUI. It's not the first time I'm launching CLI tools and I have only experienced 2 types of behavior:
1) app doesn't care if you don't read its output. For instance: mp4creator, besweet (well, besweet starts caring if you also read its stderr.. not reading it but having it piped can make besweet block.. but blocking means 0% cpu usage, which we do not see at all with mp4creator.. in fact we see just the opposite which means mp4creator is running unopposed.. if you see it sitting there without doing anything (no CPU usage.. then I'll start looking at the code again.. but as long as it's working, my code is just fine)
2) app blocks until you read its output, or release the pipes to its output. mencoder is like that and all the apps I'm running at work are like that.
And, mp4creator doesn't get stuck.. it adds the video track to the audio, then it goes over the file again.. what exactly it does I do not know, but I can assure you it is working because at the end of the operation, the process exits properly, and the mp4 file file is updated just before the process exits. And I've been debugging that for quite a while because I thought it was my fault.
But be my guest, take a nero mp4 and a raw AVC stream and use my commandline to see for yourself... And remember, apples = my commandline, pears = additional parameters like -interleave, -h and -optimize.
Doom9
9th March 2005, 11:30
@dinolib2: can you zip up your entire jobs directory and mail it to my feedback address? and tell me which job you tried to delete.
LigH
9th March 2005, 11:47
Those additional command line parameters were used in a different, independent call.
If I would try to optimize or hint a video track which is just about to be muxed, then Win2K tells me after a while, the space for the swap file is not big enough...
It seems logical to me, that only streams can be hinted which are already present in the file, and only MP4 files can be optimized which are not being changed meanwhile.
...
I'll have to run another job to get your command line again. But if I remember well, it shall not be much more than
mp4creator -c *.264 -rate 25 *.mp4
And these are the only parameters for muxing the video stream into the final movie. The hint and optimization job in my batch file does not start before the multiplexing was finished.
See you in ~ 20 minutes...
LigH
9th March 2005, 12:50
Sorry, took a bit longer:
Originally posted by Doom9
Your outdated computer worries me a lot more ;)
Yeah - it already got some critters, like "KMODE_EXCEPTION_NOT_HANDLED" or "PAGE FAULT IN NON-PAGED AREA". Some capacitors look suspicious...
Anyway: The only difference between our command lines I can spot is, that you use "-rate 25" even for muxing AAC into MP4. But for muxing the 264 raw file, it's exactly the same.
This time, an "Automatic 2-pass" job just went through, without waiting so long. Wonder why, trying again...
__
One more thing: (uh, I'm in a good mood today, I'm afraid...)
Muxing audio into MP4 completed. Muxing video now.
an exception ocurred when trying to read from stderr: StandardError wurde nicht umgeleitet.
MakeIsmaCompliant:can't make ISMA compliant when file contains an avc1 track
I know, it's just a "warning" about ISMA - but other people will be concerned about it. I wonder if there are command line parameters to even disable its try.
Doom9
9th March 2005, 13:04
I did some mp4creator testing. My results are here: http://forum.doom9.org/showthread.php?s=&postid=622231#post622231
As you can see, mp4creator always blocks for a long time so that definitely is standard behavior and not influenced by MeGUI. I'm also happy to see that the interleave and optimize parameter do not have any influence on the filesize. Don't worry about the exception.. I once disabled stderr redirection in an attempt to find out if it had anything to do with the long mp4creator delays.. turns out it didn't so I I renabled the reading thread but apparently forgot to redirect stderr.
I also get the isma thing (see link above). And.. you always get that as well, MeGUI or not ;)
It looks like all your mp4 problems are mp4creator issues after all :)
About list-views, I don't know. With C++Builder I've used custom free component: very-very easy and flexible too. Does exists something like borland components in VS.NET? I don't know if there's one.. for now I've tried to stick with standard components. I created my own listview at work (allows searching by typing), but that's about the only custom element I've ever used. I'm sure there's a listview that does more, but usually what you find online is either paying (and thus incompatible with the license of MeGUI) or does other things that I don't need.. and usually the IDE integration is missing.
dinolib2
9th March 2005, 17:29
OK Doom9, I find the little cut&paste bug for delete job error :)
In deleteJobButton_Click method, when you start to delete next jobs, you assign (for 3rd and next job) job.next to prev object. So you try to delete a job already deleted!
if (next.Next != null)
prev = (Job)jobs[next.Next];
^^^^
next
bye Dino
MaeWanto
9th March 2005, 19:06
I'm trying to use MeGUI v0.168 in order to encode an MP4 file with audio and video tracks muxed together, but I've some problems. Could someone please tell me what I'm doing wrong ?
Here is the process I'm using :
- Select the input AviSynth Script ( test.avs ) in Input tab.
- Select the Video Output file ( test_video ).
- Select the Codec ( XviD ).
- Select the File Type ( MP4 ).
- Choose video encoding parameters in Video tab.
- Select Audio Input ( test.mpa ) in Input tab.
- Select Audio Output ( test_audio ).
- Choose audio encoding parameters in Audio tab.
- Press Queue button in Audio tab.
- Press Queue button in Input tab. At the step, I've got a warning message :
"GUI options to not match commandline.
Are you sure you want to use your own commandline?
No error checking will be performed on custom commandlines."
I select "Yes" to continue ...
- When I press the Start button in Queue tab, the 2 first jobs ( AAC and XviD encoding ) indicate "done" very quickly, but don't produce any resulting file ( FPS indicates -1 for XviD encoding ... ).
Which process should I use to produce an audio/video MP4 file from an avs script and its corresponding audio file ?
Thanks for your help.
Doom9
9th March 2005, 20:53
@MaeWanto: add the audio job first, then the video job. I'm pretty sure the commandline warning you get stems from having the audio commandline in the commandline field .. so in fact you add a video job with an audio commandline and that can't work. You need to have a mencoder commandline in the commandline field when you press the Queue button in the main tab.
And here's a quicker way: use video and audio profiles. Select audio input/output, audio profile, go to audio tab, press queue. Select video input and output, select video profile (you need to create the appropriate 2 pass automated XviD profile first), press queue in the input tab. Then go to the queue tab and press start. And if you want video and audio muxed together, you need to use the same output name for video and audio (extensions left aside.. your video file will be named "videosomething.m4v", so your audio output has to be named "videosomething.mp4".
stax76
9th March 2005, 23:02
Hmm.. I guess the clear button would be an idea. ListViews are really limited, they don't allow multiple selections per default and doing so is quite annoying (already the whole up/down thing required custom code... you'd think by now they'd have realized that we expect the same functionality for a listview than is already available in Windows explorer.. but no.. you're stuck with a basic W32 API wrapper).
I got multiselect code, it can be ported to ListBox or other list controls without change and works with list controls that hold value types though that don't make sense since list control items usually have strings and value types shouldn't have strings or any other ref types. Dunno why it's not in the framework...
public class ListViewHelp {
// use to enable/disable up button
public static bool CanMoveUp(ListView lv) {
return lv.SelectedItems.Count > 0 && lv.SelectedIndices[0] > 0;
}
// dito
public static bool CanMoveDown(ListView lv) {
return lv.SelectedItems.Count > 0 && lv.SelectedIndices[lv.SelectedIndices.Count - 1] < lv.Items.Count - 1;
}
public static void MoveSelectionUp(ListView lv) {
if (CanMoveUp(lv)) {
int indexAbove = lv.SelectedIndices[0] - 1;
if (indexAbove == -1) { return; }
ListViewItem itemAbove = lv.Items[indexAbove];
lv.Items.RemoveAt(indexAbove);
int indexLastItem = lv.SelectedIndices[lv.SelectedIndices.Count - 1];
lv.Items.Insert(indexLastItem + 1, itemAbove);
}
}
public static void MoveSelectionDown(ListView lv) {
if (CanMoveDown(lv)) {
int indexBelow = lv.SelectedIndices[lv.SelectedIndices.Count - 1] + 1;
if (indexBelow == lv.Items.Count) { return; }
ListViewItem itemBelow = lv.Items[indexBelow];
lv.Items.RemoveAt(indexBelow);
int indexAbove = lv.SelectedIndices[0] - 1;
lv.Items.Insert(indexAbove + 1, itemBelow);
}
}
public static void RemoveSelection(ListView lv) {
if (lv.SelectedItems.Count > 0) {
int[] indices = new int[lv.SelectedIndices.Count];
lv.SelectedIndices.CopyTo(indices, 0);
for (int i = indices.Length - 1; i >= 0; i--)
lv.Items.RemoveAt(indices[i]);
}
}
}
how can I ask mencoder to run in low priority?
Niv
Doom9
9th March 2005, 23:24
Here is version 0.169:
new: fully automated audio and video encoding including bitrate calculations
new: you can delete all jobs at once
new: audio commandline has its own textbox in the audio tab. This also enables custom audio commandlines (keep in mind that each commandline must start with besweet, as each video commandline must start with mencoder).
changed: video only jobs are now started in the appropriate video tab
bugfix: selection of chained jobs
Keep in mind that in manual mode you can still get an MP4 with audio and video.. just make sure audio is configured and that if you are encoding audio, your audio output filename matches the video output filename minus extension. And if you just define an .aac/.mp4 audio input, that'll be muxed as well.
It's important that you keep those mp4 overhead values for now (don't close MeGUI without saving the overhead part of the log) as I don't write stats to an external file yet. Hopefully, with your help I can improve the overhead estimation and thus bitrate calculation to become highly accurate. The numbers I'm using now are based on Nero's commandline AVC encoder and muxer.
v0.169 downloaded 62 times before removal
Doom9
9th March 2005, 23:26
how can I ask mencoder to run in low priority?You can't.. I only offer idle and normal mode. What's wrong with idle? Imho it's the only useful mode anyway.. if you're not using the PC, the priority doesn't really matter anyway, and if you're using it, idle is the only one that really makes sense.
Doom9
9th March 2005, 23:40
btw, I'm wondering.. does anybody feel like messing with the internals a bit? The job generation could be made much nicer without having to change too many methods (and we'd no longer have the audio job added after the video jobs in fully automatic mode). Any takers?
The Link
10th March 2005, 02:02
Could it be that audio encoding in megui0.169 is broken? It doesn't start at all (also isn't added to the job queue) but an error message appears. When manually pasting the proposed commandline to the command prompt it works without any problem.
Doom9
10th March 2005, 09:14
but an error message appears.And what might that error message be? ;)
I haven't tested manual audio encoding, but I know it works at least in fully automatic mode as I've done 2 trial runs (one with a full movie, one with a trailer) on it.
thed33p
10th March 2005, 10:17
[QUOTE]Originally posted by Doom9
[B]@thed33p: bitrate doesn't matter, but number of b-frames, whether they are adaptive or not and of course the number of frames would be useful to put your numbers in a context.
Sorry this took so long...
#b frames - 5
adaptive - yes
#frames - 117795
thed33p
10th March 2005, 10:26
Here's the info of another encode:
MP4 muxing info:
Size of raw input file: 412276947 bytes
Size of final MP4 file: 677290582 bytes
Size of video in MP4 file: 413689174 bytes
Total overhead: 1412227 bytes
Overhead per frame: 11.9888535167027 bytes
source information
codec: AVC
number of b-frames: 3
Doom9
10th March 2005, 10:45
@dinolib2:does the new version fix the problem? I didn't have time to test.
@thed33p: thanks for the info
MaeWanto
10th March 2005, 11:04
Is hip.dll required in MeGUI directory ? I had to add it in order to encode audio, but it is not listed in the readme file ...
@Doom9: Thanks a lot for your help regarding audio/video MP4 files, it works great :-)
The Link
10th March 2005, 11:34
Originally posted by Doom9
And what might that error message be? ;)
I haven't tested manual audio encoding, but I know it works at least in fully automatic mode as I've done 2 trial runs (one with a full movie, one with a trailer) on it.
This error message (http://beingalink.de/temp/error.png)
Doom9
10th March 2005, 11:47
Is hip.dll required in MeGUI directory ? No, it works just fine without it on my PC.
Could it be that audio encoding in megui0.169 is broken?Interestingly it indeed is, and should be even in automated encoding (weird enough it worked for me.. perhaps that change was last minute before my tests). It's a real easy fix, change one false to true and all will be okay again. Though it's in an area that I plan to rewrite anyways. The flexibility of defining your own jobs is really making my life hard when addition automatation :/
dinolib2
10th March 2005, 11:48
@doom9: Yes it works fine! Thanks
--
changing size in "Automatic Encoding" if I left the field blank a run time error appears... little fix ;)
Doom9
10th March 2005, 12:12
changing size in "Automatic Encoding" if I left the field blank a run time error appears... little fiOf course, if you have no desires, what's the program to assume? I'll take 1 CD as default then.
Those are the kind of errors I think users should get for using a configuration that makes no sense ;)
dinolib2
10th March 2005, 12:21
you're right, but I assume to get an error exiting from the field, and not editing it (if I try to delete completely 1000 to type 2000 then I get an error)... what about N/D value in the meanwhile (but stil throw an error on exit)?
scorpdt
10th March 2005, 13:15
Doom9 .... below is the error message on my end.
Automatic Encoding i.e. Video/Audio (http://scorpio1.homeip.net:6970/images/Automatic.txt)
Manual Audio Encoding (http://scorpio1.homeip.net:6970/images/Audio.txt)
No job was created ... so cannot provide any.
BTW, in v0.168, I had problem encoding AC3 to 5.1 .... I believe after the gain check the status goes bonkers.
AC3 to Stereo is fine in v0.168
Thanks,
Scorpio
ajp
10th March 2005, 13:41
Originally posted by scorpdt
Doom9 .... below is the error message on my end.
Automatic Encoding i.e. Video/Audio (http://scorpio1.homeip.net:6970/images/Automatic.txt)
Manual Audio Encoding (http://scorpio1.homeip.net:6970/images/Audio.txt)
No job was created ... so cannot provide any.
BTW, in v0.168, I had problem encoding AC3 to 5.1 .... I believe after the gain check the status goes bonkers.
AC3 to Stereo is fine in v0.168
Thanks,
Scorpio
I get the same thing on the PC I'm currently on (P4/XP). Looks like it's when I use AC3 5.1 as a source, a ready made mp4 works fine I think. Haven't had time to investigate further...
Doom9
10th March 2005, 14:43
sorry guys.. all audio encoding is b0rked in 0.169. I'll release a fix tonight.
Doom9
10th March 2005, 23:14
Here is v0.170
new: you can delete multiple queued jobs at once
new: writes the mp4 stats to a textfile
changed: many internal changes and improvements
changed: having an empty target size field shows a warning and 700mb will be taken as default for the bitrate calculations.
bugfix: audio encoding is possible again
Give it a good test.. if no bugfix releases are necessary I'll prepare another source release.
LigH
11th March 2005, 00:00
About your BeSweet command line:
Stereo mode "-s normal" doesn't exist. You probably mean "-s stereo" instead. Furthermore, I wonder if "-d 2/0" for 2.0 and "-d 3/2" for 5.1 decoding could be useful.
Good that the command line is editable - because I prefer "boost( ... )" over "-c normal".
__
Running a manual 2.0-AC3 to HE-AAC audio + 3-pass AVC video + MP4 mux job with a 2000 frames trailer...
The Link
11th March 2005, 00:37
Audio encoding seems to work now but the resulting file is broken (no error message in megui). No player (tried dshow and fb2k) can play the file. Source was a 2ch ac3 file and I set stereo output in megui (I think the other audio settings are not relevant). After muxing video and audio with megui the mp4 was also broken (i think because of the audio file).
Converting the ac3 file with fb2k also using nero aac encoder the resulting file seems to be just fine.
Regards,
The Link
edit: When i feed the externally (fb2k) encoded audio file to megui everything works fine, i.e. muxing the encoded video file with the externally encoded audio file results in a video file which plays back flawlessly.
thed33p
11th March 2005, 00:39
@Doom9
The link in the opening line of your readme leads to Sharktooth's site which only has mplayer... What am I missing :confused:
Also, is there any chance of including the encoding of credits at a diffferent bitrate?
celtic_druid
11th March 2005, 00:50
mencoder comes with mplayer.
By the way,
x264 revision 161:
AVI & Avisynth input (win32 only).
patch by bobo from Ateme.
LigH
11th March 2005, 01:15
I know why a separate audio conversion doesn't work. I tried a manual 3-pass job, as mentioned above:
(1) Set up audio conversion (Input=*.ac3, Output=*.mp4), added to queue
(2) Set up 1st pass video (Input=*.avs, Logfile=*.log), added to queue
(3) Set up 2nd pass video (Input=*.avs, Logfile=*.log, Output=*.264, mode=RAW), added to queue
(4) Set up 3rd pass video (Input=*.avs, Logfile=*.log, Output=*.264, mode=MP4), added to queue
job1: *.ac3 => *.mp4 (with AAC inside) with BeSweet - works fine.
job2: *.avs => NUL: (1st pass) - works fine.
job3: *.avs => *.264 (2nd pass) - works fine, but wouldn't require raw output yet.
job4-1: *.avs => *.264 (3rd pass) - works fine.
job4-2: *.264 => *.mp4 (mux) - here comes the problem:
When I set up the 3rd pass (4), the audio input is still set to *.ac3; MeGUI detects that the output name does not match, and renames the *.ac3 file to *.mp4. Then it tries to multiplex the *.264 video into an AC-3 file with the extension *.mp4!
Obviously, job4 doesn't know that I already transcoded the audio in job1. But it doesn't care if the expected audio output file already exists: Instead of blindly transcoding the audio again (because the extension of the "Audio input" doesn't match), which would be acceptable at least, it renames the audio input file although the extension is different - and so the audio source file is lost! I have to demultiplex the AC3 file out of the DVD again.
I attached the MeGUI log to this answer.
thed33p
11th March 2005, 01:15
DOH! Thanx C_D
Doom9
11th March 2005, 01:26
Audio encoding seems to work now but the resulting file is brokenthings work here.. getting some weird splitter messages but that is unrelated to my program.. I get the same when creating mp4 output in BeLight/BeSweet GUI. I also tested raw AAC output from Nero and then mux it into mp4, and that seems to work just fine. I guess it's one of the additional tracks Nero adds to the MP4.
You probably mean "-s stereo" instead. Yup. Strange that it still works though..
I wonder if "-d 2/0" for 2.0 and "-d 3/2" for 5.1 decoding could be useful.No idea.. that's really a matter of discussion for the audio forum imho.. I just stuck to what's being used in BeSweetGUI and BeLight.. audio really isn't my thing.
Also, is there any chance of including the encoding of credits at a diffferent bitrate?slim to none I'd say. Most people can't select the start position unless they see the video, and then it gets a whole different ballgame (displaying video isn't as trivial as spitting out a commandline). And obviously, it would only work for MP4 output.. you can append raw with copy/b if I'm not mistaken.. but there ain't no such thing for AVI (for AVI we have GKnot after all).
Obviously, job4 doesn't know that I already transcoded the audio in job1. But it doesn't care if the expected audio output file already exists: Instead of blindly transcoding the audio again (because the extension of the "Audio input" doesn't match), which would be acceptable at least, it renames the audio input file although the extension is different - and so the audio source file is lost! I have to demultiplex the AC3 file out of the DVD again.I think I did mention that if you want your audio muxed, make sure you specify the .aac/.mp4 as audio source before starting video jobs.. The main reason it even looks at the audio is so that I could run a few muxing tests. I guess I'll remove the input file check so that audio will only be muxed if the .mp4 filename matches the desired video output name.
And 3pass is kinda useless
thed33p
11th March 2005, 01:34
Changing settings under the Audio tab only changes Projected Video Bitrate when Audio is CBR
Neither does changing selection of 5.1 vs stereo...
LigH
11th March 2005, 01:35
Originally posted by Doom9
I think I did mention that if you want your audio muxed, make sure you specify the .aac/.mp4 as audio source before starting video jobs.
So the audio job has to be finished, and the queue shall be cleared, before video jobs are added and can use the prepared audio file. Audio and video conversion in one queue is currently not possible. Well, then... I'll rather prepare the audio with BeSweet for more flexibility there. Adding a whole GUI for BeSweet into MeGUI is not your business, definitely! ;)
I did 3-pass just to check how much the stats differ between 2nd and 3rd pass; really not much, it appears to me that the 2nd-pass is already doing very well.
"-s stereo" is the default setting for 2.0 input; what else shall it do?
__
P.S.:
Originally posted by Doom9
I guess I'll remove the input file check so that audio will only be muxed if the .mp4 filename matches the desired video output name.
Well - could that be useful?
switch(audio_input_extension)
{
case ".mp4":
{
if(movie_filename != audio_input_filename) copy_audio_input_to_movie(); /* copy, not move */
mux_video_to_movie();
break;
}
case ".aac":
{
mux_aac_to_movie();
mux_video_to_movie();
break;
}
default:
{
if(file_exists(audio_output_filename)) switch(audio_output_extension)
{
case ".mp4":
{
if(movie_filename != audio_output_filename) copy_audio_output_to_movie(); /* copy, not move */
mux_video_to_movie();
break;
}
}
/* else insert_audio_job(); ?? */
}
}
IgorC
11th March 2005, 02:11
is last version of mplayer http://www.aziendeassociate.it/./cd//mplayer/mplayer2005.03.05.P4.7z trying x264 rev161?
celtic_druid
11th March 2005, 02:12
Could use something like: cat main.avi credits.avi | mencoder -noidx -ovc copy -oac copy -o movie.avi -
celtic_druid
11th March 2005, 02:17
r161 was added two hours ago, so no. Also r161 doesn't even effect the lib so it doesn't effect mencoder.
Sharktooth
11th March 2005, 02:25
Originally posted by IgorC
is last version of mplayer http://www.aziendeassociate.it/./cd//mplayer/mplayer2005.03.05.P4.7z trying x264 rev161?
No latest version is http://www.aziendeassociate.it/cd//mplayer/mplayer2005.03.05-2.P4.7z (pentium4 compile)
North2Polaris
11th March 2005, 04:27
@Doom9,
Opening and converting a WAV file does not appear to be one of the audio options. Or am I missing something?
For those who work with video captures or DV, this would be a useful.
Thanks.
North
LigH
11th March 2005, 08:22
@ North2Polaris:
Currently it's safer to prepare AAC audio (e.g. with BeSweetGUI or BeLight for BeSweet), and select the prepared MP4 file with AAC audio inside as audio input.
__
@ all:
Before I get lost in wondering about the mp4creator options, I'd better read all the documentation I can get about it. The best point to start might be everwicked's MPEG4IP guide so far:
HTML (online) (http://www.everwicked.com/content/MPEG4IP_Guide/)
PDF (offline) (http://mpeg4ip.sourceforge.net/documentation/MPEG4IP_Guide.pdf)
Especially, I do not only want to know, which command line options exist at all, but also what they mean, how they work, when and why I shall use or omit one...
If someone knows more comprehensive yet understandable docs (means: not necessarily the MPEG-4 specs...), don't hesitate to tell me.
Doom9
11th March 2005, 09:08
Changing settings under the Audio tab only changes Projected Video Bitrate when Audio is CBRCorrect.. since the VBR presets allow for such a large range of possible bitrates I rather have no prediction than a prediction that makes people think they'll get a 50kbit/s higher or lower bitrate in the end.
Neither does changing selection of 5.1 vs stereo...Why should it? I mean, it's the bitrate that matters, not the number of channels.. you always specify the total bitrate, not bitrate per channel.
@North2Polaris: It isn't at the moment, but if it's anything like the already supported mp2 or mp3 input commandline wise, it wouldn't be hard to be added.
So the audio job has to be finished, and the queue shall be cleared, before video jobs are added and can use the prepared audio file. Audio and video conversion in one queue is currently not possible. You are grossly mistaken here. You are just misusing one of the hidden muxing features in MeGUI. There are two of those:
1) by mp4creator design: if the desired mp4 output file already exists, mp4creator adds a track to it. That makes it possible to have an .mp4 audio with the same name as the desired .mp4 video output in the same directory, and video will be added to audio.
2) It is also possible to use a differently named audio .mp4 or even .aac file. If you add a video job, MeGUI checks the audio input line and assumes it's the audio input for later muxing. So, if you do not want to use that feature, make sure the audio input line is empty when adding any video job. And if you want to use it, only .aac and .mp4 files are supported.. anything else and you get your audio muxed into an mp4 (don't know if it really works) and thus you lose it. So bottom line: when creating a video job, make sure you only have something in the audio input line when you want to have it muxed into the final .mp4. Otherwise, leave it empty.
Looking at audio input and output when adding video doesn't really make sense, because if the audio output does not exist yet, and since jobs are supposed to be completely independent by design, the muxer could then theoretically look at a non existing file by the time it is supposed to start, and would then crash. Since it's not really proper design to look at the audio when working with just video, I'll remove those two lines so that you'll be left with hidden feature 1 and I'll change the audio move to a copy so the source file will always be preserved unless it has the same name as the desired .mp4 video output.
Also, is there any chance of including the encoding of credits at a diffferent bitrate?I've been thinking about that and came to the conclusion that it's already possible. Add your audio job, then delete the audio input line, add your credits video job (I presume fixed quant) and make sure output type is set to raw, then add your movie-without-credits job with output type set to mp4. Then start the jobs in the queue, and double click on the mux job to get it to postponed state.
Once all encoding is done, go to a command prompt, type "copy /b credits.264 movie.264 final-movie.264", then "rename final-movie.264 movie.264". Then go back to MeGUI, doubleclick on the mux job again to set it back to waiting state, and press start.
Could use something like: cat main.avi credits.avi | mencoder -noidx -ovc copy -oac copy -o movie.avi -there are two cats in my house, but none on a Windows PC ;)
LigH
11th March 2005, 10:29
Originally posted by Doom9
when creating a video job, make sure you only have something in the audio input line when you want to have it muxed into the final .mp4. Otherwise, leave it empty.
My (little, but at least existent) problem here is: Causality.
Before the audio job isn't finished, I cannot select the audio output file (using the "Open file" dialog) as input for the muxing job; I would have to type its expected filename (or copy&paste from audio output to audio input) if I wanted to run the audio, video, and mux job in the same queue. ;)
Therefore I recommended two distinct jobs - for those who are too young to remember how a command line interpreter works. :rolleyes: :D -- Sorry for that lame joke, please don't get mad about it.
__
About mp4creator docs -- from the man pages in the mpeg4ip tools sources (and some tests) I found out the following facts:
Hinting tracks is {useful to necessary} if you want to stream the final MP4 file via HTTP. It is probably not too important for local playback.
Video and audio tracks can be hinted.
According to the man, it shall be possible to hint a track while adding it; then one can omit the track number. According to my tests, this does not work for AVC tracks (currently?), these must be hinted separately after muxing them has finished.
Audio tracks may have "interleaved RTP payload format" (only valid for AAC audio tracks). I could not yet find out what it means in detail, and if (and when) it is useful.
Optimizing the file is useful for both HTTP streaming and local playback.
mp4creator man page
...
When adding tracks, mp4creator does not attempt to optimize the file layout for streaming and playback. This can be done once all the desired tracks have been added with the "-optimize" option.
...
-O, -optimize
Optimize the layout of the mp4 file to interleave the data in time, hence reducing disk seeks during streaming or playback. This also arranges the mp4 file so that the media control information is at the beginning of the file. This allows HTTP streaming of the mp4 file.
Therefore, I would strongly recommend a final optimization job.
Doom9
11th March 2005, 10:54
Before the audio job isn't finished, I cannot select the audio output file (using the "Open file" dialog) as input for the muxing job; I would have to type its expected filename (or copy&paste from audio output to audio input) if I wanted to run the audio, video, and mux job in the same queue. That's correct. But it can be useful if you know how to use it, can it not? Either way it'll be gone soon with your only audio muxing options being fully automated encoding and naming the audio output the same as the final mp4. But keep in mind that flexibility means more ways to screw up.. you cannot have the full power of configuring every job down to the last detail and then still expect full automatation.. that's where the auto mode comes in.
And manually configuring muxing jobs from the GUI doesn't make much sense as since you already pointed out, you don't have the input files until after audio and video encoding. So the ability to mux audio in a video job is really a bonus for advanced users, not a standard feature, since audio and video jobs have nothing to do with each other unless created in the auto mode. The only way a video or mux job know about preceding audio jobs is in auto mode, and I can only imagine the mess that would create if you could chain jobs manually (well, you can.. just edit the xml files).
I couldn't care less about streaming so I'd jump out the window before hinting any of my MP4 files (it incurrs additional overhead which is not something you want when streaming.. plus, for streaming, the ideal bitrate distribution is none, meaning a flat bitrate, and thinking about that already gives me a headache). Likewise, RTP means streaming, so interleaving is out as well. And as far as the optimize goes, it can be done while muxing (in fact, what optimize does is the usual processing, then at the end a completely new mp4 is being written).. question is if it is really worth the additional muxing time (where once again you'd have no progress indicator.. it'll always be at 100%). Of course you don't notice that in your 2000 frame tests, but it's an additional 30 seconds on my setup, or 33% longer for the entire muxing step.
LigH
11th March 2005, 11:06
Originally posted by Doom9
But keep in mind that flexibility means more ways to screw up
Word!
Originally posted by Doom9
I'd jump out the window before hinting any of my MP4 files
Don't! What is the phone number of "Domian"?! :D -- Better don't care about hinting.
Originally posted by Doom9
And as far as the optimize goes, it can be done while muxing
I noticed that, too. Probably the man page is a bit outdated here...
Originally posted by Doom9
question is if it is really worth the additional muxing time
Don't you prefer smooth playback, especially from optical drives? Would you enjoy the head jump forth and back in your CD-ROM drive? And finally: The file got a little bit smaller, too!
Doom9
11th March 2005, 11:23
And finally: The file got a little bit smaller, too!In my tests it didn't: http://forum.doom9.org/showthread.php?s=&threadid=91126
North2Polaris
11th March 2005, 13:34
Originally posted by LigH
@ North2Polaris:
Currently it's safer to prepare AAC audio (e.g. with BeSweetGUI or BeLight for BeSweet), and select the prepared MP4 file with AAC audio inside as audio input.
@LigH,
Although not freeware, I have been using the full version of Apple QuickTime to create an audio mp4 file.
Still, as long as there is a "to do" list, it would be nice to do this in one step, not two.
North
Doom9
11th March 2005, 13:41
Still, as long as there is a "to do" list, it would be nice to do this in one step, not two.What do you mean one step instead of two?
The Link
11th March 2005, 15:14
Originally posted by Doom9
What do you mean one step instead of two?
I think he means that if the audio encoding process of megui doesn't produce an usable mp4 audio file, one has to use an external audio compression frontend (so one additional step). :)
Doom9
11th March 2005, 15:33
I think he means that if the audio encoding process of megui doesn't produce an usable mp4 audio fileThat is BS. As I explained above, you get that when you misconfigure the application by enabling a hidden audio muxing feature with incompatible input. if you rename an .ac3 to .mp4 and then mux video into it, you'll get the very same thing.
The Link
11th March 2005, 15:43
Well...perhaps I'm just plain stupid but when I just use megui to encode the ac3 file I mentioned above into an aac mp4 file (no video, no audio+video muxing) I get an invalid mp4 file. If this a case of misconfiguring you described, I'm sorry and I will shut up now. I just thought that it is a bug.
Foobar200 pops up this error message: ERROR (foo_input_std) : MP4: unable to find correct sound track in the MP4 file.
Converting the same ac3 file with foobar200 as frontend for the nero encoder and using the same settings for the nero encoder as in megui produces a valid file.
Perhaps I'm just confused and don't understand what you are saying.
Regards,
The Link
Doom9
11th March 2005, 16:17
Well...perhaps I'm just plain stupid but when I just use megui to encode the ac3 file I mentioned above into an aac mp4 file (no video, no audio+video muxing) I get an invalid mp4 file. If this a case of misconfiguring you described, I'm sorry and I will shut up now. I just thought that it is a bug.As I said it works for me so the bug angle is kinda insulting. And since both the MeGUI log as well as the textfield in the audio tab show you the besweet commandline, you can verify for your own what happens if you launch besweet like that. And if the commandline isn't broken.. then it's your setup. Just to make sure I encoded my first 2.0 track this morning at 1am just to be on the safe side when I tell you it's not my fault, but having done that and verified that the track is playable I'm confident to say that my audio encoding works. The only flaw is the incorrect downmix parameter as ligh pointed out, but that does not seem to have an influence on the outcome (but it'll obviously be fixed anyway).
check the contents of the mp4 files using mp4info (or someting like that) from the mpeg4ip package and compare what tracks you get..
The Link
11th March 2005, 16:39
I won't report on this issue again because it must be a problem on my side if it works on your computer. Mkvmerge can read the resulting mp4 file and says that it contains MPEG-1 layer 3. I don't know how this happens because as I already said with foobar2000 everything works as it should. Probably I have a problem with besweet. I simply won't use the internal audio encoding and feed megui with an externally encoded aac mp4 file. That's not a big deal.
Regards,
The Link
Doom9
11th March 2005, 20:45
here is v0.1701
new: pcm(wav) input support
new: officialized hidden "audio muxing for video jobs with mp4 output" feature. If MeGUI detects that you have a valid audio configuration, you'll be asked if you want to mux that audio file into the final MP4
changed: stripped down besweet commandline for non AC3 input
changed: updated readme to mention that hip.dll is neede for mp2/mp3/mpa audio input
changed: if the audio .mp4 file doesn't have the proper name for video muxing, a copy will be made having the proper name, rather than renaming. This will increase muxing time for a few seconds - but no matter how you screw up the settings you'll always keep your audio input
fixed: stereo downmix mode in BeSweet
fixed: xvid assumes 24byte/frame overhead for the avi container. Took care of that in the bitrate calculation
v0.1701 downloaded 12 times prior to removal
North2Polaris
11th March 2005, 21:06
Originally posted by Doom9
What do you mean one step instead of two?
@doom9 and The Link,
Sorry I was not able to respond sooner (that's the problem with posting before going off to work). I suspect that the process that I am following is the fault.
I have been testing megui with AviSynth scripts that use video captured in an AVI file (most recent version of huffy and audio in PCM).
Right now, I open the script in vdubmod and save the wav file. I normalize it and then convert that file to an audio mp4 file using QuickTime. I could use Besweet, but since I have QuickTime it is simpler.
I then load the AviSynth script in megui and the audio MP4 file into the audio input.
Given the format that I am working with, have I made this more complicated than it needs to be?
It seemed reasonable to be able to open the normalized WAV file in the audio input of megui and have it converted using Besweet and the other dlls that I copied into the megui folder.
Thanks.
North
Doom9
11th March 2005, 21:13
@North2Polaris: With the new release, you can open your wav file in MeGUI, and configure audio encoding in it, so there's no need for a 2nd program anymore. I don't have any wav files around to test, but if you copy all the DLLs, things should work just fine.
Doom9
11th March 2005, 21:14
here is version 0.1702
changed: audio muxing no longer specifies the video framerate
changed: video muxing now uses the -optimize parameter, so you'll get an optimized mp4 in the end.
bugfix: crash during fully automated encoding fixed (introduced in 0.1701)
@LigH: hope you are happy with this release.. I changed the hidden audio muxing feature and the mp4creator commandlines especially for you...
North2Polaris
11th March 2005, 23:05
Originally posted by Doom9
@North2Polaris: With the new release, you can open your wav file in MeGUI, and configure audio encoding in it, so there's no need for a 2nd program anymore. I don't have any wav files around to test, but if you copy all the DLLs, things should work just fine.
@doom9,
Thanks. PCM WAV option works perfectly.
Based on the posts above, I realized that some of the folks who are testing MeGUI probably have not seen a PCM WAV file in a while.:)
North
The Link
11th March 2005, 23:11
@Doom9: Just wanted to tell you that I sorted out my besweet problems. It wasn't your software's fault, sorry for bugging you. Everything's fine now and megui is the best frontend I know to all these newer codecs I always wanted to try but felt uncomfortable with the usage. :)
Regards,
The Link
Doom9
12th March 2005, 14:42
Just wanted to tell you that I sorted out my besweet problems.If you could share what the cause and solution was, perhaps somebody else who might run into the same problem in the future could be helped ;)
Taurus
12th March 2005, 15:26
Originally posted by Doom9
If you could share what the cause and solution was, perhaps somebody else who might run into the same problem in the future could be helped ;)
That's what this forum is for, right?:D
Sergejack
12th March 2005, 15:42
Coudl someone please make the links to Latest gui + the Latest mencoder be in the first post ?
There are attachements everywhere; I want to try mencoder but I won't read everypost to know every attachements file's role on this huge thread XD
scorpdt
12th March 2005, 15:58
Doom9 .... Thanks for v0.170 .... works fine for me for most of what I wanted to do.
Appreciate if you could help me with this particular problem and this happens with this particular AC3 file (http://www.logisticshub.com/uploads/misc/AC3-Audio.rar) so far I have worked on.
Encoding the file using MeGUI with the following settings
AC3 to AAC (MP4) 5.1 Output, VBR, LC, High with Delay
does not produce the desired file. It stall at shown in the display below.
http://scorpio1.homeip.net:6970/images/AC3Problem.jpg
However should I copy the besweet command line and paste it on Dos Command prompt and run it ... it creates the aac (mp4 wrapped) audio file.
Below are relevant log files and job1.xml for your reference to the above problem reported.
MeGUI Job XML (http://scorpio1.homeip.net:6970/images/job1.xml)
MEGUI Besweet Log (http://scorpio1.homeip.net:6970/images/MeGUI_besweet.log)
Command Line BeSweet Log (http://scorpio1.homeip.net:6970/images/CommandLine_besweet.log)
FYI, encoding the said file to Stereo using MeGUI is working fine.
Thanks in advance.
Cheers!
Scorpio
Doom9
12th March 2005, 16:52
@scorpdt: I'll be out of the house in 5 minutes, but this sure does look like a problem in besweet.. if you look at the two besweet logs.. they contain negative timecodes.. and that screws up the progress indicator in the gui.. apparently makes it crash as my commandline reader cannot handle negative numbers (negative timecodes don't make any sense after all). Is your delay value accurate? it is huge.. I think it could cause the negative numbers in besweet.. could you try again without delay correction activated and see if megui works for you then?
@Sergejack: I'll do that when I get back tomorrow.
scorpdt
12th March 2005, 17:09
@Doom9 ... without the delay switch ... MeGUI complete the encoding without error.
To your question about the delay .... it is the proper value as extracted from DGIndex V1.2.1 ... muxing Video/Audio produce a proper sync movie.
Below are other logs file which MeGUI successfully process without error. If you notice the timecodes are also in negative range.
http://scorpio1.homeip.net:6970/images/SWDS_besweet.log
http://scorpio1.homeip.net:6970/images/VZDS_besweet.log
Thanks.
Scorpio
Edited: I retract the agreed statement earlier.
The Link
13th March 2005, 00:17
Originally posted by Doom9
If you could share what the cause and solution was, perhaps somebody else who might run into the same problem in the future could be helped ;)
I mixed newer dlls for besweet with an older version of besweet (stable version). Instead of an error message besweet just used the lame_enc.dll for encoding (so it seems to me at least). Using the latest beta of besweet solved my problems.
Regards,
The Link
Doom9
13th March 2005, 14:21
@scorpdt: thanks for making the AC3 available..
I've been experimenting with BeSweet and I believe it contains a bug in 6ch output mode when delay correction is used: http://forum.doom9.org/showthread.php?s=&threadid=91404
Doom9
13th March 2005, 15:42
here is v0.1704
changed: simplified customer commandline options in the encoder (checks are no longer made twice)
bugfix: delays will not yield an incorrect audio length anymore
workaround: due to besweet's way of handling delays with multiple negative values, I have to catch those values and turn them into something sensible: negative timecodes are now interpreted as 00:00:00:000. this means that the progress indicator will stay at 0% a bit longer
@scorpdt:I tested with your AC3 usin 2ch and 6ch ouput both using positive and negative delays. Let me know if you still run into problems.
Sergejack
13th March 2005, 16:04
Originally posted by Doom9
@Sergejack: I'll do that when I get back tomorrow.
So you did ^^
Thx :)
scorpdt
13th March 2005, 16:33
Thanks Doom9.
Tested and it works with the latest release v0.1704.
FYI, I need to place hip.dll in MeGUI folder along with other BeSweet stuff (that u mentioned in the readme) to encode mp3 to aac, otherwise it would failed. Stumbled upon this when I was testing out converting AVI(XviD with MP3) to MP4(X264 with ACC). So you may need to verify that and update your readme.txt, as MeGUI does provides MP3 audio selection for conversion.
Thanks once again.
Cheers!
Scorpio.
Doom9
13th March 2005, 16:47
FYI, I need to place hip.dll in MeGUI folder alongActually, I updated the readme to reflect upon that when I added PCM support ;)
scorpdt
13th March 2005, 17:19
Yeah .... should have read the latest readme. ;)
Cheers!
Scorpio
scorpdt
14th March 2005, 13:47
Doom9 ...
I am currently encoding a 3 hour movie using MeGUI in Automatic Mode to a 1CD size. Now it is in its final stage encoding (i.e. 2nd Pass) and thus far the .264 output file it creates exceed 1CD size (818MB to be exact) .... and my quick question is ...
Does MeGui recompute the Projected Video Bitrate based on the Target Size minus the encoded audio size for the 2nd Pass mencoder bitrate setting?
Cheers!
Scorpio
Doom9
14th March 2005, 14:52
Does MeGui recompute the Projected Video Bitrate based on the Target Size minus the encoded audio size for the 2nd Pass mencoder bitrate setting?
If your input is .aac or .mp4, the bitrate you get for mencoder is the bitrate you see in the GUI. In case you're encoding audio, the bitrate is recalculated after audio encoding using the following formula:
bitrate = (target size - audio size - (number of frames * overhead set in the gui)) / length_in_seconds (I left out the whole bits/bytes/kbit stuff in this formula but it's in the code obviously)
Once encoding is done and you close the app, the xml job file will tell you which bitrate was chosen, and which number of frames and fps value was extracted from the video source.. all the relevant parameters for the bitrate calculation. So, if for some reason the calculations are off, you can get me the job files and audio size and I can re-check the calculations (I have only tested it with trailers).
also, you can compare that value to the actual video bitrate (mencoder will tell you after encoding).
scorpdt
14th March 2005, 17:19
Thanks Doom9,
The encoding has completed and it creates a 1,179,739,567 bytes awesome playable x264 encoded with acc audio .... but it is off target by a large margin.
As requested, the job.xml and the log file (http://scorpio1.homeip.net:6970/images/VZ_Doom9.rar) for your perusal. And the audio filesize from the 1st queue is 207,674,292 bytes.
From the XML file it does recalculate the new bitrate value <BitrateQuantizer> but I think this value is not passed on to mencoder bitrate setting. Perhaps you may want to verify this.
Cheers!
Scorpio
thed33p
14th March 2005, 18:28
Originally posted by scorpdt
but it is off target by a large margin.
I did 2 full movie encodes with rev 0.1702 (aac encodes aswell - CBR 128) and also found that the resulting files were way oversize (827 and 927 MB respectively!)
I never mentioned it 'cause I was sure it was something I did wrong :D
I'll post the logs as soon as my kids will "allow" me to use pc again (reads: are sleeping :rolleyes: )
Are you still interested in overhead logs, Doom9?
Doom9
14th March 2005, 20:12
@thed33p: absolutely, I'm always interested in mp4 overhead values. Preferably send me the txt file after encoding a bunch of full movies.
@scorpdt: your 2nd pass mencoder commandline has a bitrate of 700.. for a 3h movie to one CD that's definitely not what it should be and considering 700 is the default bitrate.. it makes me wonder. Somehow the recalculated bitrate is not being propagated properly.
@update: I identified the bug. As you noted, the bitrate is propagated to the job file (I guess I should've checked first instead of setting a breakpoint in between first and second pass). The problem is the code that allows custom commandlines.. as the generated commandline from the settings differ fro the commandline value that you can see in your jobs, I'll use the commandline, which has a 700kbit/s bitrate instead of the calculated one. I'll have to change all code for automated twopass to enforce a commandline regeneration after setting the final video bitrate. And while I was at it, I identified a small bug in the overhead projections in x264 mode.
@update2: I'm currently testing the fix.
Doom9
14th March 2005, 20:58
here is v0.1705:
bugfix: the mp4 overhead with and without b-frames was inversed in x264 mode
bugfix: in auto mode, the bitrate, even though being properly recalculated, was not propagated to mencoder, thus resulting in the default bitrate being used for each codec
celtic_druid
15th March 2005, 11:07
Some new x264 options:
chroma_me 0,1 default 1
nochroma_me 1,0
chroma_qp_offset -12-->12 default 0
New mencoder builds featuring them should be up soon.
scorpdt
15th March 2005, 11:20
Thanks Doom9,
Will try them out .... and update if any.
Cheers!
Scorpio
akupenguin
15th March 2005, 11:49
Originally posted by celtic_druid
chroma_me 0,1 default 1
nochroma_me 1,0
That's a complicated way of saying the chroma_me is a boolean, and defaults to on.
Doom9
15th March 2005, 13:15
how does the chroma qp offset work?
And I was wondering.. what happens if rather than specifying a qp for the first pass you specify a bitrate instead? It's one like that for lavc and xvid.
dinolib2
15th March 2005, 13:54
Originally posted by Doom9
bugfix: in auto mode, the bitrate, even though being properly recalculated, was not propagated to mencoder, thus resulting in the default bitrate being used for each codec
Doom9, may be I don't understand very well, but it seems that in "auto mode" Video bitrate is not coherent to "Projected Video Bitrate". I've just started an encoding. Later I'll tell you size result. "projected video bitrate" is 559, job video bitrate is 632.
mencoder "C:\tmp\Clown at midnight_movie.avs" -ovc x264 -passlogfile "mencoder-2pass.log" -x264encopts pass=2:bitrate=632:frameref=5:bframes=2:b_adapt:b_pyramid:weight_b:4x4mv:rc_buffer_size=0 -o "C:\tmp\CaM_x264.264" -of rawvideo
MeGUI v0.1705
bye
Dino
Doom9
15th March 2005, 14:31
projected video bitrate is just that.. a projection. If you use VBR audio, the projection will be off for certain, because audio is not taken into account for the projection. But even in CBR mode, the size of the audio file will not necessarily match the size projection. Hence, the video bitrate is always recalculated after audio encoding has taken place. That is the same mechanism that programs like Gordian Knot use (in addition, GKnot takes the size and length of the credits file into account). You can recalculate the bitrate on your own even while video is encoding using the formula I gave a little earlier in this thread. And even in my tests with 3xxx frame trailers, the projected video bitrate didn't match the actual video bitrate in the end because the audio file ended up having a different size than the projection based on the bitrate.
It might also be that the projected video bitrate isn't always updated when you change something in the GUI.. but that's for you to tell me.. I think I catched pretty much everything but oversights do happen.
rc_buffer_size=0Scares me.. the rc_buffer_size should not even appear as far as I recall.. did you touch the values in the advanced tab? (this is completely unrelated to the bitrate).
dinolib2
15th March 2005, 16:58
strange, I've never touch advanced video.
Seems that when job is produced, the parameter is set to 0 and compare in command line...
(btw seems that while editing configuration "Buffer size" is updated automatically and equal to video bit rate, but nothing is added to command line, right?)
Doom9
15th March 2005, 20:44
version 0.1706:
new: support for chroma ME and chroma QP offset. Keep in mind that this requires a whole new mencoder build that uses at least x264 revision 171. If using an older version, you should stick to 0.1705 for the time being as in auto mode, you cannot override the commandline (unless you abort the first video pass, quit megui, edit the xml file, start megui and restart the video jobs) and thus you'll end up with a commandline mencoder won't accept.
changed: RC buffer size behavior: 0 is the new GUI default value and means no buffer size is specified (mencoder will take that as 1 second worth of video). there's no more need for a checkbox to fix the buffer size
bugfix: restored proper order of all tabs when activating/deactivating the advanced video options
The celtic-druid mirrors are not yet updated with the 3/15 build.. so unless you find an alternative download source, keep in mind that older builds won't work with this release due to the chromaME option.
Doom9
15th March 2005, 20:47
@dinolib2: so did you plug the actual values in my bitrate formula? does it match the bitrate calculated? did your encoding session yield the desired size?
Attached is the source code.
Bluedan
15th March 2005, 21:47
Originally posted by Doom9
version 0.1706:
new: support for chroma ME and chroma QP offset. Keep in mind that this requires a whole new mencoder build that uses at least x264 revision 171.
[...]
The celtic-druid mirrors are not yet updated with the 3/15 build.. so unless you find an alternative download source, keep in mind that older builds won't work with this release due to the chromaME option.
Mpf.
Sherpyas latest build dates to march 11th.
Virus' is far behind.
Did you get yours directly from C_D, or compiled yourself?
I don't know of any different sources that suffice the actual progress...
Well, I know: the usual guideline is __patience__ :sly:
Doom9
15th March 2005, 21:53
CD made new compiles today but they have not yet been propagated to the mirrors. I hope it'll be done soon.
thed33p
15th March 2005, 23:33
@Doom9
Here is a log for 3 full movies
Something strange - when I re-encoded the 1st movie with 0.1705, I changed the MP4 overhead value to match the value reported in the 1st log entry. This resulted in a MP4 of ~615MB. Should I have just left the overhead value alone?
I'm busy redoing the same movie again but with seperate credits as per your howto :) - I'll report back
dinolib2
16th March 2005, 04:35
Encoding test is undersized :(
I've take a look to latest sources. It seems that in method automatedEncodingButton_Click there's something wrong. At Ln5348 you test audio job and compute bitrate only if it's null. This means get you don't compute bitrate when you have audio. May be that if you don't updateVideoBitrate for the job, you get the wrong file size. I've tried to just comment the condition and it seems to work fine (loaded job and it has the correct bitrate). Although, I can't start another test, because I haven't the latest mencoder yet (and in this moment I haven't enough time to change sources to avoid the problem).
I hope this can help you.
bye
Dino
Doom9
16th March 2005, 09:13
At Ln5348 you test audio job and compute bitrate only if it's null.That's how it should be. Look at the StatusUpdate code in form1.cs in the GUI updates region.. if you get a "job done" update from an audio job and the next chained job is a videojob, that's where the bitrate is recalculated because only then do you know the actual audio size. If the audio job is null, that means you have defined an mp4/aac audio input (those don't require encoding), and the bitrate is calculated taking the actual audio size into account (I can't quite remember where that's done since I don't have the code before me).
Either way, please do me a favor and put your values into my bitrate line before you even start to think it's my fault.. if I don't appreciate something it's being blamed for errors that are not mine. I don't mind looking into things once you've done your homework.. there's quite a few bugs in this thread where that has been done and when I got home to look at the code I already know where to look and often what was wrong before even starting to debug. That's how error reporting should be.. get all the info necessary to reproduce the problem and before that, make 200% certain it's not a user error.
Also, something very important that you must consider before complaining about size: mencoder gives you the average bitrate for the 2nd pass.. compare that with your commandline.. if it doesn't match.. you got your source of the size mismatch right there.
Also, if your set overhead value doesn't match the calculated overhead after muxing.. that's another source for size mismatches. So, unless you find an error in my formula (or its implementation for those that look at the code), you have to look elsewhere.
Doom9
16th March 2005, 11:16
when I re-encoded the 1st movie with 0.1705, I changed the MP4 overhead value to match the value reported in the 1st log entry.Is that the 3rd movie in the log you posted? I see the number of frames match and the video size is almost the same, but the audio size differs by a huge amount (81MB in the 3rd movie versus 299 MB in the first movie.. )
dinolib2
16th March 2005, 14:29
@doom9
hi,
just few things:
- your bit rate formula is ok (you already know it ;) )
- I've made the second encoding with my dumb correction (please, excuse me for superficiallity) and it seems to be go :eek: . I asked for 500000KB:first run (original code) get me 430MB, the second one (dumb fix) is going to 500MB.
- I haven't so much time this week and I don't want to waste your time. So I'll go deeper with the problem. I'll make some test with smaller encode...
bye
thed33p
16th March 2005, 14:39
@Doom9
Yes it is the 3rd file in the log - The 1st one was iirc CBR LC-AAC 128 and the 3rd file VBR normal HE-AAC.
Would the audio size have a big impact on MP4 overhead?
Doom9
16th March 2005, 15:06
Would the audio size have a big impact on MP4 overhead?I don't think so but that's to be determined by looking at the stats. Seems you get a pretty consistent overhead with your settings.. I've seen similar values in my own tests using AVC and B-frames. The thing is, not using B-frames, and using another codec significantly changes those values :/ And I know nero AVC has 10.4 byte/frame with b-frames.
But, the size discrepancy between your first and 3rd run can be explained with the grossly different audio sizes (almost 300 MB for that movie length... was your audio 5.1 in the first case and stereo in the 2nd?)
I asked for 500000KB:first run (original code) get me 430MB, the second one (dumb fix) is going to 500MB.The thing is.. your changes don't have any effect because once we go from audio encoding to video encoding, the bitrate is being recalculated and your video encoding will start using the bitrate calculated in between audio and video encoding.. not the bitrate calculated on line 5348 and following. Since you know your way around with Visual Studio, set a breakpoint in line 8107, then start encoding (with audio encoding). This will break just before the video bitrate is being recalculated in between audio and video encoding. you can look at firstpass.Settings.BitrateQuantizer, secondpass.Settings.BitrateQuantizer (in case you're doing AVC, firstpass doesn't matter), then compare that with the bitrate that is calculated just thereafter. And better set a breakpoint at line 5348 as well.. that way you can compare the two calculations and you see what is different.
Keep in mind though, if you restart just video from your existing jobs, the recalculation won't take place.. there's quite a few catches if you abort and restart existing jobs.
Doom9
16th March 2005, 20:24
I asked for 500000KB:first run (original code) get me 430MB, the second one (dumb fix) is going to 500MB.BTW, just to make sure, you are aware that desired size = size of audio + size of video + mp4 overhead, are you not? And there is a possible scenario where the bitrate recalculation after audio encoding isn't done.. so perhaps you get your desired vide size when not taking audio into account.. and since you expect your desired size to be video only, without the recalculation after audio encoding you get what you thought you'd get. Your formulation sounds like the 2nd pass of video encoding isn't done yet and you're looking at the projected size (if you were in the mp4 muxing step, you'd have been able to make a definitive statement regarding the final size) of the 2nd pass, which means the projected size of video only.
dinolib2
16th March 2005, 20:59
I didn't know of video bitrate recalculation after audio job...:o
I've tried with a smaller clip and make some debug. It seems is all right (recalculation is done correctly) but I have to investigate.
In whitch cases you don't perform video bitrate recalculation?
My inputs: .avs loading d2v project, .ac3 audio file. I choose different name for video and audio output.
I've tried with both mp4 and avi output format. Video encoder is AVC (with B-frames -> 10.4 b/f overhead ), always.
After I choose audio and video settings, I come back to first tab Automatic Encoding, choose desidered size (I think it's final mp4 or avi file size) and press the "GO" button. I'm doing something wrong?
I'm sorry, but now I haven't MeGUI prog with me, may be I'm not very accurate :D
Doom9
16th March 2005, 21:10
uhh.. why am I getting the feeling you're not getting what auto mode is about? If you set AVI as output type you get something completely unusable.
You will get either 3 or 4 jobs from auto mode depending on input:
if (input.extension = .aac or input.extension = .mp4)
{
no audio encoding is done, so you get 3 jobs: video first pass, video second pass, muxing
}
else
{
if audio is properly configured, you get an audio encoding job and the abovementioned 3 jobs.. all 4 are linked to each other. Then encoding starts.. first audio is done, then its size is read, and from your desired size the final video bitrate is calculated and used for video encoding, then finally everything is muxed to an mp4 (since you're doing audio encoding the raw video is muxed into the audio .mp4, but first the audio is copied to the final filename).
}
In whitch cases you don't perform video bitrate recalculation?In the if case (means the audiojob is null), or if you do not let all the 4 jobs run after each other in the else case. If you do anything that will make jobX-2 (video firstpass) not start after jobX-1 (audio), then no bitrate recalculation will be done.
Now I leave you to your homework ;)
thed33p
16th March 2005, 23:30
Originally posted by Doom9
was your audio 5.1 in the first case and stereo in the 2nd?)
I don't think so but I REALLY can't remember. 1st case was done with an older build though - either 1702 or 1700 iirc
Regarding seperate credits - here's what I did:
1) Create 1705_movie.avs and 1705_movie_credits.avs each with the appropriate trim values
2) Add movie.ac3 as audio in, set 1705_movie_joined.mp4 as audio out with settings: Stereo, Stereo downmix, VBR - normal, HE, High Quality. Click queue
3) Delete audio input entry
4) Add 1705_movie_credits.avs as input (AVC, RAW) with settings: Automated 2pass, 4x4, 5ref, 5B, Pyramid, Adaptive, More iterations of QPel, Weighted Prediction. I also set the bitrate at 200. Click queue
5) Add 1705_movie.avs as input (AVC, MP4) with the same setting except for bitrate which I changed back to 700 (as that is default.) Click queue
6) Click Start then double click mux to postpone.
7) Wait roughly >17.5 HOURS< (P4, 2.8, HT, 800FSB, 1GB RAM)
8) From cmd prompt: Copy /b 1705_movie.264+1705_movie_credits.264 1705_movie_joined.264 (correct syntax for XP SP2 - dunno if this will be right for other versions of Windows)
9) Double click mux job to change back to "waiting". Click start
AAC MP4 - 79948 kb
1705_movie.264 - 501573 kb
1705_movie_credits.264 - 9027 kb
1705_movie_joined.MP4 - 592379 kb
Comments & Questions:
1) Based on your last post to dinolib2, I presume that there was no video bitrate recalculation because the "4 jobs didn't run after each other". Is there any (easy) way around this?
2) Even though Mux was set to postpone, "muxing" was still performed automatically as I also have a 1705_movie.MP4 sized at 503296 kb (no sound)
3) When doing the final manual mux, remaining time rolls over 0 and starts to display negative values
and as a side question
4) Are any of my settings inappropriate / over the top? I've read the various threads a kazillion times now but there's just too much new stuff to digest...
l8er
Doom9
17th March 2005, 08:37
any chhance of outputing to a batch file, so I may use the same rutine every time using windows scheduler for every week recording?What's wrong with taking the commandlines shown in the GUI and putting them in a batchfile?
If you think about auto mode, you have certain features like bitrate recalculation after audio encoding, and since the length of a TV series ep still can vary, in order to reach your target size you'll have to adapt the bitrate so batchfile idea doesn't work anymore (unless you add the appropriate logic to calculate bitrate and such.. and that's obviously no job for MeGUI).
1) Based on your last post to dinolib2, I presume that there was no video bitrate recalculation because the "4 jobs didn't run after each other". Is there any (easy) way around this?No. Since you are not in auto mode anyway, you cannot use any of the bitrate calculation facilities.
2) Even though Mux was set to postpone, "muxing" was still performed automatically as I also have a 1705_movie.MP4 sized at 503296 kb (no sound)I'm afraid so. I'm not 100% sure if it also applies to aborting a job, but postponing won't do you any good in this case because all the jobs are linked. I've decided to make automatic processing of the next job dependant on if the queue mode is active or not in the next version, so that limitation will be removed (but it gives you new means to mess things up by moving jobs up/down and having stuff muxed into the wrong mp4 file.. perhaps you know that mp4creator can not only create MP4 but also mux stuff into an existing mp4.. so if you are not careful you risk muxing video into the wrong file.. or like it happened to me a couple of times.. mux two audio channels based on the same source into the same mp4.. or put video in there twice).
3) When doing the final manual mux, remaining time rolls over 0 and starts to display negative valuesHmm.. have to recheck that.. I though those things have been fixed.
4) Are any of my settings inappropriateCredits are normally done in QP mode with a high quantizer, not two pass encoding. Unless you have bitrate reduction facilities in the codec like in XviD there's really no reason to go over them twice.
Doom9
17th March 2005, 19:33
I tried outputing the line to a batch file, but couldn't `cause of the pipe.I have removed avs2yuv a while ago so there are no more pipes in the commandlines.
Plus, I actually ran batchfiles in low priority when I still needed avs2yuv ;)
dinolib2
18th March 2005, 01:04
@Doom9
may be there's a problem with mux job (mp4creator command line) when you have spaces in directory name (may be file name too). I've got an error because of this (renamed folder, and all went well(.
For my homework: I'm beeng far from my pc :(
btw I've run another test (now with mp4 output) and it seemed to be fine. I've haven't seen the end, projected file size at 40% was good.
May be I've made confusion with avi output. I hope in week end I'll could try something.
EDIT: in the meanwhile, encoding ended. Final mp4 is ca.490MB. Requested size was 500MB. but... MeGUI is working fine!
Just few lines from the log:
mencoder commandline: mencoder "C:\tmp\Clown at midnight_movie.avs" -ovc x264 -passlogfile "mencoder-2pass.log" -x264encopts pass=2:bitrate=631:frameref=5:bframes=2:b_adapt:b_pyramid:weight_b:4x4mv -o "C:\tmp\CaM_x264.264" -of rawvideo
[...]
Flushing video frames
Writing AVI index...
Fixing AVI header...
Video stream: 631.041 kbit/s (78880 bps) size: 433622735 bytes 5497.240 secs 137431 frames
But CaM_x264.264 is 423.460! (about 10MB less than required!)
Do you think is an encoder problem?
dinolib2
18th March 2005, 03:26
@Doom9
OK. I've done different tries. MeGUI works really fine (but you already know)!:) I've run encoding asking for .avi output and as a stupid waiting for muxed output (infact in this case you don't update the video bitrate, right?). Mp4 encoding is a rock!
Still there's the undersize problem, but may be it's a mencoder problem (MEncoder dev-CVS-050315-21:39-3.4.2 (C) 2000-2005 MPlayer Team).
thank you very much!
ps: can you avoid field selection at startup or changing codec? it's only a visual refinement ;)
virus
18th March 2005, 04:03
Originally posted by dinolib2
Video stream: 631.041 kbit/s (78880 bps) size: 433622735 bytes 5497.240 secs 137431 frames
But CaM_x264.264 is 423.460! (about 10MB less than required!)
I doubt so. In fact, 433622735 bytes really are ~423460 kilobytes.
And after all, you requested 631 kbit/s in your commandline and got 631.041 kbit/s as output... so where is the undersize you're talking about?
springl
18th March 2005, 08:54
I believe the undersize is due to k=1000 instead of k=1024 in computation of video bitrate.
Infact 78880 bps => 631,04 kbit/s if k=1000 and 616,25 kbit/s if k=1024 ,so this difference of 14.79 kbit/s causes, in 5497.240 secs, an undersize of 10163,02 kbit
Greetings
Springl
Doom9
18th March 2005, 09:30
I believe the undersize is due to k=1000 instead of k=1024 in computation of video bitrate.A quick look at the sources confirms that :( The offending line is
int bitrate = (int)(videoTargetSize / nbOfSeconds) * 8 /1024;
It should divide by 1000 as we're entering the bit domain with the multiplication by 8.
Doom9
18th March 2005, 22:13
@niv: you've been PM'ing me about this and have answered you a bunch of times. Now please stop abusing this thread for your own purpose. You've been told where to find the answer.. if you are unwilling to do that, that's your loss (or strike if you keep on).
the answer why avs2yuv is not used anymore can also be found in this thread.
attached is 0.1707
bugfix: bitrate calculations assumed 1k = 1024, now it's 1k = 1000 so you should get your desired size (assuming the codec sticks to the bitrate set and you don't have a big overhead discrepancy).
naysayer
18th March 2005, 23:13
i just tried megui-0.1707.zip and found a little bug in your gui.
start megui, dont fill anything in, but pick xvid. go to the video tab, click xvids 'advanced settings' checkbox. a new 'log' tab appears in the tab control, giving 2 log tabs.
if you un-check 'advanced settings' and then re-check it, again another log tab appears in the tab control.
i checked and un-checked a bunch of times for fun, and ended up with about a dozen log tabs...
i'm using windows xp with dotnet 1.1.
Doom9
19th March 2005, 00:18
urgh, indeed. that should be an easy fix though.
ps: can you avoid field selection at startup or changing codec? it's only a visual refinementI'd very much like to. I know a way to fix things but it's a cheap workaround and I'd much rather find out why this happens.. it's been with us since the major internal redesign but I haven't figured out what causes it and neither has anybody else, even with the sources available.
dinolib2
19th March 2005, 12:19
I've done some tries about field selection.
It happends when adding tab to tab panel.
I thought 2 possibile solutions:
1) Add a method that loop text and list box collection in tab panel and deselect them
2) Avoid to Remove and Add tabs, use Show/Hide
Doom9, what do you think about it? Anyone knows what's the best practice?
Doom9
19th March 2005, 12:38
Doom9, what do you think about it?I must've completely missed the show/hide. I think it's the best solution since in case of add/remove, I have to remove, then re-add tabs because they are again needed, whereas with show/hide I can selectively hide/show just the tabs I need.. and after all in the very beginning they are all there, and as soon as the codec is set, a bunch of tabs are removed again.
I've only thought of the first solution you proposed, which I consider an ugly hack (but it would definitely work.. even though it also requires more work than number two). So I guess I'll look into show/hide now.
@edit: I've been testing and unfortunately, the hide/show doesn't work.. I can call hide all I want but the tabpages stay visible :(
A google search yielded the same info. the only known way to hide a tabpage is to remove it from the collection.
Doom9
19th March 2005, 13:37
I implemented the solution with unselecting the text.. but it's not ideal.. for starters, now nothing in the codec dropdown is ever selected, and likewise, when you change the video profile to one with another codec, the video profile is not selected either.
Doom9
19th March 2005, 13:39
Here is 0.1708 2nd edition
changed: dropdowns are no longer all marked when switching between codecs.
bugfix: proper removal and adding of the advanced xvid tab
dinolib2
19th March 2005, 14:01
in drop down list, where you can't edit, I suggest to convert in DropDownList (edit is not enabled and avoid field selection - now DropDownStyle is just default DropDown). I've tried it, now :D
Before I was wrong: field is selected when assigning SelectedIndex (loadXXXSettings methods). I think is normal behaviour for DropDown objects. May be you allready know it...
Doom9
19th March 2005, 14:29
in drop down list, where you can't edit, I suggest to convert in DropDownListThat has been done long ago.. the only real dropdowns are the video and audio profiles.. the rest are dropdownlists.. but that doesn't avoid text selection ;)
North2Polaris
19th March 2005, 14:43
Originally posted by Doom9
Here is 0.1708
@Doom9,
This version says it is 0.1707.
North
dinolib2
19th March 2005, 15:20
Originally posted by Doom9
the only real dropdowns are the video and audio profiles.. the rest are dropdownlists..
are you sure? I can edit EVERY DropDown text (exept for Size in auto encoding)... may be you lost changes? :confused:
Doom9
19th March 2005, 15:39
may be you lost changes?urhg.. you're right.. I was certain I had made the changes. Now that I redid them other things are affected :(
This version says it is 0.1707.urhg2. Stupid version number in the title.. its the last thing you want to edit every time.
Doom9
19th March 2005, 16:20
okay, I think I may finally have a solution to the selection issue. It's also basically a workaround because the one selectionchanged that messes things up (changing the codec) triggers a removal of the input tab, which in case makes sure that the codec is never selected, but if I don't remove the input tab, just the rest, that one is taken care off as well. I'll release this as a proper 0.7108
Patrick1970
19th March 2005, 19:14
First time post for me on doom9.
I am having a problem with Megui and encoding (doesn't matter if AVC or ASP). I haven't seen anyone else have this problem so it must be something peculiar to my machine but I have no idea what.
When I start up an encoding job - lets just say one pass CBR - the status window shows no progress and indeed at a small file (270 KB or there abouts) is created but just stalls there.
Now if I abort and close down MeGUI - and reopen it - go to the Queue tab (double click on the old job that that is still 'processing' to change it to 'waiting') and start again - this time it processes fine - both the status window shows this and a fully encoded file is output.
When I do a 2 pass - the first pass works fine as is. It stalls on the 2nd pass - but again if I do as the above paragraph I can get the 2nd pass to run.
Running XP SP2
Microsoft.Net 1.1 (I have tried uninstalling and reinstalling it doesn't fix the problem). Have also tried .Net 2.0 Beta - didn't help either.
Doom9
20th March 2005, 12:31
When I do a 2 passYou mean an automated 2 pass? Is it dependent on any settings or does it always happen regardless of your configuration? Could you make another try, then open the mencoder logfile and check how many frames have been encoded? Also, when a job gets stuck, can you check in the taskmanager if mencoder.exe is still running?
Furthermore, does the problem only ocurr if you queue and start (when pressing Queue you have the "and start" checked)? Can you add a job to the queue, then go to the queue tab and press start there? Does it work that way?
dinolib2
20th March 2005, 14:22
Doom9, size issue seems to be definetly fixed! :)
I've done the same test (500.000MB), now: 512.000KB requested, 512.690KB gotten. It's goooood! ;)
thanks again
Patrick1970
20th March 2005, 18:32
You mean an automated 2 pass? Is it dependent on any settings or does it always happen regardless of your configuration? Could you make another try, then open the mencoder logfile and check how many frames have been encoded? Also, when a job gets stuck, can you check in the taskmanager if mencoder.exe is still running?
Automated or manually 2pass it happens. But it never stalls on the first pass of a two pass encode - only on the second. I see nothing in the log tab on megui - however I did setup two different jobs (separately) just encoding to Mpeg4/Asp - in both cases it stalls out at frame 108. When the job gets stuck - mencoder is still running. Also if I feed the command to mencoder directly via shell commandline - there are no error messages and the encoding does not stall. It happens regardless of the settings used in the video tab.
It happens also if I use 'queue and start' or queue and then click on start under the queue tab.
I was using avisynth 2.5.6 went back to 2.5.5 and the problem still persists.
Doom9
20th March 2005, 18:56
Automated or manually 2pass it happens. But it never stalls on the first pass of a two pass encode - only on the second.Still not sure we mean the same: automated 2 pass = the setting in the dropdown in a video tab. And then there's auto mode (first tab, with the Go button)but that's something else entirely. And you can set up a 2 pass encoding as job jobs on your own (once selecting 2pass first pass from the dropdown, adding the job, changing the dropdown to 2pass second pass, and adding another job).
Now, GUI updates are sent every 50 frames, so there's no GUI update at that particular point, meaning whatever is happening happens while reading stdout or stderr. I rule out problems with the job since you can encode them in the 2nd try, I can also rule out problems in the way jobs are started because as you said, it happens regardless if you start right away or start the job later, plus the problem ocurrs after 2 status updates, so we know that is working as well. And all that's being done at frame 108 is read a line from stdout, increase a counter, and make a copy of the line..nothing which should trigger any problems.
You don't happen to know your way around Visual Studio, would you? I fear this is something that has to be debugged on your end as I cannot reproduce it.
@dinolib2: that's good to know.
Patrick1970
21st March 2005, 03:08
Hi Doom9
Yep it happens on 'auto mode' (Go button)
Automated 2pass (video tab)
and manual 2 pass (video tab)
And unfortuantely I don't know my way around Visual Studio. Anyway I can still get the 2nd pass to run so I will have to live with that until I can figure it out :)
Oh one more thing - stalling at 108 frames there would be two status updates (as you mentioned) - only thing is I don't actually see any updates at all in the status window - it remains blank. Don't know if that points to anything in particular being the problem.
Thanks for the nice GUI doom9 - the best tool so far for x264 encoding.
Doom9
21st March 2005, 08:36
Oh one more thing - stalling at 108 frames there would be two status updates (as you mentioned) - only thing is I don't actually see any updates at all in the status window - it remains blank. Don't know if that points to anything in particular being the problem.Well.. that's more enlightening but imho it should abort priot to 108 frames if something with the statusupdates goes wrong. But that still leaves a heck of a lot of things to go wrong that shouldn't.
It it source dependant by the way? or mencoder version dependant?
video
21st March 2005, 21:29
Hi Doom9 I've problem with encoding audio to HEAAC I've followed your instructions for putting suff together. I set up for 5.1 192kbs CBR HE/high quality.
resulting commandd line is:
besweet -core( -input "H:\ENOUGH_SPECIAL_EDITION\VIDEO_TS\VTS_03_1 - 0x80 - Audio - AC3 - 6ch - 48kHz - DRC - English - DELAY 0ms.AC3" -output "H:\ENOUGH_SPECIAL_EDITION\VIDEO_TS\audio.mp4" -logfile "besweet.log" ) -azid( -c normal ) -bsn( -6chnew -cbr 192 ) -ota( -d 0 -g max )
And the result is:
BeSweet v1.5b29 by DSPguru.
--------------------------
Using azid.dll v1.9 (b922) by Midas (midas@egon.gyaloglo.hu).
Using Shibatch.dll v0.24 by Naoki Shibata & DSPguru (shibatch.sourceforge.net).
Using bsn.dll v0.24 by DPeshev,Richard,E-Male,DSPguru (DSPguru.Doom9.org).
Logging start : 03/21/05 , 21:15:21.
besweet -core( -input H:\ENOUGH_SPECIAL_EDITION\VIDEO_TS\VTS_03_1 - 0x80 - Audio - AC3 - 6ch - 48kHz - DRC - English - DELAY 0ms.ac3 -output H:\ENOUGH_SPECIAL_EDITION\VIDEO_TS\audio.mp4 -logfile besweet.log ) -azid( -c normal ) -bsn( -6chnew -cbr 192 ) -ota( -d 0 -g max )
[00:00:00:000] +------- BeSweet -----
[00:00:00:000] | Input : H:\ENOUGH_SPECIAL_EDITION\VIDEO_TS\VTS_03_1 - 0x80 - Audio - AC3 - 6ch - 48kHz - DRC - English - DELAY 0ms.ac3
[00:00:00:000] | Output: H:\ENOUGH_SPECIAL_EDITION\VIDEO_TS\audio.mp4
[00:00:00:000] | Floating-Point Process: No
Error 84: error configuring bsn!
Quiting...
[00:00:00:000] Conversion Completed !
Logging ends : 03/21/05 , 21:15:21.
what did i wrong?
Doom9
21st March 2005, 22:22
And the result is:Good thinking posting that. Makes it quite clear what is wrong. bsn errors happen if bsn.dll is missing, or one of the Nero AAC encoder DLLs are missing. Can you check the readme file and make sure all the DLLs listed there have been copied to the MeGUI path?
video
21st March 2005, 23:46
Originally posted by Doom9
Good thinking posting that. Makes it quite clear what is wrong. bsn errors happen if bsn.dll is missing, or one of the Nero AAC encoder DLLs are missing. Can you check the readme file and make sure all the DLLs listed there have been copied to the MeGUI path?
Okay i failed copying the nero dlls at first now it's done. Next issue, sorry it seems i'm a dumb ass today. I've set up a complete job as follows:
1) an avisyinth script having a disrectshowsource("VTS_03_1.vob") statement and decodes by moonlight/elecard. Outputs to movie.avc. codec: avc, file type: mp4
2) audio the same as above
3. projected size 14 megabytes
first: i submitted audio task to the queue
second: i set up automated 2-pass with two b frames and submitted to the queue
third: i started encoding
resulted almost fine expect that avc video is not muxed into movie.mp4. :mad:
Doom9
22nd March 2005, 23:52
resulted almost fine expect that avc video is not muxed into movie.mp4.I'm afraid that report doesn't live up to the last one. You fail to give any indication what was done and what you ended up with, what happened with the mux job, log entries, etc..
video
23rd March 2005, 03:31
Originally posted by Doom9
I'm afraid that report doesn't live up to the last one. You fail to give any indication what was done and what you ended up with, what happened with the mux job, log entries, etc..
okay.
audio:
besweet -core( -input "H:\ENOUGH_SPECIAL_EDITION\VIDEO_TS\VTS_03_1 - 0x80 - Audio - AC3 - 6ch - 48kHz - DRC - English - DELAY 0ms.AC3" -output "H:\ENOUGH_SPECIAL_EDITION\VIDEO_TS\audio.mp4" -logfile "besweet.log" ) -azid( -c normal ) -bsn( -6chnew -cbr 192 ) -ota( -d 0 -g max )
video:
mencoder "H:\ENOUGH_SPECIAL_EDITION\VIDEO_TS\enough.avs" -ovc x264 -passlogfile "mencoder-2pass.log" -x264encopts pass=2:bitrate=700:deblockalpha=-2:deblockbeta=-2:subq=2:4x4mv -o "H:\ENOUGH_SPECIAL_EDITION\VIDEO_TS\enough.avc" -of rawvideo
enough.avs has:
DirectShowSource("VTS_03_1.vob")
complete job log:
----------------------------------------------------------------------------------------------------------
Log for job job1
besweet: besweet -core( -input "H:\ENOUGH_SPECIAL_EDITION\VIDEO_TS\VTS_03_1 - 0x80 - Audio - AC3 - 6ch - 48kHz - DRC - English - DELAY 0ms.AC3" -output "H:\ENOUGH_SPECIAL_EDITION\VIDEO_TS\audio.mp4" -logfile "besweet.log" ) -azid( -c normal ) -bsn( -6chnew -cbr 192 ) -ota( -d 0 -g max )
BeSweet v1.5b29 by DSPguru.
--------------------------
[00:00:00:000] Initializing...
[00:00:00:000] -- Initializing...
[00:01:46:368] |
SR: 48000, Table idx: 5 - start 13, stop 11
SR: 48000, Table idx: 5 - start 13, stop 11
SR: 48000, Table idx: 5 - start 13, stop 11
SR: 48000, Table idx: 5 - start 13, stop 11
SR: 48000, Table idx: 5 - start 13, stop 11
SR: 48000, Table idx: 5 - start 13, stop 11
[00:01:46:368] Finalizing...
[00:01:46:368] Conversion Completed !
Visit DSPguru's Homepage at :
http://DSPguru.doom9.net/
----------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------
Log for job job2-1
mencoder commandline: mencoder "H:\ENOUGH_SPECIAL_EDITION\VIDEO_TS\enough.avs" -ovc x264 -o NUL: -passlogfile "mencoder-2pass.log" -x264encopts pass=1:qp_constant=26:deblockalpha=-2:deblockbeta=-2:subq=1:4x4mv
MEncoder dev-CVS-050315-21:28-3.4.2 (C) 2000-2005 MPlayer Team
CPU: Advanced Micro Devices Athlon MP/XP Thoroughbred (Family: 6, Stepping: 1)
Detected cache-line size is 64 bytes
CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 0 SSE2: 0
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE
85 audio & 192 video codecs
File not found: 'frameno.avi'
Failed to open frameno.avi
success: format: 0 data: 0x0 - 0x20
AVS file format detected.
VIDEO: [YV12] 720x576 12bpp 25.000 fps 0.0 kbps ( 0.0 kbyte/s)
[V] filefmt:38 fourcc:0x32315659 size:720x576 fps:25.00 ftime:=0.0400
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 576 (preferred csp: Planar YV12)
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is undefined - no prescaling applied.
SwScaler: using unscaled Planar YV12 -> Planar YV12 special converter
Selected video codec: [rawyv12] vfm:raw (RAW YV12)
==========================================================================
x264 [info]: no need for a SAR
x264 [info]: using cpu capabilities MMX MMXEXT SSE 3DNow!
Writing AVI header...
ODML: vprp aspect is 16384:13107.
ODML: vprp aspect is 16384:13107.
Flushing video frames
Writing AVI index...
Fixing AVI header...
ODML: vprp aspect is 16384:13107.
Video stream: 781.984 kbit/s (97747 bps) size: 10380836 bytes 106.200 secs 2655 frames
----------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------
Log for job job2-2
mencoder commandline: mencoder "H:\ENOUGH_SPECIAL_EDITION\VIDEO_TS\enough.avs" -ovc x264 -passlogfile "mencoder-2pass.log" -x264encopts pass=2:bitrate=700:deblockalpha=-2:deblockbeta=-2:subq=2:4x4mv -o "H:\ENOUGH_SPECIAL_EDITION\VIDEO_TS\enough.avc" -of rawvideo
MEncoder dev-CVS-050315-21:28-3.4.2 (C) 2000-2005 MPlayer Team
CPU: Advanced Micro Devices Athlon MP/XP Thoroughbred (Family: 6, Stepping: 1)
Detected cache-line size is 64 bytes
CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 0 SSE2: 0
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE
85 audio & 192 video codecs
File not found: 'frameno.avi'
Failed to open frameno.avi
success: format: 0 data: 0x0 - 0x20
AVS file format detected.
VIDEO: [YV12] 720x576 12bpp 25.000 fps 0.0 kbps ( 0.0 kbyte/s)
[V] filefmt:38 fourcc:0x32315659 size:720x576 fps:25.00 ftime:=0.0400
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 576 (preferred csp: Planar YV12)
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is undefined - no prescaling applied.
SwScaler: using unscaled Planar YV12 -> Planar YV12 special converter
Selected video codec: [rawyv12] vfm:raw (RAW YV12)
==========================================================================
x264 [info]: no need for a SAR
x264 [info]: using cpu capabilities MMX MMXEXT SSE 3DNow!
Writing AVI header...
Flushing video frames
Writing AVI index...
Fixing AVI header...
Video stream: 699.647 kbit/s (87455 bps) size: 9287811 bytes 106.200 secs 2655 frames
----------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------
Log for job job2-3
Audio input defined: H:\ENOUGH_SPECIAL_EDITION\VIDEO_TS\audio.mp4 Checking audio type:
MP4 audio input does not match the desired MP4 output filename. Renaming audio MP4 file to H:\ENOUGH_SPECIAL_EDITION\VIDEO_TS\enough.mp4
MP4 audio size is 2570796 bytes
mp4creator commandline: mp4creator.exe -c H:\ENOUGH_SPECIAL_EDITION\VIDEO_TS\enough.avc -rate 25 -optimize H:\ENOUGH_SPECIAL_EDITION\VIDEO_TS\enough.mp4
Launching video muxing process
mp4creator.exe: unknown file type
MP4 muxing info:
Size of audio in MP4: 2570796 bytes
Size of raw video stream: 9287811 bytes
Size of final MP4 file: 2583276 bytes
Size of video in MP4 file: 12480 bytes
Total overhead: -9275331 bytes
Overhead per frame: -3494,84966088922 bytes
source information
codec: AVC
number of b-frames: 0number of source frames: 2654
----------------------------------------------------------------------------------------------------------
seems like mp4creator doesn't recognizes mencoder's avc (x264) output
i got finally:
Microsoft Windows XP [verziószám: 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\Program Files\MeGUI>mp4info H:\ENOUGH_SPECIAL_EDITION\VIDEO_TS\enough.mp4
mp4info version 1.2.8
H:\ENOUGH_SPECIAL_EDITION\VIDEO_TS\enough.mp4:
Track Type Info
1 audio MPEG-4 AAC LC, 106.442 secs, 191 kbps, 48000 Hz
2 od Object Descriptors
3 scene BIFS
Metadata Tool: Nero AAC Codec 3.0.0.5
C:\Program Files\MeGUI>
sorry for flooding the topic
ps: assuming that mp4creator is extension agnostic, i made a try as:
C:\Program Files\MeGUI>mp4creator -c H:\ENOUGH_SPECIAL_EDITION\VIDEO_TS\enough.m4v -rate 25 -optimize H:\ENOUGH_SPECIAL_EDITION\VIDEO_TS\enough.mp4
mp4creator: buffer overflow, invalid video stream?
and didn't got closer...
Doom9
23rd March 2005, 06:39
how did you manage to get your 2pass output named .avc? megui automatically renames the extension in function of the selected codec when you set output to raw or mp4.
video
23rd March 2005, 14:35
Originally posted by Doom9
how did you manage to get your 2pass output named .avc? megui automatically renames the extension in function of the selected codec when you set output to raw or mp4.
quite easily. i've entered enough.avc at the output file name dialog box. however it seems this is irrevelant. even if i rename enough.avc to enough.m4v or enough.mp4v, mp4creator fails muxing in.
Doom9
23rd March 2005, 18:40
quite easily. i've entered enough.avc at the output file name dialog box. however it seems this is irrevelant. even if i rename enough.avc to enough.m4v or enough.mp4v, mp4creator fails muxing in.Hehe.. try using the ... button.. that's what it's for. Then suddenly you'll notice something: your file extension will be .264 for AVC content and .m4v for ASP content. And that's for a reason: mp4creator will only accept AVC content with the extension .264. For ASP a few extensions are permissible (like .divx, .xvid, m4v), but it's still very much restricted.
So you kinda outsmarted yourself by manually assigning an extension ;)
dinolib2
23rd March 2005, 20:13
@doom9:
why don't you avoid edit directly in file name fields? First times I've used megui I've done the same error: change manually the name.
It's true, MeGUI advice with a popup, but users don't carry about it... :p
bye, Dino
Doom9
23rd March 2005, 20:30
why don't you avoid edit directly in file name fields?Because I like that feature. By the same token you could argue that I should save jobs in binary, but having them as xml not only greatly simplified development, it also makes job verification in case of problems possible without requiring a debugger.. and other people than I can help as well.
It's the eternal story of choice versus chance to mess up. But messing up also gives you a chance to improve, doesn't it? You'll only make that error once, and now you understand a limitation of mp4creator that you'd not have learned of otherwise.
dinolib2
23rd March 2005, 20:56
ok doom9, interesting point of view.
may be commercial and professional s/w focuses on usability, while personal and hobbie s/w point on understanding what's behind...
Changing manually file names doesn't affect mencoder command line generation. I have every time to change some other parameter to get new values. Can you fix it (or it is a feature)?
thanks, Dino
ps(OT): x264 devel is slowing down. is because syskin and akupenguin are gone to Nero, or is regular s/w life cycle?
video
23rd March 2005, 21:13
Originally posted by Doom9
Then suddenly you'll notice something: your file extension will be .264 for AVC content
So you kinda outsmarted yourself by manually assigning an extension ;)
http://forum.hwsw.hu/html/emoticons/icon_ohmygod.gif stupid me... anyway i feel mp4creator should have some type flag instead of extensions... as extensions are not so mutch trustable. however, but i've asked a help of mp4creator and '.264' wasn't listed...
Doom9
23rd March 2005, 21:18
may be commercial and professional s/w focuses on usability, while personal and hobbie s/w point on understanding what's behind...I think I offer both.. most people will use the open dialogue.. but it doesn't hurt to let advanced users have a choice unless you're strictly targeting the one clicker crowd.
Can you fix it (or it is a feature)?I guess I changed that when I put in the code to change the extension when selecting an output file. Not sure what the reason for this was. It's a matter of one line more or less so something really minor.
x264 devel is slowing down. is because syskin and akupenguin are gone to Nero, or is regular s/w life cycle?I'm not sure akupenguin has signed anything.. as I understand work is being done on RDO and that might take some time to be finished.. perhaps that'll be the next release.. but that's all really speculation.
however, but i've asked a help of mp4creator ahd '.264' wansn't listed...I know.. I've been wondering about that myself when I implemented the mp4 muxing feature.. not really my problem though. I suppose the programmers will add it when they feel it's time.
video
24th March 2005, 17:54
Originally posted by Doom9
I know.. I've been wondering about that myself when I implemented the mp4 muxing feature.. not really my problem though. I suppose the programmers will add it when they feel it's time.
Doom9 I feel it's superflous thing asking for the raw video output file name, if it can be figured out easily by MeGui. So asking for it is somewhat error prone ;)
Doom9
25th March 2005, 01:06
Doom9 I feel it's superflous thing asking for the raw video output file name, if it can be figured out easily by MeGui. So asking for it is somewhat error pronewell.. you just have to specify the name really.. the extension is automatically filled in. But, path and filename does matter. Just imagine you have the source on another drive than the video output (makes sense if you have multiple drives.. it'll speed up the process). Though you gotta stop that automatism somewhere.. if you press the ... button, you don't need to specify the extension.. if you edit the textbox, you gotta specify it (editing textboxes in that content is a feature for advanced users so I presume they know what they're doing.. if not, they'll learn the hard way ;)
And I meant asking the mp4creator programmers to add the .264 in the list of allowed input and mention the fact that the input acceptance is dependent on the input extension in a manpage.
yaz
25th March 2005, 09:51
Originally posted by Doom9
x264 devel is slowing down. is because syskin and akupenguin are gone to Nero, or is regular s/w life cycle?I'm not sure akupenguin has signed anything.. as I understand work is being done on RDO and that might take some time to be finished.. perhaps that'll be the next release.. but that's all really speculation.i hope u're right about the extent of 'our loss' but ... i got bad feeling about it. imho, this hijacking wasn't restricted to that 2 persons only. i wish i were wrong here, anyway.
the bests
y
(unnecessary rude) remarks edited
thed33p
25th March 2005, 23:26
Doom9,
I'm still on about seperate credits :)
I encoded credits seperately (quant=40) then subtracted the filesize of credits.mp4 from 716800 and entered this into the filesize box. Audio was 5.1 HE AAC. I then joined the files using copy /b and manually muxed. The result was a 734728 KB MP4. The file is unplayable though...
MPlayer20050315 has the followng to say:
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
VO: [directx] 720x576 => 1024x576 Planar YV12 [fs]
A: 0.2 V: 0.0 A-V: 0.122 ct: 0.004 2/ 2 ??% ??% ??,?% 1 0
MPlayer interrupted by signal 11 in module: decode_video
- MPlayer crashed by bad usage of CPU/FPU/RAM. Recompile MPlayer with --enable-debug and make a 'gdb' backtrace and disassembly. Details in DOCS/HTML/en/bugreports_what.html#bugreports_crash.
- MPlayer crashed. This shouldn't happen. It can be a bug in the MPlayer code _or_ in your drivers _or_ in your gcc version. If you think it's MPlayer's fault, please read DOCS/HTML/en/bugreports.html and follow the instructions there. We can't and won't help unless you provide this information when reporting a possible bug.
2 Questions - Could this have anything to do with the 5.1 audio? I've done this before with 2ch and it worked fine? Regarding the oversize - I started this job fairly late at night and I can't remember whether I pressed enter after typing in the desired filesize :rolleyes: Did I just answer my own quesion?
Then another case:
I encoded another full movie using automated 2-pass. Something went pear-shaped with the muxing though - MeGUI just hung and never actually stared the mux. I then manually muxed and the resulting file plays fine (and is spot-on size wise) but the audio is out of sync (even tho the filename states 0ms delay.) I still have the raw streams - is there a way to salvage this encode or was it 12 hours in the name of science?
video
26th March 2005, 04:59
thed33p i think it should be figured out, that other players are having problem with your movie or not, eg. try plaing it with mediaplayer classic, nero showtime, etc...
Doom9
26th March 2005, 11:51
Regarding the oversizePlease keep in mind that the first order of business is to check the mencoder logs and compare the resulting bitrate with the desired bitrate, the next step is comparing assumed and actual mp4 overhead. Also, as you know, the proper audio size is only taken into account in fully automatic encoding mode.. so setting audio to some cbr value to get an estimate of the desired bitrate won't do you much good.
I still have the raw streams - is there a way to salvage this encode or was it 12 hours in the name of science?If it's not the delay correction then it cannot be a MeGUI problem (I don't think you can even specify an audio offset in mp4creator).. most likely playback related or somebody didn't like your merge operation.
Patrick1970
26th March 2005, 19:51
@thed33p
Just a thought and pardon the simplicity - but did you set on mp4creator the -rate flag to the correct fps when you muxed. That could be a simple cause of sync loss.
KhasMek
26th March 2005, 21:55
k, first off, i would like to say thank you, doom9, for all your amazing work on this, and the great frontend you have created....
okay, now i have some, erm.. not really issues, but problems/bugs/something, and i am not sure if it is meGUI's issue, or one of mencoders/MPEG4IP tools.... so, sorry in advance if this isn't a problem of yours, or an already know about bug in mencoder....
this is all with the 2 pass automated, however i tried it in manual 2 pass, manual 3 pass, and cq, all with same results... avs script serving a .d2v file of dvd source, with 5.1aac audio (once encoded manulally with besweet, and once encoded with besweet though meGUI, both times using the nero he-aac)...
winxpsp2
.net 1.1
MPEG4IP 1.2.8cvs
MEncoder dev-CVS-050301-06:49-3.4.2
(i hope thats all the sysinfo you need)
the encode of the video went flawlessly each time, and the one time i encoded the audio through meGUI it came out perfect too, now the problem i was having was in the muxing phase. It would claim to mux everything just fine, however, the only thing that was muxed into the new mp4 container was the audio, no video whatsoever, the file would play the audio just fine though....
well, lemmie just give the first log, and then explain (imo only the muxin logs are necessary, becuase thats where the issue is
----------------------------------------------------------------------------------------------------------
Log for job job1-3
Audio input defined: E:\Ripped By Me\Test\Test\audio.mp4 Checking audio type:
MP4 audio input does not match the desired MP4 output filename. Renaming audio MP4 file to E:\Ripped By Me\Test\Test\test.mp4
A file with the desired output name already exists. Deleting file now.
MP4 audio size is 538849 bytes
mp4creator commandline: mp4creator.exe -c E:\Ripped By Me\Test\Test\test.264 -rate 29.97 -optimize E:\Ripped By Me\Test\Test\test.mp4
Launching video muxing process
mp4creator.exe: unknown options specified, ignoring: Me\Test\Test\test.264 E:\Ripped By Me\Test\Test\test.mp4
mp4creator.exe: can't open file E:\Ripped: No such file or directory
MP4 muxing info:
Size of audio in MP4: 538849 bytes
Size of raw video stream: 4203948 bytes
Size of final MP4 file: 538849 bytes
Size of video in MP4 file: 0 bytes
Total overhead: -4203948 bytes
Overhead per frame: -2917.38237335184 bytes
source information
codec: AVC
number of b-frames: 1number of source frames: 1441
----------------------------------------------------------------------------------------------------------
with using the encode command
mencoder "E:\Ripped By Me\Test\Test\zim2.avs" -ovc x264 -passlogfile "mencoder-2pass.log" -x264encopts pass=2:bitrate=800:bframes=1 -o "E:\Ripped By Me\Test\Test\test.264" -of rawvideo
now, i'm sure you see where the problem is
mp4creator.exe: unknown options specified, ignoring: Me\Test\Test\test.264 E:\Ripped By Me\Test\Test\test.mp4
mp4creator.exe: can't open file E:\Ripped: No such file or directory
it was taking the space in the directory (after Ripped) as an end and me\bla as an argument...
now, i thought the "'s in the directory path would have told mp4creator to not end the dir tree till the second " but it doesn't seem to be the case
of course i fixed this by changing the directory to one with out spaces in the name and this is what i got
----------------------------------------------------------------------------------------------------------
Log for job job1-3
Audio input defined: C:\Test\audio.mp4 Checking audio type:
MP4 audio input does not match the desired MP4 output filename. Renaming audio MP4 file to C:\Test\test.mp4
MP4 audio size is 538849 bytes
mp4creator commandline: mp4creator.exe -c C:\Test\test.264 -rate 29.97 -optimize C:\Test\test.mp4
Launching video muxing process
MakeIsmaCompliant:can't make ISMA compliant when file contains an avc1 track
MP4 muxing info:
Size of audio in MP4: 538849 bytes
Size of raw video stream: 4809520 bytes
Size of final MP4 file: 5366140 bytes
Size of video in MP4 file: 4827291 bytes
Total overhead: 17771 bytes
Overhead per frame: 12.3324080499653 bytes
source information
codec: AVC
number of b-frames: 1number of source frames: 1441
----------------------------------------------------------------------------------------------------------
with the commandline
mencoder "C:\Test\test.avs" -ovc x264 -passlogfile "mencoder-2pass.log" -x264encopts pass=2:bitrate=800:bframes=1 -o "C:\Test\test.264" -of rawvideo
and that muxed the audio in with the video, and plays perfectly....
so, i guess my question is, is this a bug on meGUI's end that is fixable, is this a issue with MPEG4IP tools and i am asking the wrong person, or is this an issue that probably won't be solved, i would really rather not change the whole layout of my hdd, even though i guess its not that much of a pain....
i hope i have made sense in this post, english is my first language, however it doesn't mean i am gracefull with it :D
thank you again for this exellent piece of software
Doom9
27th March 2005, 01:31
@KhasMek: welcome to the forum and for setting a good example with your first post. You not only posted all the relevant info, you also went to great lengths trying to solve it in an intelligent manner, and in fact you already answered your own question.
I'm afraid I forgot to put input and output for mp4creator into "s.
now, i thought the "'s in the directory path would have told mp4creator to not end the dir tree till the second " but it doesn't seem to be the caseactually, you've been looking at the mencoder commandline, where I use the "s, whereas for the mp4creator commandline (mp4creator.exe -c E:\Ripped By Me\Test\Test\test.264 -rate 29.97 -optimize E:\Ripped By Me\Test\Test\test.mp4) I did not. I'm sure that if you use "s to delimit input and output name, it'll work.
@those who have problems with jobs not being done properly, I'm thinking of putting in a bunch of trys/catches and dump whichever error is catched to a textfile with a stacktrace so that perhaps I can figure out what is causing the problems. But if anyone who can consistently reproduce a non starting/finishing job and knows how to handle Visual Studio, let me know.. that'd be the easiest solution as I cannot reproduce any job failures.
video
27th March 2005, 02:29
Originally posted by KhasMek
so, i guess my question is, is this a bug on meGUI's end that is fixable, is this a issue with MPEG4IP tools and i am asking the wrong person, or is this an issue that probably won't be solved, i would really rather not change the whole layout of my hdd, even though i guess its not that much of a pain....
Good question. problem is: winodws applications are having windows way of thinking, unix applications however are a different ball game. And Mp4iptools are coming from the Unix land. In the unix land a white space starts a new command line parameter... and micro$oft started evangelizing at win95 the even wrong habit of having white spaces in directory and file names is what a good thing.
thed33p
27th March 2005, 09:52
@Patrick1970
I did specify -rate 25 as mp4creator requires -rate when muxing h.264 files.
I've just been playing around with the -delay option in mplayer and I found that adding "-delay -.5" corrects the sync perfectly.
I'm about to look for a way of adding that delay to the muxing instead (not very hopefull though)
Doom9
27th March 2005, 12:30
adding "-delay -.5" corrects the sync perfectly.half a second and dgindex said 0ms delay? something is wrong here (and not with megui)
In the unix land a white space starts a new command line parameter.It's the same with Windows. commandline C programs for both platforms normally use the exact same commandline parsing code ;) Ever since long filenames were possible, you had to put paths with spaces into "'s. There's in fact no alternative. If you presume that space delimits cli parameters, then you have to discard parameters that you don't know, so a long path would never be recognized, unless you put in file/path checking code, etc.
Also, I just got a PM from Patrick1970, explaining why encoding can stop even though everything is properly set up. If you don't use full paths for input/output paths, but only filenames, MeGUI looks for the output files in the wrong location, throws an IO exception, and that effectively aborts the encoding process. This can also happen in the audio encoder and muxer. So if you have problems with jobs aborting, make sure you use absolute pathnames, and do not use spaces in paths for the MP4 muxer (see 3 posts up). I'll take care of all this in the next version but I'm currently working on a new feature so it might take some time.
Doom9
28th March 2005, 19:55
@thed33p: I'm having some problems with separate end credits myself. Even thought the joined binary file can be played, the credits are really messed up and there's a lot of block smearing. If I just put the credits file into an mp4 and play that, it looks ugly (it's supposed to), but there's no smearing. I also tried using my own binary merging program but the results were the same. Perhaps mplayer cannot decode those (I suppose corrupt) streams, whereas ffdshow still manages, but exhibits problems normally known from bitstream corruption.
@edit: weird, it only seems to happen with xvid content, avc and lavc is fine.
thed33p
30th March 2005, 00:46
Originally posted by Doom9
I'm having some problems with separate end credits myself.
I'm not sure if that is bad or great news :D
Perhaps mplayer cannot decode those (I suppose corrupt) streams, whereas ffdshow still manages, but exhibits problems normally known from bitstream corruption.
Maybe I'm misunderstanding this completely but if the 'corrupted' stream is binary-merged to then end of the main stream then the beginning of the file should still play fine, should it not? Or does the whole stream have to pass a compliancy check before decoding starts? Does -optimize during muxing have anything to do with it?
On a different note, I have something startnge to report: When I left for work this morning MeGUI was in the final hour of a Automatic 2 pass full movie encode. I wasn't gonna waste 8 hours so I started a 2nd encode in low priority (the 1st one in normal.) When I got home, both status windows were still open - the 2nd one was just finishing up but the 1st one hung at 67%. The funny thing is that both movies encoded perfectly (so I don't know if I should report this as a bug or a feature!!) :D
Doom9
30th March 2005, 12:33
I found out that only my XviD clips had problems.. lavc and x264 worked just fine. I'm glad that it wasn't my filemerger. And I never ran optimize during those tests (it just puts header info in the front of the file.. nothing dramatic that would touch the video in itself).
How did you add your 2nd job? I'm not sure what it should do but the ideal thing to be done would be to just add everything, realize we're already encoding, and leave the new jobs there.. then once the first set of jobs has completed, the next will automatically start (the auto mode puts the program in queue mode, so even non connected jobs will be started.. they just need to be in waiting status).
video
30th March 2005, 14:12
Originally posted by thed33p
Maybe I'm misunderstanding this completely but if the 'corrupted' stream is binary-merged to then end of the main stream then the beginning of the file should still play fine, should it not? Or does the whole stream have to pass a compliancy check before decoding starts? Does -optimize during muxing have anything to do with it?
On a different note, I have something startnge to report: When I left for work this morning MeGUI was in the final hour of a Automatic 2 pass full movie encode. I wasn't gonna waste 8 hours so I started a 2nd encode in low priority (the 1st one in normal.) When I got home, both status windows were still open - the 2nd one was just finishing up but the 1st one hung at 67%. The funny thing is that both movies encoded perfectly (so I don't know if I should report this as a bug or a feature!!) :D
I'm not famliliar so much to encode with mencoder, but is there any possibility, like zoning in the vfw xvid build? You just define two zones from from 0 to credit start and anoder from credit start to end, after that you just specify different quality metrics for credits.
Doom9
30th March 2005, 14:55
I'm not famliliar so much to encode with mencoder, but is there any possibility, like zoning in the vfw xvid build?Yup, but that only applies to XviD. x264, which is what most people use MeGUI for, has no such option.
thed33p
31st March 2005, 23:26
Hastily and with the GO button! I clicked it by means of habit. I'm very pleased about the the jobs finishing correctly though! :)
The 1 status window just stopped refreshing.
About the credits: Would you concider adding 3 textboxes for movie & credits frame start/end numbers numbers or even 4 for credits first? That way MeGUI could adjust the bitrates automatically for the 2 separate encodes, join them, mux them and make it all fit snugly into 716800 MP4!
I know you're a busy man but that feature would rock!
Doom9
1st April 2005, 07:22
The 1 status window just stopped refreshing.Ahh, now that you mention it it makes perfect sense to me. I'm not forcibly closing a progress window from the main GUI unless it gets a status update that says "I'm done". And, there's only one reference to the progress window, so that when you start the 2nd job, the reference is set to the 2nd progress window.. so status updates will not be dispatched to the first progress window anymore. Yet I absolutely have to prevent that 2 jobs can run concurrently.. if you were around, I suspect you'd have seen the status window update twice as much as usual, and flick between high and low completion percentage (from 1st/2nd job). And that's really not how it should be.
Wait for the next version and you will be surprised.. though one thing I can guarantee you: there will be no support for the intro (don't recall the real name.. I recently watched a TV show where one guy was making fun of another because he used the term credits for what comes at the beginning of a movie.. it's the wrong term). That is a "feature" I have never considered useful.
thed33p
1st April 2005, 09:14
Can't wait! <rubs hands together>
The intro feature can be quite useful for older Disney movies - almost all of them start with the "credits"
LigH
1st April 2005, 11:22
Once I applied a horrible "misuse" of intro and credits zoning for the movie "Der Hexer" (a german movie from 1964, based on a story by Edgar Wallace; don't know its original english title - maybe "The Wizard"?!). This movie is mainly in black&white, only the "cast" is artifically colored. So I used: A few minutes in greyscale for the intro, a few minutes in normal encoding for the cast, and the whole rest of the movie as "credits" in greyscale.
By the way: It has a unique aspect ratio of "ultra wide screen" (~3.3:1).
Doom9
1st April 2005, 11:25
btw, Ligh will like the new release too, because it allows you to configure the path of the required commandline tools ;)
LigH
1st April 2005, 13:52
http://www.cheesebuerger.de/images/smilie/froehlich/a020.gif You know me!
thed33p
3rd April 2005, 12:48
I was in the middle of the 2nd pass of a full movie encode when I had my PC turned off (courtesy of my 3-year old!) Seeing as I still had mencoder-2pass.log, I tried to just do the 2nd pass by using the commandline supplied by MeGUI. I specified the same bitrate as was reported by MeGUI originally - 929
F:\x264\megui0_1708>mencoder "E:\DGindex\tgnd\tgnd.avs" -ovc x264 -passlogfile "mencoder-2pass.log" -x264encopts pass=2:bitrate=929:frameref=3:bframes=3:b_adapt:b_pyramid:subq=4:weight_b:4x4mv -o "E:\DGindex\tgnd\tgnd.264" -of rawvideo
MEncoder dev-CVS-050315-21:39-3.4.2 (C) 2000-2005 MPlayer Team
CPU: Intel Pentium 4/Xeon/Celeron Foster (Family: 8, Stepping: 9)
Detected cache-line size is 64 bytes
CPUflags: Type: 8 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 - 0x17
AVS file format detected.
VIDEO: [YV12] 720x576 12bpp 25.000 fps 0.0 kbps ( 0.0 kbyte/s)
[V] filefmt:38 fourcc:0x32315659 size:720x576 fps:25.00 ftime:=0.0400
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 576 (preferred csp: Planar YV12)
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is undefined - no prescaling applied.
SwScaler: using unscaled Planar YV12 -> Planar YV12 special converter
x264 [info]: no need for a SAR
x264 [info]: using cpu capabilities MMX MMXEXT SSE SSE2
Selected video codec: [rawyv12] vfm:raw (RAW YV12)
==========================================================================
Writing AVI header...
Pos:6300.0s 157502f ( 0%) 8fps Trem: 0min 0mb A-V:0.000 [923:0]]
Flushing video frames
x264 [error]: specified frame type is not compatible with max B-frames
Assertion failed: pict_type == rce->pict_type, file c:/stuff/x264/build/cygwin/.
./../encoder/ratecontrol.c, line 863
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
The I resulting file is came out at 724868kb.
Was that the wrong bitrate to use / how should i have checked which bitrate to use?
TIA...
Doom9
3rd April 2005, 14:35
For starters you should go into your bios and change the power button to only activate when pressed for a couple of seconds. With ATX, the power button can either by activated immediately, or after pressing it a couple of seconds.. that might stop your kid for a while until he/she figures out what a long press does ;)
I've said it time and again, the bitrate projection in the GUI is not accurate.. it is simply impossible to do so. And your fancy end credits feature will make this even more true. 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). And, have you verified that using that bitrate you're not supposed to get that size with that bitrate? size = bitrate * length ;) To put it nicely, I'd be mildly disappointed if you hadn't made sure beforehand that your requested bitrate doesn't match the size you got.
Krizzz989
4th April 2005, 14:00
[04:44] <Krizzz989> the output mp4 file seems to only contain audio
[04:46] <bond> i know the problem
[04:46] <bond> tell doom9 he should use " " around his path names
[04:46] <bond> mp4creator.exe -c C:\Documents and Settings\Administrator\My Documents\complete\video\avc1.264 ... is not working
[04:47] <bond> because of the spaces in the path
[04:47] <bond> therefore mp4creatod doesnt add the .264 to the output .mp4
[04:47] <Krizzz989> ah ok
So here's my post: Spaces in my path names is not working, otherwise MeGUI works great for me, thanks for this program :)
bond
4th April 2005, 14:00
someone told me that an output .mp4 file of megui didnt include the video, but only audio
it turned out that the user used spaces in his paths names and megui didnt set " " around the paths to the files and therefore it wasnt a valid command which mp4creator understands
eg
mp4creator.exe -c C:\Documents and Settings\video.264 ...
has to be mp4creator.exe -c "C:\Documents and Settings\video.264" to work
edit: ah, already reported :D
video
4th April 2005, 14:38
Doom9 could you move away from using nero dlls to faac? I'm not satisfied so much with their quality, and if we talk about freeware tools, ehh. Or.. an option to use faac, will be good.
Doom9
4th April 2005, 14:51
Doom9 could you move away from using nero dlls to faac? I'm not satisfied so much with their quality, and if we talk about freeware tools, ehh. Or.. an option to use faac, will be good.According to the listening tests at hydrogenaudio, Nero AAC is superior to faac (but both are topped by Apple's AAC encoder). Plus, faac can't do HE AAC, and BeSweet doesn't support faac which means you have to launch two programs, deal with intermediary files (> 2 GB WAV files can be problematic), etc. Unless DSPGuru adds faac support to BeSweet, faac will always be a no go to me.
LigH
4th April 2005, 15:03
HeadAC3he (currently available: 0.24 alpha 13) supports FAAC. MPEG4IP tools provide an FAAC encoder, too. But indeed - the quality difference may not make it worth a huge effort.
video
4th April 2005, 15:23
Originally posted by Doom9
According to the listening tests at hydrogenaudio, Nero AAC is superior to faac (but both are topped by Apple's AAC encoder). Plus, faac can't do HE AAC, and BeSweet doesn't support faac which means you have to launch two programs, deal with intermediary files (> 2 GB WAV files can be problematic), etc. Unless DSPGuru adds faac support to BeSweet, faac will always be a no go to me.
ehh, just the possibility of faac, if it doesn't hurt, please :) faac can read from stdin even raw pcm, so no need to have intermediate files. tell just besweet to decode AC3 as raw pcm to its stdout and pipe in that pcm into faac :D
Doom9
4th April 2005, 16:22
tell just besweet to decode AC3 as raw pcm to its stdoutAnd how would that work? I don't think BeSweet can do that .. there's no core switch to write to stdout.. BeSweet writes logging info to stdout.
Latexxx
4th April 2005, 17:26
Doesn't azid output to stdout?
LigH
4th April 2005, 18:40
If you use "-" as filename, azid.exe may support stdin/stdout.
But in general, it would use files.
Doom9
4th April 2005, 18:50
forget it guys.. I've thought about audio encoding a great deal before implementing it. BeSweet offers the greates amount of flexibility.. get DG to support faac in BeSweet and I'll implement it.. but I'm not going to offer alternatives to BeSweet.. if you want that.. fire up Visual Studio and code it on your own.
video
4th April 2005, 21:48
Originally posted by Doom9
forget it guys.. I've thought about audio encoding a great deal before implementing it. BeSweet offers the greates amount of flexibility.. get DG to support faac in BeSweet and I'll implement it.. but I'm not going to offer alternatives to BeSweet.. if you want that.. fire up Visual Studio and code it on your own.
Doom9 I'm a dumb ass for windows programming (i am a un*x guy), anyway i've downloaded migw studio, libfaac and an example ac3 plugin source for besweet. So it may happen, that i can do something dll like thingy in at the weekend - if msvc compiled besweet can load gcc compiled dll(s). i dunno. if i success, faac will be available via -plugin(...). is it a must to have aac in an mp4 or it can be raw?
i promise nothing, except that i'm trying... :) i even don't promise that it will be elegant or fast as a first attempt if i suceed....
Doom9
4th April 2005, 21:51
is it a must to have aac in an mp4 or it can be raw?The muxer supports both, so it would be possible to encode to raw AAC, even though that's not foreseen right now (and thus would require some changes in the code).
Doom9
4th April 2005, 21:57
here is v0.18
new: separate credits encoding for both auto and video only mode (only mp4 output is supported though, at least for the moment)
new: paths of the required cli tools can be configured (upon selection, a check for all required files will be done (besweet))
new: a basic filemerger
new: muxer is accessible to manual use
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
changed: all input and output selection textboxes are no longer editable.. that prevents crashes where megui cannot resolve relative paths
changed: commandline editing has been restricted (not possible at all when using credits because there's a lot of file renaming going on behind the scenes, and you cannot edit the path for the cli tools either)
changed: even in auto mode, only one job can be started at once (if you configure another project, it will be queued)
bugfix: muxer now works even if paths with spaces are used
there's probably more, I think I fixed all problems reported and probably introduced some new ones.
video
4th April 2005, 22:13
Originally posted by Doom9
The muxer supports both, so it would be possible to encode to raw AAC, even though that's not foreseen right now (and thus would require some changes in the code).
means i should hack in libmp4v2 as well. sonuds a challenge for me as a first windows program :)
Doom9
5th April 2005, 07:51
so, what did I break except bitrate recalculation in video only mode? I tested it, then tested auto mode, that required some changes, so I thought I'd be smart and also implement the "not yet working feature" of recalculating the bitrate in movie only mode.. now you could end up with a negative bitrate in movie only mode because for those jobs, the desired size is 0 (not set, and if you substract the credits size, it gets negative). either way an easy fix but still.
I might just have broken other stuff.
what's libmp4v2? I figure an mp4 muxing lib.. with libavformat coming, perhaps one day the mux jobs will only be necessary if audio is used, but then comes the problem of merging mp4 files. But that's far off for now. And if only somebody would add credits supports to libavcodec and x264.. it would've saved me a lot of trouble as encoding separately was a major pain in the ass.. the only interesting thing about the end credits from my point was getting the video preview to work.
video
5th April 2005, 13:22
Originally posted by Doom9
what's libmp4v2? I figure an mp4 muxing lib.. [/B]
yeah.. with libmp4v2 you can encapsulate your raw aac audio, into an mp4 and tag it, as artist, title, endsoforth.
JoeBG
5th April 2005, 19:13
@ doom9
Very nice. Iīm testing since 2 hours - everything works fine. Now beginning with merging.
Hello doom9,
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.
The mencoder can handle this option:
bitrate=<value>
Sets the bitrate to be used in kbits/second if <16000 or in bits/second if >16000. If <value> is negative, XviD will use its absolute value as the target size (in kbytes) of the video and compute the associated bitrate automagically. (CBR or 2pass mode, default: 687 kbits/s)And i would be pleased by this option to enter a minus-sign to get the target size and not target bitrate.
If I enter the minus-sign manually in the command line, it will work, but there is a popup whether I will use my edited command line or not. Thats a little annoying, in this great tool ;-)
JoeBG
6th April 2005, 17:40
Originally posted by JoeBG
@ doom9
Very nice. Iīm testing since 2 hours - everything works fine. Now beginning with merging.
Merging is perfect, but just testet streams outside of containers (*.264).
But there is something I donīt like, sorry for this: The automatic popup of the video preview. Itīs because I donīt need it. Iīm using AvisynthEdit for creating Avisynthskripts and because of this I had a preview for cropping and trim (for the credits) and for the selection of the needed filters. Would be nice if it be not not a automatic popup. :)
bond
6th April 2005, 17:51
Originally posted by Doom9
what's libmp4v2?its the mp4 lib of the mpeg4ip project
Doom9
6th April 2005, 19: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
6th April 2005, 23: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, 19: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, 20: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, 22: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, 22: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, 07: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, 09: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, 10:04
@doom9: are there any plans for a MeGUI guide ? :D
Doom9
9th April 2005, 10: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, 11: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, 11: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, 11: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, 11: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, 12: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, 13: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, 13: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, 13: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, 14: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, 14: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, 14: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, 15: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, 16: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, 20: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, 20: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, 21: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, 22: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, 22: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
9th April 2005, 23: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, 00: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, 01:06
weird... the pyramid patch (the one in the x264 daily builds thread) works for me.
celtic_druid
10th April 2005, 04:24
The patched version shouldn't be required since Milan updated libavcodec in newer ffdshow builds.
thed33p
10th April 2005, 09: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, 10: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, 14: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, 15: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, 21: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, 22: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, 22: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, 22: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, 22:57
Originally posted by Doom9
hopefully we'll eventually see zones in x264 and the libavcodec rate control. libavcodec has zones ("vrc_override").
Doom9
10th April 2005, 23: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
10th April 2005, 23: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
10th April 2005, 23: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, 00: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, 00: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, 02: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, 05: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, 08: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, 08: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, 08: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, 14: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, 16: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, 16: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, 17: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, 18: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, 19:18
Second pass startet 2 seconds ago. 1.700 is defenitly too high for x264
Doom9
11th April 2005, 19:46
1.700 is defenitly too high for x264Not necessarily.. depends on the minimum quantizer and obviously the source..
dinolib2
12th April 2005, 19: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, 19: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, 19:33
yes, it seems so :rolleyes:
North2Polaris
13th April 2005, 03:48
@Doom9,
What would be the indications for changing the MP4 overhead on the Input tab?
North
Doom9
13th April 2005, 08: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, 09: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, 12: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, 13: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, 16: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, 18: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, 19: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, 19: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, 19: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, 19: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, 21: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, 21: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, 09: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, 09: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, 14:21
mea maxima culpa 'twas a virus affection of some of my .net framework dlls
JoeBG
14th April 2005, 15: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, 19: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, 21: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, 13: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, 13: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, 15: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, 18: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, 18: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, 18:56
MEncoder never supported zones in xvid, only in lavc.
Doom9
18th April 2005, 19:55
damn :( gotta go ahead and request that.
Yong
18th April 2005, 20: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, 20: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, 20: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, 20: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, 20: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, 00: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, 10: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
24th April 2005, 23: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, 14:08
wow !!!
My Bugreport:
No bugs since 5 full movies. ;)
Doom9
25th April 2005, 14: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, 17: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, 18: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. :)
Guest
25th April 2005, 20: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, 20: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, 21: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, 21: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, 21: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)
Guest
25th April 2005, 21: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, 22: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, 22: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
Guest
25th April 2005, 22: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?
Guest
25th April 2005, 22: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, 22: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, 22: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, 22:52
150 frame RAW x264 (straight out of MeGUI) uploaded...
Guest
25th April 2005, 23: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, 00: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, 06: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, 07: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, 09: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, 13:12
I tested (really briefly) with a current cvs build of AVISynth and it seemed to work fine.
Doom9
26th April 2005, 13: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, 14: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.
Guest
26th April 2005, 15:30
There are different processor versions of mencoder. I should triple check what is in my laptop. :)
JoeBG
26th April 2005, 17: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, 17: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).
Guest
26th April 2005, 23: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
26th April 2005, 23: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.
Guest
27th April 2005, 01: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, 02:56
What is LAVC? Libavcodec mpeg4 asp? Which are the best settings for it?
dinolib2
27th April 2005, 06: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, 08: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, 19: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, 20: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, 22: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
28th April 2005, 23: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, 01: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, 08: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, 09: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, 09: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, 09:53
While you are at it; both passes have vpass=1.
thed33p
29th April 2005, 10: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, 11: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, 11: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, 11: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, 12: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, 17: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, 21: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, 22: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, 22: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, 00: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, 08: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, 09: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, 09: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, 10: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, 19: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, 22: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, 22: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, 00:58
@Doom9
Yes it works fine thanx :)
dude051
3rd May 2005, 01: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, 16: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, 01: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, 14: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, 19: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, 19: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, 22: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, 07: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, 11: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, 12: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, 13: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, 15: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, 16: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, 19: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, 22: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, 22: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, 00: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, 07: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, 19: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, 19: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, 20: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
10th May 2005, 23: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, 05: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, 09: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
13th May 2005, 23: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
13th May 2005, 23: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, 14: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, 14: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, 14: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, 14: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, 15: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, 15: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, 16: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, 18: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, 18: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, 22: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, 22: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, 22: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, 00: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, 00: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, 02: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, 12: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, 12: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, 14: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, 14: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, 14: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, 15: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, 22: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, 00: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, 07: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, 10: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, 13: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, 18: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, 18: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, 19: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, 19: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, 06: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, 07: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, 11:11
Thanks Doom9 .... tested v0.1912 and the problem with chained job confirmed fixed.
Cheers!
Scorpio
Sharktooth
17th May 2005, 11:54
Any chance of a MeGui-LE version with x264cli (only) support?
Doom9
17th May 2005, 12: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, 12:11
yep.
JoeBG
17th May 2005, 18: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, 19: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, 19: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, 20: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, 05:50
@ North 101
When can we see the new gui? Iīm really curious to see it :)
Doom9
23rd May 2005, 09: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, 07:04
Thanks for reminding me. CVS mencoder/x264 now supports zones.
Doom9
24th May 2005, 08:56
yippie.. now I really need that volunteer to expose xvid zones in mencoder so that I can get rid of the merging altogether. And I guess now would be the time to go over the x264 support again as the first mencoder build supporting the new ABR has shown up on CD's site.
@JoeBG: this is good news... gets rid of your additional merging step and intermediate files.. now the raw way for x264 is going to use less space and time ;) I might still support x264.exe though because of the mp4 overhead thing.. but it's not a priority feature (I really need to get the resolution suggestions done.. sending the selected audio tracks to the main gui is on halt until North101 sends me the finished GUI code).
Mc Onyx
1st June 2005, 17:49
I have a question about using MeGUI with CD's newest Mencoder builds, dated 05.24.05 and i was wondering will Mencoder use ABR for the 1st pass in H.264/AVC encoding, because MeGUI says that it is CBR, i know it's because, there was no ABR, when this version of MeGUI came out. And by the way i know this was asked before, but @Doom9, when will there be a new version and will it use zones for the credits?
Sorry about my english, i'm from CE :) !
Doom9
1st June 2005, 18:54
1) since specifying a bitrate in first pass means ABR, I think the CBR mode will effectively be ABR. The next version will reflect that (and I'll recheck to make sure I'm setting all the options right).
As far as zones go.. of course. It will be in the next version as well. In addition, I have created a patch for mencoder to allow the use of zones in xvid, so I will be able to get rid of separate credits encoding altogether (the two libavcodec codecs are not relying on separate credits encoding anymore).
North2Polaris
2nd June 2005, 00:36
@Doom9,
It would be useful to have the following options in the "Size" box in the Automatic Encoding section:
1/3 DVD-R (1466 MB)
1/4 DVD-R (1100 MB)
1/5 DVD-R (880 MB)
More and more folks are getting DVD burners...
North
JoeBG
2nd June 2005, 10:19
@Doom9,
It would be useful to have the following options in the "Size" box in the Automatic Encoding section:
1/3 DVD-R (1466 MB)
1/4 DVD-R (1100 MB)
1/5 DVD-R (880 MB)
More and more folks are getting DVD burners...
North
:goodpost: :) Would be helpful for me too :)
Mc Onyx
2nd June 2005, 15:49
Is there a way to make MeGUI shutdown the computer, after completing the last job(like in VDub and VDubMod), i didn't find it anywhere. If that function doesn't exists, i'd like to add it to the wishlist, because mainly i do my encodings overnight(especially with AVC) and it would be very usefull, so that my computer doesn't stay turned on, when not doing anything! I use that in VDubMod all the time!
Doom9
3rd June 2005, 07:57
Is there a way to make MeGUI shutdown the computerYou mean shutdown -s -f -t 0?
JoeBG
3rd June 2005, 08:47
You mean shutdown -s -f -t 0?
Is this a DOS Command? When I add "-s -f -t" to the a MeGUI commandlinie manually it will shutdown the computer? Would be nice :)
Doom9
3rd June 2005, 09:06
nah.. that's the process with arguments that I'd have to launch to shut down the computer. Personally with all the power saving mechanisms already in todays PCs I don't really see the need to shut down the PC (lifetime is no issue either.. modern PCs should be able to handle 24/7 operation during their normal lifetime). But I'll put it into the todo list.. but at the bottom. There's a lot more important things, like abr mode, x264 and xvid zone support (hopefully CD can provide a new mencoder compile soon.. my xvid zones patch was just comitted), restructuring the backend code to facilitate the new GUI, getting the new GUI running (I haven't had any contact with North101 in a while:(
Is this a DOS Command? When I add "-s -f -t" to the a MeGUI commandlinie manually it will shutdown the computer? Would be nice :)the command 'shutdown -s -f -t 0' means : shutdown immediatly, close running application(s) without warnings (& confirmation requests). afaik, it's winxp only
the bests
y
xtknight
4th June 2005, 05:28
Doom9:
After I load an AVISynth script for video input, the program abruptly exists without warning. so I did a little debugging myself and found out this line is causing a problem. Under the AVIReader constructor (New):
if (AVIFileGetStream(m_pAVIFile, out m_pVideoStream, ConvertFourCC("vids"), 0) != 0) {
I think AVIFileGetStream is failing, and crashing your program before it returns a value. Probably one of the parameters it's being fed has a bad value for some reason? Not sure if there's much you can do about it. Maybe I FUBAR'd my Windows something awful? :confused: Or am I a complete moron and not using the software correctly? Quite possible...this is my first time trying it.
Here is the AVISynth script:
DirectShowSource("C:\Documents and Settings\unknown\My Documents\May 31-Channel 67 (3 23 pm).avi")
Yes, the file exists and plays fine in Windows Media Player.
I was just trying to input a normal file for encoding. I have MeGUI 0.1912 and AVISynth 2.5.6 Beta3 [050505].
Edit: Just for the record, when I open the AVS file in mplayer2, it crashes that program also. Time to reinstall AVISynth. Not your program's fault, never mind. Seems like every version of AVISynth I've had crashes in some manner. What's wrong with this program? I guess I'll install the version that crashed when the file is closed instead. OK AVISynth 2.5.5 is fully stable for me now.
I have MeGUI 0.1912 and AVISynth 2.5.6 Beta3 [050505].
...
OK AVISynth 2.5.5 is fully stable for me now.
Well - just another example: AviSynth 2.5.6 beta3 is known for so many problems, starting at shifted, distorted video -- and ending at application crashes. :rolleyes:
Doom9
4th June 2005, 11:43
this example is a good one why you'll see many programs in this place where programmers explicitly discourage you from using untested versions. As long as new versions act the same way as old ones, it's not going to be a problem, but if something changes (and AviSynth is know to do just that.. there was a report a while back using DirectShowSource and the new AviSynth betas and the result was just the same), it's going to be very problematic. Hence my version recommendations. But even I am dependant on mencoder stdout output not changing or it'll break MeGUI just as well.
Though, why use DirectShowSource anyway? What is wrong with AviSource? In my past experience, DSS has always been a lot more problematic and I have encountered a bunch of crashes even with release versions.
I'm glad that you tried out playing the file in a mediaplayer... definitely the thing to do to narrow down problems :) I'll take one thing from this report though: I didn't write the AVI opening class, but it does throw exceptions that I am not catching. Normally that's not a problem and MeGUI will only crash if you open a script it cannot handle, but a more graceful exit couldn't hurt.
xtknight
4th June 2005, 22:17
OK...so you are saying you are not catching exceptions that you could? The code looked like it would... I think that is out of your control, and I'm sure Microsoft has lots of error-checking in media player, and even that hard-crashes. The function causes the program to exit and without returning a value, so it is out of your control, unfortunately. :( Well you could start another thread to call this function and set a variable bGracefulExit=true when it succesfully finishes. Then when the thread exits, just check if bGracefulExit=true, and if not, throw an exception. This will limit the ability of the function to crash the main thread. Instead, it will crash its own separate thread which won't hurt anything else.
Sorry for the super-newb question, but how do I use DGIndex to get the .wav file I need to input in MeGUI? I don't know much about this program...it outputs something.demuxed.m2v and I have no idea what that's supposed to be. I don't see any exported audio. Can someone tell me what this program does?! What exactly is being indexed? What's in the index? By the way Doom9, check the development forum where I answered your minimize window question.
You could make your program easier for n00bs like me if you could make DGIndex extract the audio for me. Or does it? lol :o
I guess when AVISynth says alpha they mean it. But couldn't they at least test the opening of an avs file? Alpha isn't supposed to mean completely untested, is it? They should at least test the vital function.
Leo 69
4th June 2005, 22:39
xtKnight
DGIndex -> Audio -> Output Method -> Decode to WAV
xtknight
4th June 2005, 23:15
xtKnight
DGIndex -> Audio -> Output Method -> Decode to WAV
I did that...how do I start the process and where is my wav file??
Leo 69
4th June 2005, 23:26
Open the .vob files with DGIndex in the order they appear on your hard drive,
then press "Save Project" . The project is saved as a .d2v file - this is the result of indexing of your vobs. And besides, the .wav file from the vobs you're indexing is also saved to the same directory as .d2v project.
The audio stream is demultiplexed or decoded, while the project file (*.d2v) is written [F4].
berrinam
4th June 2005, 23:31
DGIndex -> File -> Save Project [F4]
The wav file will be put in the same place as where you save the d2v file. Anyway, you don't need to input wav into MeGUI -- you can just select
DGIndex -> Audio -> Output Method -> Demux All tracks
and MeGUI should accept the ac3 or mp2/3/a file (although it doesn't accept dts)
Doom9
5th June 2005, 10:11
you really don't have to bother with running dgindex manually. Instead of opening an AviSynth script, open an .ifo file and the dgindex project creator will pop up and allow you to create a dgindex project, and demux the audio tracks you want. If you want audio decoding, feed the .ac3 or .mpa files you get from the dgindex project creator into the audio input and configure it (it'll give you AAC though.. why use WAV anyway? there's no need for WAV anywhere in MeGUI).
lexor
5th June 2005, 15:30
Though, why use DirectShowSource anyway? What is wrong with AviSource? In my past experience, DSS has always been a lot more problematic and I have encountered a bunch of crashes even with release versions.
for compatibility with out past mistakes :D
Doom9
5th June 2005, 15:44
Here is release 0.1913
new: x264: all x264 options available in mencoder are supported. This includes abr, me range, me type, vbv buffer size, vbv initial buffer size, vbv maximum bitrate, bitrate variance (rate_tol), p8x8, number of threads and zones
new: xvid: supports adaptive quantizer (requires a brand new mencoder build, it was just added to mencoder yesterday) and zones
new: should be more stable towards improper AviSynth scripts (catches native Win32 errors as well now whenever it opens an AviSynth script)
new: additional disc sizes have been added as requested
changed: x264 options that do not apply to a certain mode are not used for the commandline anymore
changed: x264 and xvid credits rely on zones in the codec rather than external files. This will resolve whatever problems might have ocurred in the past using separate files.
For now I have left most of the code dealing with separate credits in there (including the filemerger in the settings), so that if you have old jobs that you'd like to re-encode, you still can (you cannot load and modify them though). Once the GUI is restructured, all those bits of code and GUI options will be removed though.
Doom9
5th June 2005, 20:31
here is release 0.1914
new: supports the AVC High Profile 8x8 transform in x264 (you will need a bleeding edge mencoder build for that.. CelticDruid has not yet released such a build at the time I'm writing this)
new: automatic vertical resolution suggestion for the AviSynth script creator, based on the DAR set and the croping values
This latter feature will only work properly if the DAR is properly set (it's normally done automatically but there are a few cases where the MPEG-2 video stream does not have the proper DAR signalling, so you may want to make sure that your 16:9 video is properly recognized) and you've already set your cropping values. There is no "least error" mode that would limit the AR error at the expense of cropping some video lines away (volunteers to add that are welcome :)
Hee Doom9 - do you outrun yourself today, again?! :D
guada 2
6th June 2005, 17:23
Hello Doom9 :)
I have a problem with meGUI
I downloaded the software:
- MeGUI-0[1] .1914;
- dgmpgdec140b3;
- BeSweet_v1.5b29_Completo;
- dotnetfx version 2.0 bęta1;
- MP4Box;
- mplayer2005.06.04.P4
no problem of installation.
my report:
ASP /MP4 and XVID /MP4 :
These two modes works perfectly (encoding + multiplexing).
however, the mode x264 doesn't function.
where can come the problem? Thank you for advance.
NOTE: You will excuse me, I didn't follow the latest news.. ;)
Doom9
7th June 2005, 08:23
however, the mode x264 doesn't function. That doesn't tell me anything.. what do you get in the log for the video encoding jobs? Did you try the high profile option? your mencoder version doesn't support that (the changelog says so)
guada 2
8th June 2005, 00:58
Doom9,
" Did you try the high profile option? your mencoder version doesn't support that (the changelog says so)".
"hpo" don't work with the lastest mencoder, (for Me).
The normal test says this (AVC/x264/MP4): profil log
Desired size of this automated encoding series: 2146304 bytes
No audio encoding and no separate end credits encoding. Calculating desired video bitrate directly.
Setting video bitrate for the video jobs to 337 kbit/s
Next job job1-1 is a video job. mencoder commandline:
"C:\Documents and Settings\mario\Mes documents\dossier megui\mencoder.exe" "C:\Documents and Settings\mario\Mes documents\Xvidtest\avs\film.avs" -ovc x264 -o NUL: -passlogfile "mencoder-2pass.log" -x264encopts pass=1:bitrate=700:4x4mv:ratetol=2,0:scenecut=100:me=0
successfully set up video encoder and callbacks for job job1-1
----------------------------------------------------------------------------------------------------------
Log for job job1-1
File not found: 'frameno.avi'
Failed to open frameno.avi
The me option must be >= 1: 0
----------------------------------------------------------------------------------------------------------
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:\Documents and Settings\mario\Mes documents\dossier megui\mencoder.exe" "C:\Documents and Settings\mario\Mes documents\Xvidtest\avs\film.avs" -ovc x264 -passlogfile "mencoder-2pass.log" -x264encopts pass=2:bitrate=337:4x4mv:ratetol=2,0:scenecut=100:me=0 -o "C:\Documents and Settings\mario\Mes documents\Xvidtest\Nouveau dossier\filmtestx264.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
The me option must be >= 1: 0
Exception in compileFinalStats. Message: Could not find file "C:\Documents and Settings\mario\Mes documents\Xvidtest\Nouveau dossier\filmtestx264.264". stacktrace: at System.IO.__Error.WinIOError(Int32 errorCode, String str)
at System.IO.FileInfo.get_Length()
at MeGUI.VideoEncoder.compileFinalStats()
----------------------------------------------------------------------------------------------------------
job job1-2 has been processed. This job is linked to the next job: job1-3
Next job job1-3 is a mux job. mp4box commandline:
"C:\Documents and Settings\mario\Mes documents\dossier megui\MP4Box.exe" -add "C:\Documents and Settings\mario\Mes documents\Xvidtest\Nouveau dossier\filmtestx264.264" -fps 25 -new "C:\Documents and Settings\mario\Mes documents\Xvidtest\Nouveau dossier\filmtestx264.mp4"
successfully set up muxer and callbacks for job job1-3
Xvid/Xvid/MP4
Desired size of this automated encoding series: 2097152 bytes
Encoded audio file is present: C:\Documents and Settings\mario\Mes documents\video\demuxaudio\audiomp4.mp4 has a size of 311650 bytes.
adjusting desired size. New desired size = 1785502 bytes
No audio encoding and no separate end credits encoding. Calculating desired video bitrate directly.
Setting video bitrate for the video jobs to 285 kbit/s
Next job job2-1 is a video job. mencoder commandline:
"C:\Documents and Settings\mario\Mes documents\dossier megui\mencoder.exe" "C:\Documents and Settings\mario\Mes documents\Xvidtest\avs\film.avs" -ovc xvid -o NUL: -passlogfile "mencoder-2pass.log" -xvidencopts pass=1:bitrate=285:max_key_interval=250:max_bframes=0:vhq=4:chroma_me:max_iquant=4:max_pquant=13:max_bquant=14:trellis:kfthreshold=1:kfreduction=20
successfully set up video encoder and callbacks for job job2-1
----------------------------------------------------------------------------------------------------------
Log for job job2-1
File not found: 'frameno.avi'
Failed to open frameno.avi
xvid: bitrate setting is ignored during first pass
----------------------------------------------------------------------------------------------------------
job job2-1 has been processed. This job is linked to the next job: job2-2
Next job job2-2 is a video job. mencoder commandline:
"C:\Documents and Settings\mario\Mes documents\dossier megui\mencoder.exe" "C:\Documents and Settings\mario\Mes documents\Xvidtest\avs\film.avs" -ovc xvid -passlogfile "mencoder-2pass.log" -xvidencopts pass=2:bitrate=285:max_key_interval=250:max_bframes=0:vhq=4:chroma_me:max_iquant=4:max_pquant=13:max_bquant=14:trellis:kfthreshold=1:kfreduction=20 -o "C:\Documents and Settings\mario\Mes documents\Xvidtest\Nouveau dossier\film.m4v" -of rawvideo
successfully set up video encoder and callbacks for job job2-2
----------------------------------------------------------------------------------------------------------
Log for job job2-2
File not found: 'frameno.avi'
Failed to open frameno.avi
desired video bitrate of this job: 285 kbit/s - obtained video bitrate: 276,114668769716 kbit/s
----------------------------------------------------------------------------------------------------------
job job2-2 has been processed. This job is linked to the next job: job2-3
Next job job2-3 is a mux job. mp4box commandline:
"C:\Documents and Settings\mario\Mes documents\dossier megui\MP4Box.exe" -add "C:\Documents and Settings\mario\Mes documents\Xvidtest\Nouveau dossier\film.m4v" -add "C:\Documents and Settings\mario\Mes documents\video\demuxaudio\audiomp4.mp4" -fps 25 -new "C:\Documents and Settings\mario\Mes documents\Xvidtest\Nouveau dossier\film.mp4"
successfully set up muxer and callbacks for job job2-3
----------------------------------------------------------------------------------------------------------
Log for job job2-3
MPEG-4 Video import - 720 x 576 @ 25.0000 FPS
Indicated Profile: Simple Profile @ Level 3
Import results: 1269 VOPs (12 Is - 1257 Ps)
IsoMedia import - track ID 1 - Audio (SR 48000 - 2 channels) - SBR AAC
IsoMedia import - track ID 2 - media type odsm sub-type MPEG
IsoMedia import - track ID 3 - media type sdsm sub-type MPEG
Converting to ISMA Audio-Video MP4 file...
Saving film.mp4: 0.500 secs Interleaving
MP4 muxing info:
Size of audio track 1: 311650 bytes
Size of audio track 2: 0 bytes
Size of raw video stream: 1750567 bytes
Size of final MP4 file: 2068032 bytes
Size of video in MP4 file: 1756382 bytes
Total overhead: 5815 bytes
Overhead per frame: 4,58596214511041 bytes
source information
codec: XviD
number of b-frames: 0
number of source frames: 1268
----------------------------------------------------------------------------------------------------------
I don't understand my problem.I tried everything :(
I don't like that, I prefer to use VD + x264 and MP4Box again..
dinolib2
8th June 2005, 06:44
The problem is in the first job:
The me option must be >= 1: 0
If you look at the cmd, you can see "me=0".
Now, you shold see it there's an option tha force this value to 0... otherwise could be a bug (are you using latest MeGUI version, didn't you?)
Doom9
8th June 2005, 07:56
The me option must be >= 1: 0bah.. yet another way to report errors, not even mentioning that it's an error.. I hope somebody will change that in the future.. errors should be signalled as such and megui will abort right away.
You shouldn't even be able to set me to 0, iirc I increase the selectedItem from the dropdown by one before saving.. but if you do not touch the motion estimation type then you shouldn't run into any problems as the default is 2 and in that case me is not written to the commandline.
Mc Onyx
8th June 2005, 17:58
About the shutdown function, i agree that in power savings it's not important, but if you happen to be as "lucky" :) as i am, to have computer in the same room, where you sleep, then it's a different thing. Although i have water cooling, it's far from noiseless, so... But other things like X264 and ABR are more important.
guada 2
8th June 2005, 21:26
Thank you very much Doom9 :)
Doom9
9th June 2005, 08:25
@guada: when using x264, go to the advanced tab, and set the me option to the 2nd option in the dropdown. I forgot to force this (it's the default), and since the default index of a dropdown is -1 and I add 1 you get 0. This is a bug that is already fixed in the next release but unfortunately the code is in the hotel and I am not.
x264.exe is also fully supported now, including direct mp4 output (joebg owes me many beers for that.. all the additional workarounds I had to put in everywhere because all the code is based for mencoder and thus raw output.. it's a major pain in the ass). And all the credits code I removed.. when thinking about what time I put into this I'd better have waited and coded something else until zones were ready...
when thinking about what time I put into this I'd better have waited and coded something else until zones were ready...
No, don't think about that too much!
:thanks: :thanks: :thanks:
http://www.cheesebuerger.de/images/more/schilder/a074.gif http://www.cheesebuerger.de/images/more/schilder/c014.gif
for so much work - and so much success!
JoeBG
9th June 2005, 14:41
[@x264.exe is also fully supported now, including direct mp4 output (joebg owes me many beers for that.. all the additional workarounds I had to put in everywhere because all the code is based for mencoder and thus raw output.. it's a major pain in the ass). ...
:thanks: You defenitly get as much beer from me as you can drink. :D
I will make a guide for your tool in german language and I hope you will like it :)
And all the credits code I removed.. when thinking about what time I put into this I'd better have waited and coded something else until zones were ready...
But we all loved it :thanks: :thanks: :thanks:
Doom9
9th June 2005, 16:00
You defenitly get as much beer from me as you can drink.better watch out because I can get thirsty ;)
Better wait with the guide.. I plan to implement North101's GUI suggestions this week-end.. on my own if he doesn't resurface until then.
I'm wondering about the cli editing feature.. the new GUI does not forsee an editable commandline (I figure I add some cli preview in the codec configuration screen but that's that). How important is that feature really? And if it were to be replaced by certain fields that you can use to put commands a) before the codec string, b) in the codec string, and c) after the codec string.. wouldn't that be just enough to handly pretty much anything? I tend to think that if somebody asks new cli features are quickly implemented, so cli editing only applies to non supported parameters (virtually none in case of x264, be it x264.exe or mencoder), and using additional mencoder options. That way of handling things would also make it possible to load a custom edited job, make changes and encode it afterwards. So you can make your custom edits at any point you like, the configure GUI options afterwards and your custom options are preserved (which isn't the case right now).
Then again, is all that work really useful? I mean you can always exit, open the xml file in notepad, edit your commandline, relaunch, and run the job and except for re-configuring the job you can do everything you can do with any non custom job (created solely in the GUI).
dude051
10th June 2005, 07:02
First off, just want to say how great it is to see this project grow so fast into something better and better. Your continued work is appreciated in the community :D
Now on to the biz, i've run into a wierd bug and can't seem to figure it out. I'm using a fresh copy of MeGUI, no previous configurations from old versions. After trying to load my AVS, I get the following error twice:
http://www.exiled-destiny.com/Error.JPG
Although I can play it in MPC and load in VirtualDub with no errors or problems at all. The MeGUI VideoPlayer then loads blank, and when i try to skim through it I get an exception and after hitting Quit it crashes. Error report is as follows:
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
at MeGUI.VideoPlayer.positionSlider_Scroll(Object sender, EventArgs e)
at System.Windows.Forms.TrackBar.OnScroll(EventArgs e)
at System.Windows.Forms.TrackBar.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.1982.36860
Win32 Version: 1.0.1982.36860
CodeBase: file:///C:/Documents%20and%20Settings/Justin/My%20Documents/Ripping%20Appz/MeGUI-0.1914/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
----------------------------------------
lfmy3uic
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
----------------------------------------
nk_x48u2
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
----------------------------------------
ii63xkhq
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.
Hope I could help, untill next time :scared:
Peace, DuDe
Doom9
10th June 2005, 07:57
that's the additional error catching I've added to prevent MeGUI from crashing if an error ocurrs when opening the AVI. AVIFile reports it so there's really nothing I can do about it. Can I see the script please? Also, can you try a pre 0.1913 version which doesn't have this errorchecking, and see if you can open the script then?
The crashdump makes sense.. you're trying to read a frame from the video but since the video cannot be loaded, you're drawing just blanks. I guess I should not even let the player open if there's a problem opening the script.
thed33p
10th June 2005, 20:45
@dude051
I've seen that error before on my old man's Athlon. The script was MPEG2SOURCE=("file.d2v") and played just fine in WMP but MeGUI woud'nt open it (it was the last build to not support subtitles & chapters IIRC.) I never bothered getting to the bottom of it as the pc was being upgraded about a week later but now that I think back, the only thing that wasn't installed on it was a DVD playback package (like Win / Power DVD)
I dunno how relevant this post is but you never know.
later
Doom9
10th June 2005, 22:44
here is version 0.1915
new: supports x264.exe as alternative x264 encoder
new: supports x264 minimum gop size
changed: all references to merge jobs have been removed
changed: extension defaults to mp4 when using x264 for mp4 output (no separate muxing unless you are
in auto mode)
bugfix: the me type is set to the default in the GUI, preventing a mencoder abort if you didn't configure
the me type on your own
bugfix: invalid custom paths & working default path no longer causes a crash
important notes:
the format of the configuration file has changed, your old config may or may not work in this version
since merge jobs are no longer supported, make sure you clear the queue before using the new version
if using x264.exe for x264 encoding, setting the output type to .avi will create a raw AVC stream
with extension .avi. Before you start suggesting I add a workaround and start using avc2avi -
I spent a lot of time adding support for credits encoding only to have the work made superfluous
by vrc_override, and zones, so you rather look into x264 and avc2avi source code and add avi output
to x264.exe on your own.. then I'll support it.
berrinam
11th June 2005, 03:45
I searched and I looked through this thread, but I couldn't find anything about this: could you tell me why MeGUI (for x264) defaults to an SCD sensitivity of 100, when the default in the x264 CLI is 40? Also, why does MeGUI use ratetol 2.0?
Sorry if I missed it somewhere else in the forum, but I did try to find out.
Doom9
11th June 2005, 10:44
@berrinam: ratetol most likely because I accidentally clicked the up button in the GUI designer, and for the SCD I must've read the wrong line in the manpage.. obviously both are wrong.
JoeBG
11th June 2005, 12:01
@berrinam: ratetol most likely because I accidentally clicked the up button in the GUI designer, and for the SCD I must've read the wrong line in the manpage.. obviously both are wrong.
But I always use ratetol 2,0 as my preferred. But youīre right, the default is ratetol 1,0.
guada 2
11th June 2005, 12:07
Hello Doom9 :)
I think that there is a difference in size and in change concerning the news version.
look at this you see it:
MeGUI-0[1].1915 / MeGUI-0[1].1914 and MeGUI-0[1].1914 / MeGUI-0[1].1914
But MeGUI-0[1].1915 : 632ko / MeGUI-0[1].1914 : 640ko
just this :) :) :)
To soon ;)
Doom9
11th June 2005, 12:12
there's a perfectly simple explanation why the executable got smaller. A quote from the changelog explains it: changed: all references to merge jobs have been removedSeparate credits encoding required a lot of extra code. Since I have now eliminated that code, the executable got smaller.
JoeBG
11th June 2005, 12:24
Just finished some tests, everything works fine :)
Sharktooth
11th June 2005, 14:12
Doom9 can you post the sources please? ill see what i can do.
Sharktooth
11th June 2005, 20:12
well... lets start learning C# ....
Sergejack
11th June 2005, 21:00
change doesn't happen for cplxblur and qblur in megui.
EDI : oups, my bad, sorry ^^'
Doom9
11th June 2005, 21:02
change doesn't happen for cplxblur and qblur in megui.mode? mencoder or x264.exe?
I can't verify that in both modes.. the commandline changes.
Sergejack
11th June 2005, 21:10
It's missing pthreadGC2.dll.
I guess I'll look arround MPlayer website.
Sharktooth
11th June 2005, 21:28
try this one: http://www.webalice.it/f.corriga/misc/pthreadGC2.dll (MMX required)
@Doom9: make your big changes, i need some days of "study" :)
Sergejack
12th June 2005, 03:04
There are somes bugs with param sued for encoding.
There also is a bug when muxing into mp4, looks like (for instance) 23.976 fps is 23976 fps.
LigH
12th June 2005, 05:25
looks like (for instance) 23.976 fps is 23976 fps.
Just a guess without checking: Try if it uses local "decimal" values; e.g. in Germany, we use a decimal comma instead of a decimal point.
Doom9
12th June 2005, 22:10
thanks
Now, in the course of the GUI reorganization, there are two things that weren't properly designed yet:
a) commandline preview: where should that be placed in the future? Right now I have the configuration for each codec in a separate dialog, and once you've configured the codec, the resulting commandline will be shown. I think the commandline should go away from the main window.. so the question is should there be a preview in the codec configuration dialog? and should it always be there, or be activated upon demand?
b)commandline editing: how important is that feature? wouldn't editing xml files be sufficient?
c) I figure the average user will never bother to configure the logfile and just use the default. Hence it might make sense not to show it all the time. In a design study, North101 placed it in the input2 tab, but I want to get rid of that tab (it's empty except for the logfile). So where to best place this? I was thinking about the codec configuration dialog, which is how VfW codecs handle it.. but is that really how it should be?
Doom9
12th June 2005, 23:09
here is version 0.193 alpha:
This is the first preview of the GUI reorganization that is currently ongoing (it's not done yet).
new: codec configuration has been put into separate dialogs, thus making the main screen less cluttered
new: settings have been moved into a separate dialog
new: "standalone" mp4 muxer has been extended to support pretty much all the features you should need (there's no support for audio delays) and moved to a separate dialod
new: access to 4x4 I-frame options
changed: d2v and avs creator are now accessible via the menu
bugfix: mb option activation should fullfill the prerequisites (some options require other options to properly function)
bugfix: defaults of ratetol and scd have been restored
since it's an alpha, please consider it as such.. not everything will work. For instance, using x264.exe in auto mode will cause problems at the muxing stage, because there's no differentiation between the video-only output and the final output (that's due in a next version where automatic encoding will be moved to a separate dialog).
commandline editing and updating is currently also not in its final form.. same goes for the default audio track selection in the settings, audio track assignments in the muxer and probably a lot more.
berrinam
12th June 2005, 23:22
Is it just me, or is the version you posted v0.1914?
LigH
12th June 2005, 23:43
At first I thought we had a newer version already; then I realised:
0.1915 < 0.193 ;)
JoeBG
13th June 2005, 16:53
@ doom9
Version 0.139a really rocks :)
dinolib2
13th June 2005, 19:41
here my 1 cent: in avisynth script creator, checking and then unchecking Denterlacer check box raise a run-time error...
************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
at MeGUI.AviSynthWindow.setIVTC(Boolean enable)
(...)
Doom9
13th June 2005, 21:26
@dinolib2: it's going to be a while until I can even look at that.. right now I have a couple 100 errors compiling... the GUI restructuring is done, but I might change a couple more things (move logfile to codec config dialog.. full zone support for all codecs with a visual zone setter, etc). All that influences the new classes I'm currently working on.
However, all the parts I mentioned earlier today can be safely edited if somebody wants to help out. And another thing comes to mind.. a chapter creator (North101 posted a design study a bit earlier in this thread).. make it a separate dialog that interacts with an avisynth preview window.
Maximus_G
14th June 2005, 03:38
When i'm trying to use the checkbox
"I8x8 High Profile",
i get mencoder error
"Option x264encopts: Unknown suboption i8x8mv".
Also, it the mencoder-mode, it's impossible to use 2 or more threads.
And when in x264.exe-mode - everything works fine, i.e. I8x8High, 2 and more threads. But this mode is unusable since MeGUI doesn't see, for example, that x264.exe has finished 1-st pass and it's the time to start 2-nd pass.
What should i do in order to use mencoder with I8x8High and multiple threads?
Or make x264.exe-mode usable?
celtic_druid
14th June 2005, 03:51
It should be just i8x8. As for threads. Perhaps you use a build that doesn't have threads enabled?
Maximus_G
14th June 2005, 06:02
It should be just i8x8.
So MeGUI passes to mencoder an incorrect parameter?
"C:\temp\mp4\050614\mplayer2005.06.09.P3\mencoder.exe" "C:\temp\mp4\test\!test.avs" -ovc x264 -x264encopts bitrate=700:4x4mv:i8x8mv:me=1:threads=2 -o "C:\temp\mp4\test\b.264" -of rawvideo
As for threads thing - i'm using:
* mplayer2005.06.09.P3
* pthreadGC2.dll (mencoder won't work without it)
* X264CLI_rev261_mmx
* MeGUI-0.1915.
It starts encoding well, mencoder.exe uses about 90% of dual-CPU time, then at about 800-900 frames encoded, MeGUI.exe utilises ~100% CPU time, and the process stops.
Maybe i'm using not fully compatible builds of software?
For example, is there's a difference between "x264.revision260" and "X264CLI_rev260_mmx", and if so - what would be better with the mencoder+MeGUI?
celtic_druid
14th June 2005, 06:09
x246 threads were enabled for that build. Why do you want 2 threads on a P3 anyway?
Maximus_G
14th June 2005, 06:52
x246 threads were enabled for that build. Why do you want 2 threads on a P3 anyway?
As a readme nowhere seen, I was thinking a "P3" build means no special optimisations, though it still uses sse2 on a P4, and multithreading on a multi-CPU server platforms.
After trying "mplayer2005.06.09.P4" i see this build really working with multithreading, thank you.
So, just one question left:
Does MeGUI really use the wrong parameter "i8x8mv" which really should be "i8x8"?
yokem55
14th June 2005, 19:49
Also any idea why mencoder doesn't recognize SSE/SSE2 in my Athlon64? Maybe you need a different operating system :sly: . Under 64-bit Gentoo:
$ mencoder
MEncoder dev-CVS-050606-21:29-3.4.4 (C) 2000-2005 MPlayer Team
CPU: Advanced Micro Devices (Family: 8, Stepping: 0)
Detected cache-line size is 64 bytes
CPUflags: Type: 8 MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 1
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE SSE2
85 audio & 199 video codecs
File not found: 'frameno.avi'
Failed to open frameno.avi
No file given
Exiting... (error parsing cmdline)
Granted, encoding under Linux can be a ROYAL PITA (64-bit even more so at times) there are certain fringe benefits.
dude051
15th June 2005, 05:23
On my earlier problem, it was just a borked AVI Decompressor... thanx tho :o
One small thing , since version 1913 I have not been able to set the quantizer for 2pass 1stpass using AVC encoding. The setting is avaliable in 3pass 1stpass though. Any reason to this, or is this just a GUI error?
Also, i encountered an error when setting the jobs list. I set some encodes, 2 passes each queued for two episodes totalling 6 queues. I then deleted the first 4 jobs so the new numbers in the job list starting at 5 and 6. I then closed MeGUI to restart the computer, and reopend MeGUI and made new queues in the job list... their numbers starting at 1 and 2. Now lies the error, when i started the encoding of the job list, MeGUI sets not only the job its working on (which was job 5 from the old list) but jobs 1 and 2 to "processing". This then caused MeGUI to skip jobs 1 and 2 and go on to jobs 3+. If I didnt explain that well... heres what I mean in a more graphical-MeGUI way:
job5(existing job from previous list, processed and finished)
job6(existing job from previous list, processed and finished)
job1(set to "processing" and not finished when list was started)
job2(set to "processing" and not finished when list was started)
job3(processed and finished)
job4(processed and finished)
job7(processed and finished)
job8(processed and finished)
This seems an internal error in the GUI, but I'll ask for an option to maybe reset the status of existing job queues, much like in VDub. Also where I can set jobs to pause so they aren't processed, ect. Maybe some future features.
Maximus_G
15th June 2005, 07:49
Does MeGUI really use the wrong parameter "i8x8mv" which really should be "i8x8"?
Yes it does.. sorry about that. So before encoding, close MeGUI, open the xml files in question and edit the commandline, save them, restart MeGUI and start the jobs in the queue.
OK, that didn't work in automated mode. I guess MeGUI changes all the command-line values again, after recalculating target bitrate, for example.
And it can be seen in the attached log-file. After manual editing and program restart, job 1-2 goes well. When it's time for the 2-nd pass, that "i8x8mv" shows up again.
So, i'm looking forward to a new MeGUI build :)
BTW, is that normal statistics?
"x264 [info]: ... I8x8:0.0% ..."
Doom9
15th June 2005, 07:56
One small thing , since version 1913 I have not been able to set the quantizer for 2pass 1stpass using AVC encoding. The setting is avaliable in 3pass 1stpass though. Any reason to this, or is this just a GUI error?Since first pass is now ABR, you shouldn't be able to specify a quantizer anymore. Apparently I forgot to change that for 3 pass mode.
This seems an internal error in the GUI, but I'll ask for an option to maybe reset the status of existing job queues, much like in VDub. Also where I can set jobs to pause so they aren't processed, ect. Maybe some future features.You can do that.. double click on a job.. a double click sets an errored/aborted job back to waiting, and a waiting job to postponed (meaning it won't be processed if you start the queue).
However, I'm not sure I get your scenario right. Could you elaborate the exact process without leaving any details out (basically I'm asking you to redo all the steps and explain in great detail what you did.. this also serves to make sure we're not dealing with a glitch and I need to redo this at home.. I'm afraid since I cannot follow your description at this point I'm unable to reproduce the behavior)).. and use as little jobs as possible (makes my life reproducing a lot easier).
But I'll try to put what you wrote in my own words.. you tell me if it's correct.
You set up job1: 2 pass 1st pass, job2: 2 pass 2nd pass, job3: 2 pass first pass, job 4: 2 pass second pass, job5: 2 pass first pass, job6: 2 pass second pass.
(why not use automated 2 pass by the way?)
Then you delete jobs 1-4 and exit.
When you restart, you have 2 jobs in the queue: job5 and job6 (in that order). You then add another 2 pass first pass (job1), and a 2 pass second pass (job2), another 2 pass first pass (job3), another 2 pass second pass (job4), another 2pass 1st pass (job7) and another 2 pass 2nd pass (job8).
Then you go to the queue tab and hit Start.
Job5 & 6 are encoded properly. Job1 is started (do you get a progress window?, does it disappear again? what is entered into the log?), then Job2 is started (same set of questions), then Job3 is started and encoded, and so on. Or, were job1&2 immediately set to processing when you pressed start?
Can you reproduce this behavior using a smaller number of jobs (like add two, delete the first, exit, start again, add a new job, start encoding and see if both get encoded.. or if not, at which point the second one (in the queue, it'll be named job-1) is set to status processing. Also, does the progress window disappear? What status is the GUI in? Is the first button in the queue labelled start or stop? Can you add another job and encode it successfully after a job was incorrectly marked as processing?
Doom9
17th June 2005, 10:42
@Maximus_G: still waiting for an answer...
btw, there's another mencoder parameter bug when using x264.. i4x4.. I used i4x4mv. Both are fixed in the upcoming new version (due Saturday). The AviSynth script creator problem dinolib2 has reported is also fixed as well as some other not really nice things in that part of the program.
Naturally, the next version will support all new developments made in x264 (it already does, I'm creating clips with RDO like crazy), and it'll be much more userfriendly than before.
JoeBG
17th June 2005, 13:11
@Maximus_G: still waiting for an answer...
Naturally, the next version will support all new developments made in x264 (it already does, I'm creating clips with RDO like crazy), and it'll be much more userfriendly than before.
Canīt wait to test RDO :)
JoeBG
18th June 2005, 07:39
Canīt wait to test RDO :)
Testet it with cli version for 2 clips - I think itīs very useful :)
@ doom9
Please tell me when the gui is optikal ready. Than I can begin with the manual. MeGui really is the best freeware solution of mp4 and in the moment it kicks ass to every payware :)
Doom9
18th June 2005, 16:25
Please tell me when the gui is optikal ready.I'm working really hard on it. Right now I'm testing auto-mode, then I have to make sure that adding additional streams and assigning languages in auto mode works (it works when muxing separately). After that it should be ready.
BTW, you can already use the lossless mode (always could), since MeGUI doesn't restrict the number range you can put into the quantizer field.
Doom9
18th June 2005, 18:05
Alright, the next version is out. I've opened a new thread because this one is way too long.
Go here for any further discussion: http://forum.doom9.org/showthread.php?p=674495#post674495
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.