Log in

View Full Version : Reading in h264 encoded MOV files with AviSynth?


pinkshiro
29th April 2010, 11:22
Okay, this one is driving me nuts.

I am trying to read a h264 encoded MOV file into AviSynth, and really having no luck. I have spent a long time searching through past forum posts, and I am aware there are a lot of threads on this - so apologies for a repeating thread. Hope someone is able to help.

I have tried two options:


Video7 = DirectShowSource("stjohn/endvideo.mov")

Video7

This avisynth script successfully executes, but the outputted video is the correct length, but only plays the first frame of the video.

I have tried outputting with no compression encoding, and once with a x264 codec, set inside a VCF file. Both generate the same results, mentioned above.


LoadVFAPIPlugin("QTReader.vfp", "QTReader")
Video7 = QTReader("stjohn/endvideo.mov")

Video7

This generates an upside down video with shocking stuttering quality.

What can I do to successfully insert this MOV h264 movie? Please find some associated screenshots below:

VFW configuration screen for ffdshow see below:

http://www.flipsidedesign.co.nz/images/ffdshow-vfw.jpg

Gspot of the original file I am trying to input

http://www.flipsidedesign.co.nz/images/gspot-mov.jpg

Gspot of the outputted file

http://www.flipsidedesign.co.nz/images/gspot-raw.jpg

Can anyone help?

hanfrunz
29th April 2010, 11:31
Try tateu's QTinput (http://forum.doom9.org/showthread.php?t=143308).
latest alpha version: http://www.tateu.net/software/dl.php?f=QTSource_Alpha

pinkshiro
29th April 2010, 11:48
Thanks hanfrunz! That's fantastic. I looked in the wiki and didn't make the connection that QTInput required an external plugin!

That works like a charm.

Now instead of making a new thread, i'll quickly ask another question - if someone can help?

Now I have the MOV inserted, im trying to disolve a it onto the end of a series of dissolved static image, like so:

Video1=ImageSource("stjohn/1.jpg", end = 104, use_DevIL=false)
Video2=ImageSource("stjohn/2.jpg", end = 116, use_DevIL=false)
Video3=ImageSource("stjohn/3.jpg", end = 116, use_DevIL=false)
Video4=ImageSource("stjohn/4.jpg", end = 116, use_DevIL=false)
Video5=ImageSource("stjohn/5.jpg", end = 116, use_DevIL=false)
Video6=ImageSource("stjohn/6.jpg", end = 116, use_DevIL=false)

Video7 = QTInput("stjohn/endvideo.mov")

Video8 = Dissolve(Video1, Video2, Video3, Video4, Video5, Video6, 12)
Video9 = Dissolve(Video8, Video7, 12)
Video9

But to that I get the following error:

Dissolve: video formats don't match

is there a way to make this work?

Gavino
29th April 2010, 13:13
You need to make Video8 and Video7 have the same colorspace before joining them, probably by adding
Video7 = Video7.ConvertToRGB24()

pinkshiro
29th April 2010, 21:19
Ah, thank you Gavino, big help