Wednesday, April 14, 2010

XO Codec Testing

Well yesterday we were playing with the xo, seeing how they benchmark existing video chat clients and other video codecs we had access too. Using empathy's video chat system we found that the xo's were unable to connect to non-xo's. We were able to connect xo to xo pretty well. The only problem is it took a while for it to make the connection and once it was connected, the frame rate was about a frame ever two or three seconds at best.

We were looking into using other codecs, yet the xo's only seem to have access to two of them in a typical install, Theora and Smoke/jpeg. While playing with the gstreamer pipeline, we decided we should try writing our own filter to cut down the frame size by cutting out the color scale on yuv before sending it into Theora. All the current greyscale options require converting colorspace which seems too processor intensive for the xo's. So by writing our own filter that runs in native yuv, we should be able to compress the image further without the multiple colorspace conversions. Our filter would also shrink the resolution quickly as it would be designed specifically for the xo camera's 640 by 480 resolution. The resizing method in gstreamer seems to be too generic and therefore slower then we would like.