Hi, I have recently encoded some mkv movies to Xvid. To do this I have been using mkvextract to extract the streams for video and audio and then appropriately converting them. Here is my process. Video (the problem) For the video I take the .h264 file that is extracted and I use an AVISynth script to open it in VirtualDub 1.9.0. This script says: Code: DirectShowSource("movie_Track1.h264", audio = false, fps=23.976) In VirtualDub I tweak the size of the picture, and other filters as needed. Then I set up two pass encoding to Xvid. Audio If DTS, I transcode it to AC3 with MeGUI and mux it into an AVI with VirtualDubMod. If AC3 I just mux it directly into the file. Problem This process used to work, but now when I open the AVISynth script in VirtualDub it gives me an error saying it can't open the file unsupported format. I don't know why it started doing this. Picture of error: Programs Decoding: ffmpeg Encoding: - VirtualDub - Xvid 1.2.0 VfW codec - MeGUI - ffmpeg Thanks for your help in advance,
Thanks, That works Is there anyway I can do a direct stream copy of the x264 video as well? Or is this feet not possible with x264?
Direct Stream copy in VirtualDub? - VirtualDub only saves as AVI. Best support for Avisynth is Doom9 http://forum.doom9.org/forumdisplay.php?f=33
I'm meaning like using VirtualDubMod and directly copying the x264 stream in to an AVI from the mkv, etc. I can do it with Xvid. Maybe I'm thinking about this all wrong.
If it's served to VirtualDub by Avisynth, it's now decompressed video. If you don't select a compressor (XviD, DivX, etc) and save as Direct Stream Copy, the output file will be a huge uncompressed video.
Ya, thats what I'm trying to avoid. I guess the only way is to use AVIMux or something of the likes. Question then: Why can I do a direct stream copy of Xvid but not others?
I'm not exactly sure what you mean - but you can load an XviD or DivX file into VirtualDub and as long as you don't have to use a video filter, then the video can be saved as Direct Stream Copy. This is my understanding inasmuch as non DivX/XviD files are concerned: You can't Direct Stream Copy video that uses a codec like h264 - because you can't load an h264 file except by using Avisynth and now it's an uncompressed video file (not h264 anymore) VirtualDub has plugins for some non-avi formats like mpeg2 and flv;they can be brought in without using Avisynth - but they still have to leave in an AVI container using a VFW codec (the only ones the VirtualDub will use). Now that it's in VirtualDub (uncompressed) it has to be compressed and placed in an avi container and since VirtualDub only uses VFW codecs, it has to be DivX or XviD (or one of the others listed and h264 is not a VFW codec).
THanks for the info, that was what I gathered from playing with it. The odd thing is I have a VfW codec of x264 that VirtualDub recognizes in the compression window. Maybe this is a one way codec? Oh well, its working
I wasn't aware there was one. If you have a VFW 264 codec then certainly, if you load an AVI file which used that codec - you will be able to save with Direct Stream Copy - as long as no filtering was used. In the cases we were referring to, VirtualDub wasn't opening AVI files - the file had to be served to Virtualdub by Avisynth because it wasn't in an AVI container - or there was no plugin for that container that Virtualdub could use to load it directly. Now that it's in Virtualdub, you can recompress it with the 264 VFW codec - but of course that isn't Direct stream Copy and it has to leave as AVI. All my remarks refer to VirtualDub - VirtualDubMod is another case and I haven't used it much or kept up with developments for it.
I tried using AVISource for my .h264 file instead of DirectShowSouce and it gave me a similar error so I'm guessing my x264 VfW codec can't open up AVC sources (in this case the video was originally encoded with x264)
Hello all, there's one thing I found out about recently, virtualdub has an experimental dshow plugin. This is one way you can open avi with avc video directly. http://www.virtualdub.org/beta/DShowInputDriver-0.5.zip Place the DShowInputDriver.vdplugin in the plugins32 directory.