Log in

View Full Version : WMV container: extracting the video


nekostephan
11th August 2007, 20:34
That is a rather old issue, but still I surfed the net for like 3 months and found no solution suitable for myself.

I've got a video in WMV container. I managed to drag out audio with mplayer quite well, but can't extract the video without errors.

I tried VDub MPEG2 direct stream copy, mplayer and mencoder to lossless, graphedit, loading the file with directshowsource() and a few other tricks - in the end video does not sync with the audio.

I'm quite sure the problem is not with the audio. But as for the video I either get the wrong length or jerky output.

I watched mencoder encoding it and seen quite a lot of "frame skipped" and "duplicate" messages. And the file had a few different fps values in it its name before I renamed it.

If my case is too unclear, please tell me a way to get the video stream out without losing the quality.

foxyshadis
12th August 2007, 04:39
One popular method is using either gdsmux (from haali's splitter) or graphedit+matroska muxer ds filter. Another option is DirectShowSource("file",fps=...,convertfps=true).

The problem centers around something called VFR, where some frames last longer than others, while most muxers aren't set up to handle that at all. In particular, nothing I know of will insert the drop frames into avi that will allow it to work, but matroska muxers through DS will work okay. With the DSS call above, convertfps is vital, because it'll regenerate the last frame even when the source doesn't have another - this can then work in avi just fine.

There are other solutions out there, that can generate a timecode file from the original and apply it to properly sync an avi, like tc2cfr and tc2asc, if that's your intention.

nekostephan
12th August 2007, 13:28
Thanks, at the very least now I know what the problem is.

Graphedit refused to connect any wmv decoders to haali matroska muxer for some reason, although decoder connects to render filters and plays just fine.
Gsmux did mux the file, the result is no good.
DSS worked just fine, guess this will be enough for me for now.