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

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

 

Go Back   Doom9's Forum > Video Encoding > MPEG-4 Encoder GUIs
Register FAQ Calendar Today's Posts Search

Closed Thread
 
Thread Tools Search this Thread Display Modes
Old 17th December 2005, 23:53   #921  |  Link
Doom9
clueless n00b
 
Join Date: Oct 2001
Location: somewhere over the rainbow
Posts: 10,579
@: let me recapitulate your videos and screenshots:

line contains "Pos: 0.8s 10f (0%) 0.00fps Trem: 0min 0mb A-V:0.000[0:0]
the IOException happens in the line "line = sr.ReadLine();" with counter being set to 9.

And MeGui crashes at the line "su.FPS = this.getFPS(line);

Is that correct? What is the content of line when megui crashes and can you step into the getFPS method to find the exact location, and the important variables in that method?

The warnings are just from .Net 2.0.. just shows some of the differences to the 1.1 runtime but they are nothing to be worried about.

Also, can you try commenting out all the code inside the "if (line != null)" and see if you can get past the 10th frame?

also try wrapping all the code inside "(while !proc.HasExited)"
in a try {}

and add the following catch:

catch (Exception e)
{
log.Append("exception in mencoderEncoding: " + e.Message);
}

And just to make sure nothing goes haywire on your system, can you try encoding via x264.exe for a change just to see if that works out properly? or try audio encoding
__________________
For the web's most comprehensive collection of DVD backup guides go to www.doom9.org
Doom9 is offline  
Old 18th December 2005, 12:13   #922  |  Link
klicker4546
Registered User
 
Join Date: Sep 2005
Location: Germany
Posts: 68
Yes, you're right. I stepped in to the method again and made another screen capture vid, which shows the value of the variable before it crashes. After the program exits. I can't see it's value. Maybe I should set here a breakpoint?

Quote:
Originally Posted by Doom9
@: let me recapitulate your videos and screenshots:

line contains "Pos: 0.8s 10f (0%) 0.00fps Trem: 0min 0mb A-V:0.000[0:0]
the IOException happens in the line "line = sr.ReadLine();" with counter being set to 9.

And MeGui crashes at the line "su.FPS = this.getFPS(line);

Is that correct? What is the content of line when megui crashes and can you step into the getFPS method to find the exact location, and the important variables in that method?
Ok, so I take it that I can just ignore those messages then.

I've tried to go along with your suggested debugging instructions. But it seems way to complex to me. I've just started programming (VB .Net) and C# looks way strange to me.

I had an idea though. I'm running VM Workstation. I could set up a working environment, where someone could go ahead with the debugging on my computer as it seems that I am not able to go ahead.

It's the point that I'm not aware where for example the method "(while !proc.HasExited)" starts and ends. Where to insert the try{} and the catch.
Quote:
Originally Posted by Doom9
The warnings are just from .Net 2.0.. just shows some of the differences to the 1.1 runtime but they are nothing to be worried about.

Also, can you try commenting out all the code inside the "if (line != null)" and see if you can get past the 10th frame?

also try wrapping all the code inside "(while !proc.HasExited)"
in a try {}

and add the following catch:

catch (Exception e)
{
log.Append("exception in mencoderEncoding: " + e.Message);
}

And just to make sure nothing goes haywire on your system, can you try encoding via x264.exe for a change just to see if that works out properly? or try audio encoding
klicker4546 is offline  
Old 18th December 2005, 12:20   #923  |  Link
Doom9
clueless n00b
 
Join Date: Oct 2001
Location: somewhere over the rainbow
Posts: 10,579
alright, I'm attaching a zip file containing two source files.. just plug them into your source directory, compile and run and see what you get. I suspect there will still be problems so try debugging again. Once counter is equal to 9, step through everything pressing F11.. that will jump into every other method that is being called as well. Then please give me the exact line you were on before you pressed F11 and an exception was catched. And if the program still crashes, the same for the crash please (which line are you on before pressing F11 caused the crash).
__________________
For the web's most comprehensive collection of DVD backup guides go to www.doom9.org
Doom9 is offline  
Old 18th December 2005, 15:59   #924  |  Link
Sharktooth
Mr. Sandman
 
