I need to get streaming video working where a source streams video to an embedded platform. This embedded system has an ARM-Cortex-A9 without a GPU or a hardware video decoder.

Unfortunately I don't have control over this platform so I will have to make do with what I have. I need to be able to decode live video with a maximum size of 640x480. I really have no clue what codec is best suited for this job. Bandwidth is less of an issue since it will run on the same network with a cable.

Does anyone have a recommendation of a codec that would be suitable in this situation?

  • Probably mjpeg. – SlimSCSI Sep 8 '19 at 20:59
  • You should be able to get away with h.264 at that resolution, especially if you use main or baseline profile. But testing it is probably the only way to be sure. – stib Sep 9 '19 at 2:28

While I haven't implemented this myself I would suspect Google's VP9 (or VP10) to be a good option.

Considering Android phones use an ARM CPU, the codecs and libraries supporting it should be highly optimized as they've been around for almost 10 years, and Google has a reason to continue improving it. Plus it's royalty free both to play and to encode.

See VP9 on Wikipedia.

| improve this answer | |

Your Answer

