the answer depends on the purpose:
below we try to collect basic facts about different codecs and UserComments. read on to find out your best bet.
External Link: Everything you ever wanted to know about video codecs.
When seeking, vvvv tries to seek to the exact position in the file. how fast this will happen is very much dependant on the codec and the number of keyframes you use. the standard windows codecs all have their problems with fast seeking.
It seems that codecs based on MJPG and codecs of the WMV9 series seek fastest. Read through the UserComments of the list of codecs below to learn of some experience with different codecs.
Most probably all codecs on windows dont properly deal with alpha channels. So you wont get any alpha channels on videos the easy way. This is a well known windows annoyance.
You can use pixel shaders to implement a chroma-key blue-screen alpha channel, or to combine two videos which you play back at the same time.
We dont think there is a windows codec, where "speed = -1" works. Please prove us wrong.
If you need to playback your video in reverse one way could be to encode it in reverse and append it to your video. when you need to play in reverse seek to the according position at the second half of your video and play from there.
recent graphic cards have support for hardware accelerated decoding on the gpu via microsofts dxva api. this reduces cpu usage.
there are 3 types of codecs that can make use of dxva:
available for free:
decoder ships with windows and uses hardware accelerated decoding if your card supports it. make sure you have installed the latest version of windows mediaplayer 10. (older versions of wmp10 still lacked dxva support!)
If playback of WMV9 files crashes or stalls your machine try setting the TextureSizeMode of the videotexture to NonPow2. eventually this should be a driver-bug of either graphiccards or the wmv9 decoder and hopefully be resolved with one of their future releases.
wmv9 seems very fast for seeking even in videos with hd resolution you can nearly loop without pause. but then, wmv9 != wmv9. a lot of compression details to consider. seemed to work best when files had no sound-channel.
additional thoughts by user nbd
one of the main drawbacks I have found with this codec is you can't run at a speed other than 1. For this reason I have switched to MJPEG for performance work
not aware of any free. lots of commercial:
free decoders are available. for example one comes with MediaPlayer Classic. but probably none is freely available that uses dxva for hardware accelerated decoding.
commercial decoders using dxva
here's a free mpeg2 decoder that supports dxva
K-Lite Mega Codec Pack 1.70version supports dxva too
by Cyberlink MPEG-2 decoder
x264 a free h.264 encoder
all the older codecs make no use of the dxva api and therefore decoding can be quite demanding for the cpu.
vvvv cannot playback quicktime files natively but also via the directshow pipeline. therefore you need one of the freely available quicktime directshow filters coming with quicktime-alternative versions <= 1.81. version 1.90 and above no longer include directshowfilters.
or you can try with QuickTime DirectShow Filter for WMP 1.0.16
different versions of quicktime-alternative shipped with different quicktime directshow filters that seem to work differently with different quicktime codecs. beware of version 1.70 which definitely had a memory leak. i recently found version 1.56 working with soerenson and soerenson3 compressed movies.
fastest free available video decoder for cpu based codecs, perfect dshow integration, so in vvvv. it provides encoder and decoder for the most codec types, including H.264 and Motion JPEG. unfourtunately, the Motion JPEG decoder doesn't work in vvvv in fullscreen mode --> joreg?
PICVideo M-JPEG Codec v3
Seems quite good for random seeking with material up to PAL resolution
720p works fine too and encoding is fast. great codec!
Good live performance even with HD, and the ability to change speed on the fly... now my preferred codec over WMV. Plus if you shoot video on your SLR to SD card, no need to convert.
JPeg and MV3 codec by midivid are both free codecs targeted for vj use
The Indeo codec was a sugestion on resolume forum.
indeo codec by ligos
still a good codec :)
If quality is the matter.
If you have clean graphic material as a source HUFFYUV is always worth a try, it's lossless.
be aware, that HuffYuv only supports 4:3 or 5:4 frameratio and you cant stream two (or more) HuffYuvs with different codec settings (like left, gradient or median)
Lossless PNG compression, smaller output file size than Huffyuv. Essentially, each frame is compressed as a PNG, so if PNG does it, this codec does too. (RGBA) The new version has the ability to write P frames and to autodetect when it should. The P frame takes the difference of the previous frame and the current frame and encodes that as a PNG. CorePNG
Use ffdshow to decode (play) the video, its more than twice as fast as the provided decoder!
i used the CorePNG/ffdshow combination sucessfully in a recent project. the videos are in 10:16, 800x1280 30fps format. the videos play very smooth with 30-40% CPU usage on a 2.13 GHz Intel Core 2 Duo.
Another superbe lossless codec. LZO is a lossless compression algorithm, which is especially optimized for high speed decoding! besides that, the encoding perfomance is also great.
Two LZO codecs are available: the recommended CamStudio Codec and the LZOCodec, which isn't supported by ffdshow, hence has worse playback performance.
Use ffdshow to decode the video.
i was looking since some months for a LZO based codec. this codec may be the best lossless codec for playback, because of its very fast decompression algorithm. for me, the camstudio/ffdshow (i used the clsid_sse_icl9 build rev1006) combination beats all other lossless codecs in playback performance. 10-30% CPU usage with a 800x1280 30fps video on a 2.13 GHz Intel Core 2 Duo.
anonymous user login