Question

I'm new to Video technology, so any feedback (such as if I've underspecified the problem) would be greatly appreciated.

I need to display an animation (currently composed of about a thousand PNGs) on Windows and am trying to determine the best video codec or parameters for the job.

  • Video playback must be smooth at 30 fps
  • Output display is 1920x1080 on a secondary monitor
  • Quality does not matter (within limits)
  • Will be displaying alpha blended animation on top, so no DXVA
  • Must run on older hardware (Core Duo 4400 + nVidia 9800)
  • Currently using DirectShow to display the video.

Question:

  • Is it easier on the CPU to shrink the source to 1/2 size (or even 1/4) and have the CPU stretch it at run time?
  • Is there a video codec that is easier on the CPU than others?
  • Are there parameters for video codecs that mean less decompression is required? (The video will be stored on the HD, so size doesn't matter except as it impacts program performance).

So far: - H.264 from ffmpeg defaults produces terrible tearing and some stuttering. - Uncompressed video from VirtualDub produces massive stuttering.

There are so many different degrees of freedom to this problem, I'm flailing. Any suggestions by readers would be much appreciated. Thank you.

Was it helpful?

Solution

MJPEG should work. I used it for 1080i60 some 3 years back, and the playback was never an issue. Even encoding worked on-the-fly with a machine of quite similar performance to what you describe.

File size will be about 10MB/s for good quality video.

Shrinking the video will help, because if you are drawing the video to screen using e.g. DirectX, you can use the GPU to stretch it.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top