Sharktooth's Avatar
 
Join Date: Sep 2003
Location: Haddonfield, IL
Posts: 11,768
uhm. well, i'll add the winamp AAC+ encoder support (thru besweet+bsn) and will update the nero encoder support.
Sharktooth is offline  
Old 18th December 2005, 17:44   #925  |  Link
klicker4546
Registered User
 
Join Date: Sep 2005
Location: Germany
Posts: 68
Ok, thanks again for your help. This this will make it a little easier for me.

I'll let you know what happened.

Quote:
Originally Posted by Doom9
alright, I'm attaching a zip file containing two source files.. just plug them into your source directory, compile and run and see what you get. I suspect there will still be problems so try debugging again. Once counter is equal to 9, step through everything pressing F11.. that will jump into every other method that is being called as well. Then please give me the exact line you were on before you pressed F11 and an exception was catched. And if the program still crashes, the same for the crash please (which line are you on before pressing F11 caused the crash).
klicker4546 is offline  
Old 18th December 2005, 17:55   #926  |  Link
molitar
Registered User
 
Join Date: Jul 2003
Posts: 179
Question on mencoder I have a AMD 64bit processor but running 32bit windows should I install the xp or the 64bit version? In other words is it based on the operating system or the processor?
molitar is offline  
Old 18th December 2005, 17:57   #927  |  Link
Doom9
clueless n00b
 
Join Date: Oct 2001
Location: somewhere over the rainbow
Posts: 10,579
@molitar: mplayer2005.11.23.Athlon-64.7z = a 32 bit build for the athlon64.. basically it's an sse3 build.. but it really doesn't seem to matter which build you take.. you can make your own speed tests if you like to verify that.
__________________
For the web's most comprehensive collection of DVD backup guides go to www.doom9.org
Doom9 is offline  
Old 18th December 2005, 19:11   #928  |  Link
molitar
Registered User
 
Join Date: Jul 2003
Posts: 179
Ok I got all the components but one suggestion it took me a while to figure out where the full megui was. Was looking for a link for it throughout the thread.. I would suggest where you have the link to download the x264 CLI that you add (includes megui).

Last edited by molitar; 18th December 2005 at 19:19.
molitar is offline  
Old 18th December 2005, 19:27   #929  |  Link
Doom9
clueless n00b
 
Join Date: Oct 2001
Location: somewhere over the rainbow
Posts: 10,579
the download link is in the first post. I'll add a bold "click here to download" on line4 of that post right after the program description and before the links to all the additional components you will need. I hope that'll be satisfactory. What sharktooth and bobor distribute is not under my control, though at least Sharktooth is going to include the full version in the future.
__________________
For the web's most comprehensive collection of DVD backup guides go to www.doom9.org
Doom9 is offline  
Old 18th December 2005, 19:44   #930  |  Link
molitar
Registered User
 
Join Date: Jul 2003
Posts: 179
I crashed using megui. Crash log below: I also noticed that the file requires haali media splitter to open it but when I go to queue it I have 4 haali media splitter tray icons don't know if that could be a part of it or not.

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.AVIReader.AVIFileRelease(Int32 pfile)
at MeGUI.AVIReader.Dispose(Boolean disposing)
at MeGUI.AVIReader.Close()
at MeGUI.VideoPlayer.OnClosing(CancelEventArgs e)
at System.Windows.Forms.Form.WmClose(Message& m)
at System.Windows.Forms.Form.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)
molitar is offline  
Old 18th December 2005, 19:51   #931  |  Link
klicker4546
Registered User
 
Join Date: Sep 2005
Location: Germany
Posts: 68
Ok, now. I build MeGui with your changes applied. The application did not crash anymore.

And I did a little more of debugging. The line before it throws the exception is

Code:
su.NbFramesDone = getFrameNumber(line);
The counter variable had a value of 10. I stepped once more with F11 and it threw an exception in line

Code:
public int NbFramesDone
		{
			get {return nbFramesDone;}
		--->	set {nbFramesDone = value;}
		}
