RidgeRun constantly sponsor student internships from Costa Rica Institute of Technologyto develop technologies for embedded systems. Michael Grüner is a EE senior student who did a very nice graduation project by putting together two BeagleBoard XM to create 3D anaglyph video. The systems works using GStreamer multimedia framework, so Michael had to develop some gstreamer elements to make it work:
- usbsink/usbsrc elements that use libusb and the gadgets framework to allow connecting two gstreamer pipelines running on different boards across an USB link. This is an initial proof of concept, but works fine and handles synchronization between the different pipes properly. There is room to improvements by using isochronous endpoints.
- anaglyph filters implemented as IUniversal DSP algorithms and wrapped on a gstreamer plugin.
The result is that you can put on your 3D glasses and see the screen in an extra dimension! Checkout some demo video in our youtube channel. The elements are open sourced and available in our projects page at github, and we hope it could be the basis for future work (the usb elements serialize any kind of data), since allows you to process video from different perspectives (think of a cheap 3D scanner ;) ).