H.264 in-camera encoder - proxy.mo ?

Started by theBilalFakhouri, May 03, 2019, 10:24:50 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

theBilalFakhouri

I am still searching around how we can get real-time MLV preview, I gave some ideas here.

And got this idea today
Can we encode MLV from the card to H.264.mov in camera ? Using the chipset or H.264 engine not sure what I should call it.

Making proxies in camera it will be very fast process just like recording H.264 (e.g. in 700D a 20 seconds clip @1736x976 @ 29.97 FPS needs 20 Seconds to encode it and maybe less, then we can preview it in real-time with sound.

Not sure if it worked how the higher resolution will take to encode, but at least we don't need real-time encoding, some more seconds doesn't seem a problem.

a1ex

Might be doable, but.... keep in mind you also have to decode and render the movie, so it's not going to be any faster than mlv_play. Don't forget mlv_play renders at 720x480, so... if you need high resolution, it's not going to require just "some more seconds".

To make it as fast as possible, one has to:
- figure out how Canon renders a Bayer image buffer as YUV422 (non-trivial)
- figure out how to call the H.264 encoder (likely similar to lossless compression)
- optimize both the MLV reading and the H.264 writing routines (doable, but...)

TLDR - a lot of work would be required for this (and you can achieve the same thing in post-processing).

As a comparison, implementing a software-based pixel binning (starting from 1x3 readout) would be easier by at least one order of magnitude.