H.264 to Xvid issue

Discussion in 'DivX / XviD' started by neronut, Feb 1, 2009.

  1. neronut

    neronut Regular member

    Joined:
    Aug 18, 2005
    Messages:
    131
    Likes Received:
    0
    Trophy Points:
    26
    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:
    [​IMG]

    Programs
    Decoding: ffmpeg
    Encoding:
    - VirtualDub
    - Xvid 1.2.0 VfW codec
    - MeGUI
    - ffmpeg


    Thanks for your help in advance,
     
  2. attar

    attar Senior member

    Joined:
    Jun 17, 2005
    Messages:
    11,147
    Likes Received:
    41
    Trophy Points:
    128
    How about:

    DirectShowSource("movie.mkv", audio = false, fps=23.976)
     
  3. neronut

    neronut Regular member

    Joined:
    Aug 18, 2005
    Messages:
    131
    Likes Received:
    0
    Trophy Points:
    26
    Thanks, That works :D

    Is there anyway I can do a direct stream copy of the x264 video as well? Or is this feet not possible with x264?
     
  4. attar

    attar Senior member

    Joined:
    Jun 17, 2005
    Messages:
    11,147
    Likes Received:
    41
    Trophy Points:
    128
  5. neronut

    neronut Regular member

    Joined:
    Aug 18, 2005
    Messages:
    131
    Likes Received:
    0
    Trophy Points:
    26
    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.
     
  6. attar

    attar Senior member

    Joined:
    Jun 17, 2005
    Messages:
    11,147
    Likes Received:
    41
    Trophy Points:
    128
    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.
     
  7. neronut

    neronut Regular member

    Joined:
    Aug 18, 2005
    Messages:
    131
    Likes Received:
    0
    Trophy Points:
    26
    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?
     
  8. attar

    attar Senior member

    Joined:
    Jun 17, 2005
    Messages:
    11,147
    Likes Received:
    41
    Trophy Points:
    128
    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).
     
  9. neronut

    neronut Regular member

    Joined:
    Aug 18, 2005
    Messages:
    131
    Likes Received:
    0
    Trophy Points:
    26
    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 :)
     
  10. attar

    attar Senior member

    Joined:
    Jun 17, 2005
    Messages:
    11,147
    Likes Received:
    41
    Trophy Points:
    128
    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.
     
  11. neronut

    neronut Regular member

    Joined:
    Aug 18, 2005
    Messages:
    131
    Likes Received:
    0
    Trophy Points:
    26
    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)
     
  12. davexnet

    davexnet Active member

    Joined:
    Jul 7, 2003
    Messages:
    1,856
    Likes Received:
    0
    Trophy Points:
    66
    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.
     

Share This Page