Log in

View Full Version : Transmux Xvid in AVI to MKV (N-Vops problem)


UED77
30th April 2010, 06:23
Fellow Doom9-ers,

An old DVD-rip of mine from the Gordian Knot era is encoded by Xvid and it's currently in an AVI container.

I've been wanting to transmux it to MKV for the longest time, but every time I do it, mkvmerge stores the video stream as as "V_MS/VFW/FOURCC", instead of the native "V_MPEG4/ISO/ASP". The Matroska specs say the latter is for: stream was created via improved codec API (UCI) or transmuxed from MP4, not simply transmuxed from AVI! Note there are differences how b-frames are handled in these native streams, when being compared to a VfW created stream, as here there are no dummy frames inserted, the frame order is exactly the same as the coding order, same as in MP4 streams!

I tried Yamb (essentially mp4box) to first demux the raw video stream, and mux that into an MP4 with the option "remove N-Vops", but mkvmerge still wants to store the video as VFW. I can re-rip the DVD, but this has been frustrating me for quite a while now; is there a way to modify the existing Xvid stream with its N-Vops and make it so that it can be muxed as V_MPEG4/ISO/ASP into MKV or natively into MP4?

sneaker_ger
30th April 2010, 09:22
If you add "--engage native_mpeg4" in mkvmerge it will be muxed as "V_MPEG4/ISO/ASP" into Matroska. But there's an error in mkvmerge that will mess up the timecodes on N-VOPs. (Only on "real" N-VOPs, not the ones you find in packed bitstreams as [PB] [N]). Load your file in MPEG4Modifier and click "video info". It will tell you the number of "real" N-VOPs, if the number is "0" you're good to go, otherwise you will have to manually correct the timecodes after muxing yourself.