Hello. I'm trying to use VirtualDub instead of Handbrake for my conversions from MPEG-2+MP2 to x264+MP3, but in my first video the conversion stops after at about 28 minutes with a pop-up message that says "incomplete frame". I started the conversion after that point and it keeps on regularly.
I discovered that the error pops up during a simple playback too.
So, instead of using a repairing tool, is there a way to tell VirtualDub to ignore the error and skip that frame? (both audio and video, obviously, to keep the synchronization). It's not so important to me a rare single frame in a 1 and a half hour long movie that I'll delete after having watched it.
Repairing takes additional time, so I'd like to avoid it in these cases.
EDIT: I forgot to say that I launched the "scan video stream for errors" function, but it gave me no relevant results: "0 frames masked (0 frames bad, 0 frames good but undecodable)". Maybe the problem is in the audio stream?
Please IGNORE what I previously wrote here in the quote (the error is NOT located near a cut):
Thank you for your precious help.Anyway, the error is located in a point where I cut some minutes off the original movie. As starting and ending markers for the cut I chose two frames without looking their kind (b/p/i). I suppose that this is the problem, and that setting markers in keyframes (i type, if I got it) should solve the issue, but leaving unwanted (ads) frames in that point. Is it correct? (in both cases I'd like to know the answer to the previous question: "can VirtualDub ignore this error?"...)
Have a nice day.![]()
+ Reply to Thread
Results 1 to 30 of 36
-
Last edited by falco2000; 10th Feb 2013 at 07:32.
Falco2000, video newbie.
Let's everyone help each other. -
Falco2000, video newbie.
Let's everyone help each other. -
I re-opened the original video, but the simple playback of that point gives the above mentioned pop-up error ("Incomplete frame"). And if I advance some frames forward, I discover that it's not a single frame but about ten incomplete frames. After the last the playback continues correctly.
"Preserve empty frames" doesn't change the situation.
I suppose that now I should try passing the movie through Projectx or Pvastrumento (I can only use freeware and these are the only ones that I know)...
Or I could manually cut those frames away in VirtualDub, but how can I know if there are more of them in other points of the movie?
P.S.: I played the original file in VLC, and it actually is damaged in that point. I think it's an error caused by the TV recorder. When played in VLC, the image "stops" for a while, then the movie continues with some "blocks" in the moving areas for about two seconds, and finally goes on correctly.Falco2000, video newbie.
Let's everyone help each other. -
-
-
I tried to repair the movie with PVAStrumento but the output is terrible... there are video and/or audio gaps almost every ten seconds.
I tried the same with ProjectX but it can't export to a format that I can open in VirtualDub, as far as I know.
Thank you Claudio, I know VideoRedo Quick Stream Fix, but it's not freeware.
I looked here, but there's only one MPEG decoder (fccHandler, the one that I'm using): http://forums.virtualdub.org/index.php?act=ST&f=7&t=15093
I tried installing FFmpeg Input Driver by raythe0n (FFInputDriver.vdplugin) and DirectShow by phaeron (DShowInputDriver.vdplugin) too, but VirtualDub doesn't open the movie if the fccHandler's decoder is not in the plug-ins folder, so I guess that the previous two don't work for MPEG-2 (or maybe I don't know how to make VirtualDub use them to open my movie).
Do you know where I could find a different VFW MPEG decoder elsewhere?Last edited by falco2000; 10th Feb 2013 at 10:32.
Falco2000, video newbie.
Let's everyone help each other. -
Did you force the use of a specific input driver by using the "Files of Type" pulldown in the File Open dialog?
-
Uh, I didn't know about this option. Good to know, thank you jagabo.
Unfortunately, forcing "FFmpeg Supported files" I immediately get "An exception occurred in module 'KERNELBASE'" message, while forcing the "DirectShow input driver" my ".mpg" file isn't shown at all inside its folder.
Falco2000, video newbie.
Let's everyone help each other. -
FWIW, here's a clip with the same symptoms when opened in VirtualDub.
It throws the error at around seven seconds - however when it's opened using the ffinput plugin it plays ok.
http://www.mediafire.com/download.php?iy4o5w65vtk53db -
Sambat, thanks for that sample. I've added it to my folder odds and ends. I wish you had included a few more GOPs past the error.
Using the MPEG 2 plugin for VirtualDub I get the same "incomplete frame" error message when previewing. But when using DgIndex to build an index, AviSynth to open the video with Mpeg2Source(), then opening the AviSynth script in VirtualDub I was able the preview the entire clip. Forcing the DirectShow input driver worked too but that will be dependent on what DirectShow components are installed on a system. And DirectShow isn't frame accurate so editing in VirtualDub may be inconsistent. -
Over here, that sample plays normally in VirtualDub 1.9.11 (with the help from the MPEG-2 input plugin, of course).
Anyway, several frames are terribly-distorted and nothing can "fix" them, SFAIK. -
I'm using the same version of VirtualDub (32 bit). The MPEG 2 source plugin I was using earlier was older (11/2010) but the most recent version has the same problem. VirtualDubMod (which has native MPEG 2 support) also has problems with the file.
-
I'm in a hurry now, so I'll post a reply later, but I'll tell you that I selected "no audio" in VirtualDub and playbacked the movie, and the error doesn't show up (though the picture in that point are messy).
This makes me conclude that the problem in my case is the audio decoder, not the MPEG2 decoder.
FYI, the movie is an MPEG-PS with MPEG-2 video and MP2 audio (according to MediaInfo).
I suppose that I should find a different MP2 audio decoder for VirtualDub, now, isn't it?Falco2000, video newbie.
Let's everyone help each other. -
Done, but the result is a pop-up error message when I try to play it back:
The decompression codec cannot decompress to an RGB format. This is very unusual. Check that any "Force YUY2" options are not enabled in the codec's properties.
As far as I know, only MPEG2.vdplugin parses the whole file and returns a decent synched movie.
However, my problem seems to be the audio codec now... as I wrote in the previous #16 post...
And by the way. I often read people demuxing, indipendently converting and remuxing audio and video streams when compressing movies (if I got it right). But what happens when the two streams have errors in different points? That is, how can the synchronization between audio and video be kept if I convert the two streams indipendently?Falco2000, video newbie.
Let's everyone help each other. -
The test clip that I posted in the link to can be opened in Audacity and the audio saved as a wav.
The wav can then be loaded in VirtualDub and saved with the video. -
That's a longstanding bug in VirtualDub. You can get around it by playing the filtered side instead (ie, File -> Play Filtered).
Yes, I've verified that is the problem I'm having with sambat's MPG file. If you disable the audio (Audio -> No Audio) the file plays all the way through in VirtualDub (with messed up frames as expected). In that case you need another ACM MP2 decoder. Or use another program (like Audacity with the ffmpeg source plugin) to convert the audio. -
I can't hear any sound this way.
You seem talking like there were thousands of other MP2 decoder for VirtualDub out there, is it so?I'll try Googling, because on the VideoHelp.com VirtualDub page and linked pages there isn't any MP2 decoder...
Too long... It adds a step that I'd like to avoid... If I understood what you mean...Falco2000, video newbie.
Let's everyone help each other. -
There exists an MP2 ACM codec from QDesign, BUT it's ancient and buggy
( which means, sooner or later it will start complaining about a "division by zero" or something).
For non-broken streams though, the built-in MP2 decoder of VirtualDub is all that one normally needs.
Last edited by El Heggunte; 11th Feb 2013 at 15:12.
-
I posted info on my website (http://Budmansite.com ) under Virtualdub -> Playing files with errors or missing codec problem. By using AVIsynth and loading an AVS file (Directshowsource("PathToVideo.mpg") the video will be loaded as raw data and will play past the error.
This assumes Media player will play the video or at least attempt to. Media player will play your test video so I used AVS file to load into Virtualdub and it plays all the way through as seen below:
Error with Virtualdub decoding.
AVS file loaded and played with directshowsource. No error past error point.
Just another method to try and since you are converting anyway, this shouldn't need an extra step, just an extra AVS file. -
i d/l the "IncFramepart.mpg" file and ran it through my favorite version, v1.6.15, and it choked on frame 213 (0:00:08.520) (P)
the error message said, "error decoding MPEG audio frame 459 (0:11): incomplete frame"
so, i'm not sure if its audio or video related. however, when i used a favorite technique of mine, to remux/package into a new mpeg through ffmpeg, here were the results:
ffmpeg.exe -i "f:\IncFramepart.mpg" -vcodec copy -y "d:\IncFramepart_ffmpeg.mpg"
the file played without any errors.
ffmpeg.exe -i "f:\IncFramepart.mpg" -vcodec copy -acodec copy -y "d:\IncFramepart_ffmpeg.mpg"
the file playback stopped at the same error and position--as posted above.
so i would suspect either it was due to faulty writing that mpeg container or just the way that segment was cut out, or the audio got screwed up somehow during the mpeg creation. either way, it seems that the cause is related to the audio. -
Mainly because of this: "Progressive loss of audiosync during conversion from MPEG-2 to MP4... why?"
Unfortunately, even on the Handbrake forum, I couldn't find a solution.
I chose VirtualDub because it parses the MPG file at first, so (AFAIK) the time codes are exact.
Before VirtualDub I tried using MPEG Streamclip and Avidemux (I wished to remove ads from the movie with an instant preview and buttons instead of scripting), but:
- MPEG Streamclip often showed wrong timecodes (I remember you that my sources are DVB-T recordings that - even if are correctly played by VLC and PotPlayer - have some errors in the streams)
- Avidemux returned an output movie with a (constant) audio delay not present in the original movie. Maybe I should give Avidemux a second chance
- Moreover, if my memory doesn't fail me, at that time I got much longer conversion times with any software compared to Handbrake.
Yesterday I also tried to parse the movie with VirtualDub, writing down the couples of frame numbers of each ad block and queued each movie block in Handbrake (thinking that at the end I'd have rejoined them together) in order to have the frame precision of VirtualDub MPEG-2 plugin and the conversion (even with "incomplete" or "broken" frames") of Handbrake but I soon stopped the process because for each movie block Handbrake (rightfully) parses all the previous frames, even if doesn't have to convert them. The total conversion time was therefore unusefully much longer.
Anyway, I know that some of you would rightfully say: "If you want a just-click-here-to-do-all-the-job program, just spend some money! Otherwise, RTFM!"
EDIT: Ok, I opened my movie in Avidemux and it indexed it. But what happened? If I play back different parts of the movie, I discover that, at 2:30 minutes there's already a 0.5 audio delay (audio is after the pictures). The delay progressively increases during the movie to finally become almost a 10 seconds delay at 1h57m00s.
I didn't even try a conversion, since the starting situation is actually "ridicolous"...
The thing that I can't understand is the reason why the same movie is played back correctly in VLC and PotPlayer...Last edited by falco2000; 12th Feb 2013 at 06:12.
Falco2000, video newbie.
Let's everyone help each other. -
I demuxed the audio to an MP2 file with DgIndex. VirtualDub wouldn't import the MP2 file, but I renamed it to MP3 (MP2 is a subset of MP3 so I thought I'd try it) and it worked! The imported audio played all the way to the end.
By the way, using DgIndex to build and index file, and Mpeg2Source() in an AviSynth script to open the index file, is the best way of accessing any MPEG video for editing in VirtualDub (or encoding with x264, etc.). -
Just some nitpicks:
Adding a WAV header with mpa2wav.exe is the "orthodox" way to do that.
Besides, MP2 is not a subset of MP3;
MP3 is a superset of MP1 and MP2.
By the way, using DgIndex to build and index file, and Mpeg2Source() in an AviSynth script to open the index file, is the best way of accessing any MPEG video for editing in VirtualDub (or encoding with x264, etc.). -
Excellent!
So I'll have to search and read some guide to learn how to use DgIndex, AviSynth and its Mpeg2Source function, and VirtualDub with them.
By the way, is there some article or thread you already know and would suggest for a newbie like me?Falco2000, video newbie.
Let's everyone help each other. -
Thanks a lot Jagabo
. I read the guide and created this simple script, but...
Code:LoadPlugin("C:\xyz\dgmpgdec158\DGDecode.dll") LoadPlugin("C:\xyz\Avisynth_Filters\decomb522_25_dll_20050904\Decomb.dll") LoadPlugin("C:\xyz\Avisynth_Filters\mpasource_20080220\mpasource.dll") video=MPEG2Source("C:\movies\mymovie.d2v") audio=MPASource("D:\movies\mymovie Tc0 L2 2ch 48 192 DELAY -22ms.mp2") fielddeinterlace() AudioDub(video,audio)
Avisynth open failure:
Script error: Invalid arguments to function "fielddeinterlace"
And even tried to make the parameters explicit this way:
Code:fielddeinterlace(full=true, threshold=20, dthreshold=7, blend=true, map=false, chroma=false, ovr="", show=false, debug=false)
What's wrong with that? I simply followed the guide script...(the simple way, not the one with the template).
In the meanwhile, I'm testing conversion without the fieldinterlace()...Falco2000, video newbie.
Let's everyone help each other.
Similar Threads
-
High Quality Capturing with Little Frame Loss in VirtualDub
By monsoon01 in forum User guidesReplies: 65Last Post: 18th May 2013, 22:33 -
Newbie questions about frame rate (also VirtualDub)
By wallywalters in forum Video ConversionReplies: 5Last Post: 29th Oct 2012, 09:16 -
Resizing(Frame Size) w/ VIRTUALDUB - PLEASE HELP!!!
By MDrumm in forum EditingReplies: 8Last Post: 17th Jan 2011, 02:12 -
How do I remove a bad frame from a video without VirtualDub or DivFix?
By teapot in forum Newbie / General discussionsReplies: 7Last Post: 11th Dec 2008, 19:07 -
How to Paste Insert frames from Virtualdub (Snapshot source frame) ?
By Bilskate in forum EditingReplies: 1Last Post: 18th Aug 2008, 15:21