Log in

View Full Version : Fast inter-frame lossless codecs?


AlekseiV
25th June 2010, 10:22
Think this is the right section.

What are my options for a fast inter-frame codec? I'm recording short snippets losslessly of an online game (Transformice) which has some areas with high motion and a whole lot with none. Inter-frame coding should give a huge benefit for it, but I don't know any codecs that do this.

Screenshot example here (http://sovietpride.su/trolls.png).

Anybody know of any?

Dark Shikari
25th June 2010, 10:24
x264 on a fast preset (e.g. ultrafast) should be fast enough.

AlekseiV
25th June 2010, 10:30
I'm using a VfW build of x264, actually, but unfortunately it's in YV12 which causes noticeable degradation, especially since I'm upscaling later. (If I don't, YouTube does some bizarre resizing (http://www.youtube.com/watch?v=UOX_0DHDOiI) that makes the quality awful.)

Dark Shikari
25th June 2010, 10:36
I'm using a VfW build of x264, actually, but unfortunately it's in YV12 which causes noticeable degradation, especially since I'm upscaling later. (If I don't, YouTube does some bizarre resizing (http://www.youtube.com/watch?v=UOX_0DHDOiI) that makes the quality awful.)You should say that you need a specific colorspace then. In which case you're probably screwed, because I don't know of any lossless interframe codec that isn't YUV. Hell, the only lossless interframe codecs I know of are x264, Snow, and Dirac.

Blue_MiSfit
25th June 2010, 12:13
Capture using HuffYUV or whatever to keep the RGB. Keep in mind, It's all going to be converted to YV12 eventually if you're going to YouTube!

That sample YouTube clip you linked to doesn't look too bad to me in 480p mode. You're using a free video host, keep in mind :)

Since your sample image is 800x600, I can only assume your game can only render in 4x3, correct? If so, you can still get an "HD" stream out of YouTube. Here's how.

1) Capture at 1024x768, or ideally 960x720 if you can
2) Use an AviSynth script like this:

AVISource("cap.avi") #assuming your capture is RGB, right?

Spline36Resize(960,720) #Make it 4x3 720p if it isn't already

ConvertToYV12(matrix="rec709") # YV12 using TV range rec709 colors, standard for HD

AddBorders(160,0,160,0) # Matte it, tricking YouTube into thinking the clip is vanilla 720p


Encode this with x264 using high quality settings (low CRF number, maybe 16-18), using the slowest settings you can stand. Then you will have a nicely juiced 1280x720 H.264 mezzanine file you can keep or push up to YouTube.

Of course, if you're just trying to save space on your capture files I'm not being terribly helpful!!!! :)

Derek

Midzuki
25th June 2010, 13:57
FWIW, there exist also Camstudio (1.0) and MotionPNG (both for VfW). The gzip compression of Camstudio is slow, MotionPNG with P-frames is even slower. But I have no idea if YouTube "understands" them...

dr.schanker
26th June 2010, 01:09
MSU Screen Capture Lossless Codec
http://forum.doom9.org/showthread.php?t=109258

Leeloo Minaļ
26th June 2010, 13:18
Prefer Camstudio over MSU Screen Capture codec, Camstudio is one of the fastest (in LZO compression mode) screen capture codecs.

MSU offers the best compression rate... at the cost of speed, it is more interesting for archiving.

pandy
28th June 2010, 08:23
There is Lossless JPEG (ffdshow)