Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Two things:</p> <ul> <li>You're <em>not</em> going to write a proper video encoder by yourself. Not by a longshot. So your options are either to re-use an existing encoder, or not use an encoder at all.</li> <li>No video format will deal with transparency. Either you give all the images a background, or you won't be able to use an existing video format.</li> </ul> <p>There are a couple of solutions that spring to mind:</p> <p>You don't care about size, but you <em>do</em> care about quality. First thing I would ask yourself is: do you really <em>really</em> not care about size? Most video formats (especially H.264) will give you excellent quality at a substantially lower file size (think 10x). You will barely be able to tell the difference. Yes, your content is HD, but HD content on TV or Blu-ray is also compressed (using H.264 or VC-1) and it's good enough for everyone else. So I would seriously consider this as an option, as it makes the rest a whole lot easier.</p> <p>If you want, you can always resort to a lossless video format, such as <a href="http://neuron2.net/www.math.berkeley.edu/benrg/huffyuv.html" rel="noreferrer">HuffYUV</a>. This will at least give you <em>some</em> compression, while cutting the size of your video data in half (or more).</p> <p>As I said, by using an encoded video format, you lose the transparency. If you want to keep the transparency, and you still don't care about the file size, why not keep the PNGs and display them as a very fast slideshow in your application? If your only problem with this is the memory requirements of loading all PNGs into memory at once... don't do that. Read a couple of frames ahead (a fixed amount or as far as memory allows), and once you've displayed a frame, remove it from memory and read a new frame ahead. That way you get to keep perfect quality and constant memory requirements. The only issue is that your disk and processor will need to be able to keep up with the rate of reading 30 PNGs per second (or whatever your frame rate is).</p> <p>Additionally, if 5000 separate image files get too unwieldy to handle, you can wrap them all in some custom file format. A ZIP file springs to mind as a simple portable format, or you can roll your own.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload