VideoHelp Forum




+ Reply to Thread
Page 1 of 2
1 2 LastLast
Results 1 to 30 of 36
  1. 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):
    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?"...)
    Thank you for your precious help.
    Have a nice day.
    Last edited by falco2000; 10th Feb 2013 at 07:32.
    Falco2000, video newbie.
    Let's everyone help each other.
    Quote Quote  
  2. Member
    Join Date
    Mar 2008
    Location
    United States
    Search Comp PM
    Not sure. Did you look at video/error mode?
    Quote Quote  
  3. Originally Posted by davexnet View Post
    Not sure. Did you look at video/error mode?
    The only selectable option of the three available is "Report all errors", the other ones are "ghosted"...

    I edited my first post if you'd like to have some more details...

    Thank you for your answer in the meanwhile.
    Falco2000, video newbie.
    Let's everyone help each other.
    Quote Quote  
  4. Member
    Join Date
    Dec 2005
    Location
    Canada
    Search Comp PM
    Try, Video > Preserve empty frames.
    Quote Quote  
  5. 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.
    Quote Quote  
  6. Originally Posted by falco2000 View Post
    how can I know if there are more of them in other points of the movie?
    You can't. At least not until you start encoding and get another error. You could try using a different VFW MPEG decoder, one that doesn't crap out when bad frames are encountered. Or use AviSynth to feed VirtualDub.
    Quote Quote  
  7. Lone soldier Cauptain's Avatar
    Join Date
    Jan 2006
    Location
    Brazil
    Search Comp PM
    Try VideoReDo.

    After install, open vídeo file and select Tools, Quick Stream Fix (Config like shot below):

    Click image for larger version

Name:	1SHrKSL.png
Views:	2721
Size:	33.7 KB
ID:	16191




    Claudio
    Quote Quote  
  8. 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.

    Originally Posted by Cauptain View Post
    Try VideoReDo
    Thank you Claudio, I know VideoRedo Quick Stream Fix, but it's not freeware.

    Originally Posted by jagabo View Post
    You could try using a different VFW MPEG decoder, one that doesn't crap out when bad frames are encountered. Or use AviSynth to feed VirtualDub.
    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.
    Quote Quote  
  9. Did you force the use of a specific input driver by using the "Files of Type" pulldown in the File Open dialog?
    Quote Quote  
  10. Originally Posted by jagabo View Post
    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.
    Quote Quote  
  11. Member
    Join Date
    Mar 2008
    Location
    United States
    Search Comp PM
    Select your input file first, then choose "files of type".
    Quote Quote  
  12. Member
    Join Date
    Dec 2005
    Location
    Canada
    Search Comp PM
    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
    Quote Quote  
  13. 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.
    Quote Quote  
  14. DECEASED
    Join Date
    Jun 2009
    Location
    Heaven
    Search Comp PM
    Originally Posted by sambat View Post
    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
    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.
    Quote Quote  
  15. Originally Posted by El Heggunte View Post
    Over here, that sample plays normally in VirtualDub 1.9.11 (with the help from the MPEG-2 input plugin, of course).
    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.
    Quote Quote  
  16. 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.
    Quote Quote  
  17. Originally Posted by davexnet View Post
    Select your input file first, then choose "files of type".
    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.
    Anyway, I totally agree with jagabo when he said

    Originally Posted by jagabo View Post
    DirectShow isn't frame accurate so editing in VirtualDub may be inconsistent.
    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.
    Quote Quote  
  18. Member
    Join Date
    Dec 2005
    Location
    Canada
    Search Comp PM
    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.
    Quote Quote  
  19. Originally Posted by falco2000 View Post
    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.
    That's a longstanding bug in VirtualDub. You can get around it by playing the filtered side instead (ie, File -> Play Filtered).

    Originally Posted by falco2000 View Post
    However, my problem seems to be the audio codec now... as I wrote in the previous #16 post...
    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.
    Quote Quote  
  20. Originally Posted by jagabo View Post
    You can get around it by playing the filtered side instead (ie, File -> Play Filtered).
    I can't hear any sound this way.

    Originally Posted by jagabo View Post
    In that case you need another ACM MP2 decoder.
    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...

    Originally Posted by jagabo View Post
    Or use another program (like Audacity with the ffmpeg source plugin) to convert the audio.
    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.
    Quote Quote  
  21. DECEASED
    Join Date
    Jun 2009
    Location
    Heaven
    Search Comp PM
    Originally Posted by falco2000 View Post
    Originally Posted by jagabo View Post
    In that case you need another ACM MP2 decoder.
    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...
    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.

    Originally Posted by jagabo View Post
    Or use another program (like Audacity with the ffmpeg source plugin) to convert the audio.
    Too long... It adds a step that I'd like to avoid... If I understood what you mean...
    If the source streams are broken, workarounds (if they exist) cannot be avoided.
    Image Attached Files
    Last edited by El Heggunte; 11th Feb 2013 at 15:12.
    Quote Quote  
  22. Member Budman1's Avatar
    Join Date
    Jul 2012
    Location
    NORTHWEST ILLINOIS, USA
    Search Comp PM
    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:
    Click image for larger version

Name:	ScreenHunter_466 Feb. 11 16.03.jpg
Views:	532
Size:	214.9 KB
ID:	16228 Error with Virtualdub decoding.

    Click image for larger version

Name:	ScreenHunter_467 Feb. 11 16.03.jpg
Views:	614
Size:	225.5 KB
ID:	16229AVS 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.
    Quote Quote  
  23. just curious why you chose to use vdub instead of handbrake ? to edit or use filters ? other reasons ?
    Quote Quote  
  24. Member vhelp's Avatar
    Join Date
    Mar 2001
    Location
    New York
    Search Comp PM
    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.
    Quote Quote  
  25. Originally Posted by poisondeathray View Post
    just curious why you chose to use vdub instead of handbrake ? to edit or use filters ? other reasons ?
    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.
    Quote Quote  
  26. 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.).
    Quote Quote  
  27. DECEASED
    Join Date
    Jun 2009
    Location
    Heaven
    Search Comp PM
    Just some nitpicks:

    Originally Posted by jagabo View Post
    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.
    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.).
    Quote Quote  
  28. Originally Posted by El Heggunte View Post
    Originally Posted by jagabo View Post
    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.
    Quote Quote  
  29. Originally Posted by jagabo View Post
    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)
    ... Virtualdub gives me this pop-up Avisynth error message when opening the ".avs" file:

    Avisynth open failure:
    Script error: Invalid arguments to function "fielddeinterlace"
    I also tried moving "fielddeinterlace" just after the "video=" row and before the "audio=" one, but it's the same.

    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)
    Same error.

    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.
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!