The support from the linux-sunxi community for the Allwinner Chips is quite impressive – because 720p50 Video is producing a lot of data it is good to have a working encoder solution available, while debugging our V4L2 – Kernel Module.
Adding support for compressing Video to h264 on the Allwinner A10/A20 is as easy as the following steps – which are copy and pasted from n8body’s Blog which relies on the gst-plugin-cedar. We are compiling the plugin directly on the target Hardware.
1. get gst-plugin-cedar Source
$ git clone https://github.com/ebutera/gst-plugin-cedar
2. get tools needed for building
$ sudo apt-get install gstreamer0.10-tools libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev
3. compile the code
$ ./autogen.sh && make
4. place the plugins in the appropriate directory (/usr/lib/arm-linux-gnueabihf/gstreamer-0.10/)
One question that still bothers me is if gst-plugin-cedar is using the full capabilities of Allwinners H.264 Hardware-Encoder or if its only supporting I-Frames – because the Wiki from linux-sunxi.org is showing a Proof of Concept Status for this binary blob free encoder. sure this can be determined very quickly by looking at the statistics of a encoded file.
Happy Holidays btw.
I just verified that the current gst-plugin-cedar only produces I-Frames. This can be done using ffprobe from the ffmpeg project.
$ ffprobe -show_frames ~/test.mkv
which shows the detail of all frames inside the video. All frames where flaged at keyframes which is synonymous to I-Frames.