| Printable Version of Topic
Click here to view this topic in its original format |
| Unofficial VirtualDub Support Forums > Newbie Questions > Xvid Editing Ptoblems |
| Posted by: Crock Jan 7 2008, 09:00 AM |
| Hi, I'm recording some files directly from TV onto a media drive. The drive stores these as Xvid files. When I edit out frames from the start of the file then although the file plays OK with my player, if I try to load it back into Vdub then I can't get any video to show, only black frames. If I edit out frames from elsewhere in the file, I don't get this problem, it loads back into Vdub fine! Has anybody else had this problem trying to cut the first frames? |
| Posted by: phaeron Jan 7 2008, 08:13 PM |
| In some modes, XviD stores essential information in the first frame of the video stream and requires that information to decode the rest properly. This violates AVI key frame rules, but because VirtualDub doesn't know about it it'll happily let you strip the first frame and the result is a file that won't play. When this is true, you will have to preserve the first frame in order for direct streamed output to work. |
| Posted by: squid_80 Jan 9 2008, 02:24 PM |
| You could try running the file through mpeg4modifier before doing any cutting. It should be able to save a new avi with the essential information that Phaeron mentioned stored at every keyframe instead of just the first frame. Then you should be able to cut this new file as normal. (Xvid had the XVID_GLOBAL_VOL_AT_IVOP flag removed sometime around version 1.0, a shame in my opinion because it makes outputting to matroska a pain in the ass. Why couldn't the VOL live at the end of the AVI stream format, didn't divx & co. ever look at how huffyuv works? /rant) |
| Posted by: phaeron Jan 10 2008, 02:46 AM |
| Matroska doesn't allow first-frame-only either? I would have thought it would be more flexible in this regard. |
| Posted by: squid_80 Jan 10 2008, 03:36 AM |
| Whoops. What I should have said: "Xvid had the XVID_GLOBAL_VOL_AT_IVOP flag removed and now enforces the option, so VOL is always written out with every I frame." For MPEG4ASP Matroska stores the VOL in codecprivate and doesn't want it anywhere else. So it has to be stripped off every time the encoder spits out an I-VOP. |