I have a few questions related to Video playback on Windows:
Is there a best choice of video compression and format to use with oF0.9+ on Windows?
Is there best practice on playing multiple videos on Windows?
Does performance sit with the CPU or Graphics Card?
Or does something I do define that?
It really depends on your objectives and constrains.
If you wanna go crazy, I recommend the Hap codec.
Usually, the performance sits on the CPU. But it depends of the codecs. HAP uses GPU, that’s why it’s great for a lot of files and large resolutions. The cost? File size and disk access.
There a lot of topics on this forum about this subject. You can browse around and check for different opinions… But in the end, it’s all about: objective, restrains and personal choice.
I’ve trawled the forums over the past while as I have steadily begun working a lot more with video, and a lot of the questions around this topic are a bit dated so I was looking for newer information.
Particularly with oF0.9+ I was under the impression that the video player on Windows had been changed significantly and was curious if there was a best way to use it, formats that play particularly well with Windows etc.
More generally I’ve always gotten by playing video with nothing too special and was hoping for some tips, or best method for dealing with video in oF,
What I get quite often is slight lags, or small tears on video’s, but it never seems to be consistent. I always wondered if it was me not doing something correctly or just the way things go really.
I’d be keen to get your opinion on this, I’m building a video sequencer that loads 10 -20 or so video files (±1min in length) into memory and allows you to shuffle between them using OSC commands, it will run for 8hr every few days.
Im on a Windows 10 machine i7-5500U CPU @ 2.40GHz, 8GB RAM and NVIDIA GeForce 920M:
- What codecs and containers would you recommend for something like?
- What performance would you guess I should be getting with regards to fps and consistency (tearing, etc).
I get 29-30 fps and but there is some inconsistencies in playback, also my laptop fans get quite intensive.
I’m using h264 .mp4 but tested with mjpeg and CPU usage is about the same.
The results are similar because they are both heavily compressed codecs in different containers.
The higher the compression the higher risk of tearing and other visual artifacts. This happens, because you have more P and B‑frames, than I‑frames, and when you jump/scroll to the middle of the clip, and get a P/B frame… Kaput!
If you use lossless formats, like (Intra-frame-only) Motion JPEG or Animation, you have better results. You’ll have really big files, so deployment can be an issue. And if you are playing a lot of clips, your CPU may find it hard to cope.
This is why the Hap Codec is such a nice thing. It puts more effort on the GPU. The files are still big, though.
Regarding this particular issue, I’m not the best person to answer you. Since I’m more of a Mac fella.
But, taking in consideration your requirements (scroll up to 20, 1 minute videos), I’m quite confident of Hap.
nathan, I’ve recently been playing with video addons for delivery on Windows, in particular, Hap.
The addon I’ve found that works well with oF0.9+ and Windows, is ofxDSHapVideoPlayer. The other, seemingly more popular one in the forums, ofxHapPlayer only runs under oF0.8 in Windows, and I encountered difficulties even then.
The other option worth mentioning, is ofxWMFVideoPlayer. This one is designed specifically for Windows and also employs hardware acceleration.
As hubris discussed, the file size of Hap is pretty big. The compression quality is also not great, with little ability to improve it. The size was comparable to Lagarith, a truly lossless codec, although they’ve nothing in common in terms of CPU usage. ofxDSHapVideoPlayer does have extremely low overhead on the CPU, so if that’s vitally important, it’s your winner.
ofxWMFVideoPlayer has a moderately higher CPU usage, but even on my modest i5 laptop, it was playing 6 videos simultaneously and it would allow you to tap into great codecs like x264.
It should be noted too, H.264 has license implications if you plan to deploy your program.
Hap on the other hand, does not. Neither does On2 VP9 (WebM).
Did you have issues, specifically, with gradients? Or just overall.
I found the compression introduced noticeable artifacts in detailed areas. My source video was the H.264 encoded version of Big Buck Bunny, so to be fair, to get a true comparison I’d need to encode from a lossless source.