Hey everybody, I'm new here and new to video stuff. Hope I don't make you face palm with stupid questions. Here goes...
I've got a bunch of SD (480i) video game recordings I'm trying to upscale to 720p. Had pretty good success with VirtualDub and yadif. Looks ok-ish. Found Avisynth and QTGMC and am super happy with my results. The issue I'm having is, so far, limited to one game. All the other game recordings I've run through my script have turned out great. Here's an example, watch it in HD: http://www.youtube.com/watch?v=RfaLpzB6Vxk&list=UUfli8YwLYh3P-KkHdTRdQSw&index=2&feature=plcp. That's COD Black Ops if anybody didn't guess and it looks pretty good to me. I try the same script with a recording of BF3, using the exact same hardware/software setup, and it looks good but stutters during playback. Here's what I'm working with:
- Original video file: https://docs.google.com/open?id=0B48ykO3DrIFpdVk1ZU9EdFVKd28
- Example after being run through Avisynth script: https://docs.google.com/open?id=0B48ykO3DrIFpcVZFeFA5NFJpQVU
You can see the playback is pretty smooth most of the time. During high speed motion it stutters, like when I do quick looks back and forth.
I've tried calling QTGMC several different ways and the best results I've gotten are with this script:
I would love to keep using QTGMC for my video upscaling, but if I can't figure out this stutter issue I won't be able to. The visual quality difference between yadif and QTGMC is just so dramatic.Code:AVISource("path to raw.avi") ConvertToYV12(interlaced=true) QTGMC(Preset="Slow", FPSDivisor=1, ShutterBlur=1, ShutterAngleSrc=0, ShutterAngleOut=720) Crop(30, 20, -58, -20) Lanczos4Resize(1280, 720)
Note: raw.avi is encoded with lagarith... so you will need that.
+ Reply to Thread
Results 1 to 17 of 17
Thread: QTGMC Help
Are you talking about the flash video in the 2nd link? It has half the fps 29.97 vs. 59.94 - that's why it's not as smooth as the QTGMC processed video
Most flash sites that re-encode (Youtube also) don't support 60p, only 30p max (they throw away 1/2 the frames, and use 1/2 the fps)
The black level is off too (too high) - you should probably adjust your capture settings . Notice everything looks "washed out"
Yes, the second link in the list. That video is 59 FPS. When I import it into VirtualDub and view the file information it reports 59.94 FPS. My intention in providing that link was for you to download it and play with it. If you download and look at both the original and the rendered videos you will see that the original (raw.avi) is at 29.97 FPS and the rendered (QTGMC001.avi) is at 59.94 FPS.
The flash video is 29.97. It's a FLV, not an AVI . It was re-encoded by the google video streaming site
You can't stream AVI videos (not a streaming format)
Format : Flash Video
File size : 7.02 MiB
Duration : 53s 220ms
Overall bit rate : 1 104 Kbps
httphostheader : v1.cache6.c.docs.google.com
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Main@L3.1
Format settings, CABAC : Yes
Format settings, ReFrames : 3 frames
Codec ID : 7
Duration : 53s 253ms
Bit rate : 969 Kbps
Width : 854 pixels
Height : 480 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 29.970 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.079
Stream size : 6.15 MiB (88%)
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : 10
Duration : 53s 382ms
Bit rate : 128 Kbps
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 44.1 KHz
Compression mode : Lossy
Stream size : 837 KiB (12%)
Are we talking about the same video file???
I'm talking about this one: https://docs.google.com/open?id=0B48ykO3DrIFpcVZFeFA5NFJpQVU
Go there and then click "File" and then "Download" all the way at the bottom. That should get you the avi.
Probably not. I don't have a download link in firefox (I do for the 1st video)
EDIT: Ok I got it sorted out (browser issue)
That's odd. I can log out of Google Docs and navigate to that link in any of my browsers and get the download option in the Google Docs file menu.
It looks like misordered frames.
This can happen with wrong field order (there is a fwd/back/fwd/back in some frames), or even using h.264 in AVI can cause it. Could also be the motion blur from QTGMC from your settings
So maybe try top field first or bottom field first explicitly?
The video playback stutters even worse without the motion blur stuff. QTGMC(Preset="Medium") stutters pretty bad even at 59FPS.
It's not even interlaced content (it's 30p). So you wouldn't deinterlace it or use QTGMC
It's field shifted
AVISource() AssumeTFF() TFM()
Either your video game is capped, or your recording device or driver has a limitation
Not interlaced? You mean raw.avi right?
It's progressive content, but field shifted
If you want to learn about interlace, progressive etc.. start with this guide
If you look at the separate fields, you will notice they are duplicates every 2nd field. True interlaced means each field is a separate moment in time (no duplicates) ie. 59.94i - Thus if you bob deinterlace you get 59.94 frames per second. You don't have that
Those sneaky Chinese. I'll give you some more info on my hardware setup.
XBOX360 VGA -> VGA to composite/svideo -> composite/svideo to usb
I use AmaRecTV to record via huffyuv or lagarith. Then shove it up to twitch.tv via AmaRecTvLive.
I assumed because my recording was coming from svideo it would be 480i. How did you figure out it wasn't interlaced?
Start with reading that guide linked above. You have to examine the separate fields
It "looks" interlaced (the combing and horizontal lines) because the upper field from the next frame is mixed with the lower field from the previous frame
It looks like this
[z a] [a b] [b c] [c d] ...
Progressive should look like this (duplicate pairs, 2 fields make up a frame)
[a a] [b b] [c c]
Interlaced should look like this (each field is different, representing a separate moment in time)
[a b] [c d] [e f]
BF3 is capped at 30 FPS while Black Ops is capped at 60 FPS. That must be the difference.
AviSource("raw.avi") AssumeTFF() TFM()