Error message: - AudioPositionTicks 'this.AudioPositionTicks' threw an exception of type 'System.NullReferenceException' long {System.NullReferenceException}
- base {"Object reference not set to an instance of an object."} System.SystemException {System.NullReferenceException}
- base {"Object reference not set to an instance of an object."} System.Exception {System.NullReferenceException}
+ Data {System.Collections.ListDictionaryInternal} System.Collections.IDictionary {System.Collections.ListDictionaryInternal}
HelpLink null string
+ InnerException null System.Exception
Message "Object reference not set to an instance of an object." string
Source "MeGUI" string
StackTrace " at MeGUI.StatusUpdate.get_AudioPositionTicks() in D:\\megui_src\\StatusUpdate.cs:line 206" string
+ TargetSite {Int64 get_AudioPositionTicks()} System.Reflection.MethodBase {System.Reflection.RuntimeMethodInfo}
- Static members
- Non-Public members
_COMPlusExceptionCode -532459699 int

Quote:
Originally Posted by klicker4546
Ok, thanks again for your help. This this will make it a little easier for me.

I'll let you know what happened.
Hope it helps to trace the problem now!
klicker4546 is offline  
Old 18th December 2005, 21:04   #932  |  Link
Doom9
clueless n00b
 
Join Date: Oct 2001
Location: somewhere over the rainbow
Posts: 10,579
when you step into the method "getFrameNumber(line)", what does happen? If you press F11 when you're on line
Code:
su.NbFramesDone = getFrameNumber(line);
You'll go to line 494 where the method getFrameNumber starts.. what is the content of the variable
Code:
string frameNumber
inside that method? It should be 10, should it not?
And what's the value of nbFramesDone and value in
Code:
set {nbFramesDone = value;}
Perhaps you could just give me a link to the mencoder build you're using? Man I wished I would sit in front of that pc.. it's probably the most frustrating thing for any programmer.. while it doesn't always solve things, being able to get your hands on a debugger that shows the actual problem.. you just can't beat the bugfixing power of that.

Your exception location makes no sense though, you the only way the ProgressWindow accesses the variable AudioPositionTicks is when you have an audio status update. Are you really 101% sure you are looking at the right place? On line 222 in VideoEncoder.cs I declare StatusUpdate. On line 227 in the same file I set su.JobType to 0, meaning it's a video job, and that's not changed through event propagation or anywhere in the class itself.

So can you add additional breakpoints in StatusUpdate.cs on line 18 (
Code:
double div = (double) AudioPositionTicks / (double)AudioLengthTicks;
) and line 373 in ProgressWindow.cs (
Code:
if (su.JobType == 1) // audio status update
). If those are triggered, step through them until you get an exception. Note the line number of the exception, do the whole thing again, stop stepping one line before the exception and give me a list of the locals please (only local variables of ProgressWindow and StatusUpdate please).

Basically the exception you're reporting here makes no sense.. it looks like you're encoding video but the status update is for an audio job.. needless to say that this will never work.

Another perhaps easier attempt: put a breakpoint on line 272 in VideoEncoder.cs. Dump the contents of the variable su at that point.. that's the StatusUpdate object that gets propagated to the MeGUI and ProgressWindow class, and that's where the exception comes from ultimately. And do you ever get into the catch in VideoEncoder.cs on lines 285 and below?

@molitar: loaded assemblies are usually not info anybody needs, however, all steps taken from the loading of MeGUI until th exception.. that's information you should never leave out, even if it turns out not to be useful.. it's covering all the basics that make a good bug report.
__________________
For the web's most comprehensive collection of DVD backup guides go to www.doom9.org
Doom9 is offline  
Old 18th December 2005, 22:01   #933  |  Link
stax76
Registered User
 
stax76's Avatar
 
Join Date: Jun 2002
Location: On thin ice
Posts: 6,837
I'm not a debugging expert but for me the only thing that really works is to configure VS to break immediatelly even if the exception is handled, appears to have many advantages and on top of that some really weird things happened here until I configured VS like that. Of course sometimes a exception can be expected and this is not wanted but on such methods the DebuggerNonUserCodeAttribute can be applied so VS won't break.

Quote:
On the Debug menu, click Exceptions.

