GStreamer
GStreamer is our multimedia framework library.
Introduction
GStreamer is a library that supports multimedia, ranging from playback to complex mixing and processing.
- the Totem plugin uses GStreamer to play multimedia URLs in the Browse activity,
- the Record activity uses GStreamer to deal with streams from the camera and microphone, and;
- the Jukebox activity uses GStreamer to play video or audio objects in the journal.
Adding codecs
Some codecs can be added during build. Adding during build is the method supported by OLPC, because it works with our operating system olpc-update feature.
Some codecs are not included in OLPC OS, because of restrictions on redistribution. But they can be added after install. Such changes are lost on olpc-update.
To add after install, on the XO laptop, start Terminal and paste this compound command:
sudo yum localinstall -y \ http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm \ http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm && \ sudo yum install -y \ gstreamer1-{plugins-{ugly,bad-free{-extras,world},base-tools,good-extras,bad-free},libav} \ gstreamer-{plugins-{ugly,bad},ffmpeg} && echo Complete!
When the prompt reappears, with "Complete!" above the prompt, it is ready to use. You may need to stop and restart any activity using GStreamer, once.
These instructions have been tested for releases 10.1.2, 12.1.0, 13.2.0, 13.2.1, 13.2.2, 13.2.6 and 14.1.0.
For more information, see:
- http://www.fedorafaq.org/#yumconf
- http://www.fedorafaq.org/#mp3
- http://rpmfusion.org/FAQ
- http://rpmfusion.org/Configuration (the basis for these instructions)
Test cases for Browse activity:
Adding codecs using xo-custom or other scripting
On a laptop of the same architecture as the target, download the required packages:
mkdir gs cd gs sudo yum install -y yum-utils sudo yum localinstall -y --nogpgcheck \ http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm \ http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm yumdownloader --resolve gstreamer{1,}-plugins-ugly gstreamer-plugins-bad gstreamer-ffmpeg
Copy the packages. On the target laptops, install the packages using RPM.
Last tested 2014-01-21 on XO-1.75 with 13.2.0.
Developers
See GStreamer/Developers.