Encoding on MK802 ARM SoC with MediaCoder (Stanley posted on August 23rd, 2012 )

MK802 is a popular ARM based super micro computer which can plug directly into any HDMI output for an on the go media player, internet browser, game machine or for general use. It features 1.0GHz Cortex-A8 CPU and 500MHz GPU, 1GB DDR3 memory and 4GB flash storage. The stock Android can be replaced with Ubuntu Linux.

For curiosity, I want to test its video encoding performance. Several months ago, I added basic distributive encoding feature to MediaCoder which allows it to offload video encoding computation to another computer, or anything like a computer. This is done by running a open-source daemon program (I named it MediaCoder Agent) on the target machine, and setting MediaCoder to distributive mode with target IP address set. You can refer to my previous post for more information on this.

I managed to tweak up MediaCoder Agent to make it running on MK802’s ARM-based Ubuntu Linux and did apt-get for x264. The agent will respond to request from host machine running MediaCoder, receive raw video frame data and send back to the host. As MK802 has no LAN, WIFI is used and this might bring overhead on encoding performance.

I set resolution to 352×240 as I didn’t expect the stock 1.0Ghz ARMv7 CPU can do real-time soft-only H.264 encoding on very high resolutions.

My test result shows that x264 achieves encoding speed slightly above 1x versus play speed. That’s 25fps at 352×240. I also noticed that x264’s NEON optimization is already turned on. The processor is around 85% utilized. So the WIFI speed might still be the bottleneck in this test. I am looking forward to MK802 second generation which claims to have LAN interface.

UPDATE: Latest MK802 ubuntu linux rootfs (with support for USB camera and USB LAN adapter) can be downloaded here.

2 Responses

  1. Invictaz says:

    Hi Stanley,

    And if you try a ethernet to usb converter?
    They can be found very cheap on Ebay. Make sure you choose a USB 2.0 one.
    Works perfectly on the MK802.

  2. Stanley says:

    I’ve got a gigabyte usb ethernet adapter but it doesn’t work on MK802.