Vinod recently shared his latest project where he built a video player combining AVR Atemga32 microcontroller, SD card and Nokia 6030 LCD. As he describes process evolved step by step. Firs of all the idea was to display images on LCD. Then with SD storage he was able to display image slideshows with 1s timer. Then naturally this project evolved in to video player by implementing slideshow at high frame rate.
His research begins with problem how to convert video to frame pictures. For this a ffpmeg Linux program suited which converts video in to frames. Then python script extracts pixel data that can be stored in to SD memory. After videos are done, next logical step is audio. He was able to extract audio in to wav which is easy to play with microcontroller using PWM. Last headache was to synchronize audio with video. Vinod did some math and found audio/video sample mixing ratio. Simple error correction keeps them synchronized. And finally it plays video at 9 fps at 132×65 resolution and audio at 11000 b/s rate. MCU program and python script are available in case you will want to give a try.