In the Exceptions dialog box, select Thrown for an entire category of exceptions, for example, Common Language Runtime Exceptions.
http://msdn2.microsoft.com/en-us/library/d14azbfh.aspx
stax76 is offline  
Old 19th December 2005, 03:24   #934  |  Link
klicker4546
Registered User
 
Join Date: Sep 2005
Location: Germany
Posts: 68
Oh man, do we ever get it resolved?

And I am absolutely sure that it was that line where the exception occurs. So far can see it! I'm not too familiar with debugging and just a beginner with programming in general.

Ok, I will try what you'd wanted me to try. I'll attach two vid-caps of the last debugging session to my next message.

Quote:
Originally Posted by Doom9
when you step into the method "getFrameNumber(line)", what does happen? If you press F11 when you're on line
Code:
su.NbFramesDone = getFrameNumber(line);
klicker4546 is offline  
Old 19th December 2005, 12:45   #935  |  Link
Doom9
clueless n00b
 
Join Date: Oct 2001
Location: somewhere over the rainbow
Posts: 10,579
Quote:
Oh man, do we ever get it resolved?
if there's a way for me to remote access your desktop then I think it would be rather easy. However, if you just gave me the link to your mencoder build, I could compile the latest code on my own to see if anything as funky happens. I'm almost certain su.JobType is equal to 1 on your box, no idea why it happens, but it would explain the exception you're getting.
__________________
For the web's most comprehensive collection of DVD backup guides go to www.doom9.org
Doom9 is offline  
Old 19th December 2005, 13:49   #936  |  Link
klicker4546
Registered User
 
Join Date: Sep 2005
Location: Germany
Posts: 68
Ok, I'll download vnc and setup remote access. It would really ease up the whole process. :-) Let me see what I can do. Ok, here's the link to the mencoder build I use.

Mencoder

Quote:
Originally Posted by Doom9
if there's a way for me to remote access your desktop then I think it would be rather easy. However, if you just gave me the link to your mencoder build, I could compile the latest code on my own to see if anything as funky happens. I'm almost certain su.JobType is equal to 1 on your box, no idea why it happens, but it would explain the exception you're getting.
klicker4546 is offline  
Old 19th December 2005, 14:40   #937  |  Link
Chris Benoit
Registered User
 
Join Date: Jun 2005
Posts: 122
IS there a way to import a bunch of avs files altoghether?Instead of opening the avs one by one and adding to the queue wouldn't it be better to open a bunch of them at the same time,so they will be queudd altogether?
Chris Benoit is offline  
Old 19th December 2005, 14:46   #938  |  Link
Doom9
clueless n00b
 
Join Date: Oct 2001
Location: somewhere over the rainbow
Posts: 10,579
well,it's a pretty big presumtion to assume every source would be encoded exactly the same way..
__________________
For the web's most comprehensive collection of DVD backup guides go to www.doom9.org
Doom9 is offline  
Old 19th December 2005, 15:12   #939  |  Link
klicker4546
Registered User
 
Join Date: Sep 2005
Location: Germany
Posts: 68
Hello doom9,

I have set up ultravnc. If you want you can do the debugging on my desktop.

I will send you the rc.key file for a secured connection if you like.

Do you have any instant messenger like ICQ or so?

Please let me know if you wanna go ahead with it.

Edit: I did a litlle more debugging. I am able to get to line 285 and further. So that an exception was catched. I attach a screenshot and a copy of the error message.
Attached Files
File Type: txt exception.txt (577 Bytes, 84 views)

Last edited by klicker4546; 19th December 2005 at 17:23.
klicker4546 is offline  
Old 19th December 2005, 15:13   #940  |  Link
Chris Benoit
Registered User
 
Join Date: Jun 2005
Posts: 122
Well what harm could it be for that option to exist?If someone doesn't need it he's not obligated to use it.

I on the other hand only need avc encoding for psp,and for every file i need to encode i use the psp profile,so it would save me a considerable amount of many if every time i could just open all avs files at once.

So what do you say?
Chris Benoit is offline  
Closed Thread


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

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

Forum Jump


All times are GMT +1. The time now is 22:08.


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