<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.xiph.org/skins/common/feed.css?272"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.xiph.org/index.php?title=Special:Contributions/GChriss&amp;feed=atom&amp;limit=50&amp;target=GChriss&amp;year=&amp;month=</id>
		<title>XiphWiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.xiph.org/index.php?title=Special:Contributions/GChriss&amp;feed=atom&amp;limit=50&amp;target=GChriss&amp;year=&amp;month="/>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Special:Contributions/GChriss"/>
		<updated>2013-05-25T14:12:33Z</updated>
		<subtitle>From XiphWiki</subtitle>
		<generator>MediaWiki 1.16.1</generator>

	<entry>
		<id>http://wiki.xiph.org/GST_cookbook/Trisquel6</id>
		<title>GST cookbook/Trisquel6</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/GST_cookbook/Trisquel6"/>
				<updated>2013-05-05T17:46:04Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: line break&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;`#Every line in this page is executable in BASH.  Have fun\!`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Trisquel Release 6.0 (toutatis) GStreamer Build Instructions`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Tested on a Lenovo x201i by GChriss / 15-April-2013`&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#Prepare live USB key as documented:`&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://cdimage.trisquel.info/trisquel-images/trisquel_6.0_amd64.iso.torrent&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
transmission-gtk trisquel_6.0_amd64.iso.torrent &amp;amp;&amp;lt;br&amp;gt;&lt;br /&gt;
dd if=/path/to/trisquel_6.0_amd64.iso of=/dev/sdX bs=8M&amp;lt;br&amp;gt;&lt;br /&gt;
sync&amp;lt;br&amp;gt;&lt;br /&gt;
cd /media/trisquel\ 6.0\ amd64/&amp;lt;br&amp;gt;&lt;br /&gt;
md5sum -c md5sum.txt&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#Boot USB key in BIOS -&amp;gt; Install to disk -&amp;gt; Manual partition`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Use a smaller '/' partition (~20GB), ~2GB swap space, the remainder as '/home', all primary partitions`&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#Run through install prompts and reboot`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Works out-of-box: backlight, suspend, audio, USB, 10/100 Ethernet, graphics acceleration, Atheros AR5418 Wireless Network Adapter (168c:0024 -- BIOS modification required)`&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#Trisquel Menu -&amp;gt; System Settings -&amp;gt; Disable screensaver, screen dimming, suspend-on-lid-close, sound effects, window animations`&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#Open Terminal:`&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#Get this stuff outta here...`&amp;lt;br&amp;gt;&lt;br /&gt;
/etc/init.d/apparmor stop&amp;lt;br&amp;gt;&lt;br /&gt;
update-rc.d -f apparmor remove&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get -y --purge remove apparmor apparmor-utils libapparmor-perl libapparmor1 gnash libjack-jackd2-0 pidgin-data gstreamer0.10-tools gnome-app-install&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get -y update&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;echo &amp;quot;linux-image-generic hold&amp;quot; | dpkg --set-selections&amp;lt;br&amp;gt;&lt;br /&gt;
`#(To undo: echo &amp;quot;linux-image-generic install&amp;quot; | dpkg --set-selections )`&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get -y dist-upgrade&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get -y install bzip2 wget curl bison flex fakeroot vim mlocate subversion git-core openssh-server build-essential libtool intltool checkinstall autoconf automake kernel-package libasound2-dev libcanberra-gtk3-dev libffi-dev libfftw3-dev libgconf2-dev libglade2-dev libgnome-media-profiles-dev libgtkmm-3.0-dev libjson0-dev libncurses5-dev libqt3-mt-dev libsamplerate0-dev libsdl1.2-dev libsndfile1-dev libsoupcutter-dev libspeexdsp-dev libudev-dev libv4l-dev libxi-dev libxml2-dev libxmu-dev libxv-dev pciutils-dev cu sysfsutils gtk-doc-tools gnome-doc-utils iasl alsa-tools lm-sensors mkvtoolnix mkvtoolnix-gui cpuburn indicator-multiload indicator-cpufreq qt4-dev-tools libfam-dev&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
chmod 0755 /usr/bin/cpufreq-selector&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#Create this file and add the line that follows:`&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/modprobe.d/thinkpad_acpi.conf &amp;lt;br&amp;gt;&lt;br /&gt;
options thinkpad_acpi fan_control=1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/rc.local `#--&amp;gt; add the following:`&amp;lt;br&amp;gt;&lt;br /&gt;
chmod 666 /proc/acpi/ibm/fan&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
exit&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
indicator-multiload &amp;amp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#Optional but helpful step for realtime audio processing`&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
cd /usr/src&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://linux-libre.fsfla.org/pub/linux-libre/releases/LATEST-3.8.N/linux-libre-3.8.6-gnu.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf linux-libre-3.8.6-gnu.tar.bz2&amp;lt;br&amp;gt;&lt;br /&gt;
cd linux-3.8.6/&amp;lt;br&amp;gt;&lt;br /&gt;
cp /boot/config-3.2.0-38-generic .config&amp;lt;br&amp;gt;&lt;br /&gt;
make oldconfig -&amp;gt; hold down enter key to accept defaults&amp;lt;br&amp;gt;&lt;br /&gt;
make gconfig&amp;lt;br&amp;gt;&lt;br /&gt;
`#'CONFIG_PREEMPT=y' + ALSA built as modules, 'CONFIG_HZ_100=y'`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Consider adding Easycap: CONFIG_MEDIA_ANALOG_TV_SUPPORT=y + CONFIG_VIDEO_STK1160=m`&amp;lt;br&amp;gt;&lt;br /&gt;
CONCURRENCY_LEVEL=4 fakeroot make deb-pkg &amp;amp;&amp;gt;gsc_make-deb-pkg.log&amp;lt;br&amp;gt;&lt;br /&gt;
dpkg -i ../*.deb&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#reboot and check for PREEMPT`&amp;lt;br&amp;gt;&lt;br /&gt;
uname -a |grep PREEMPT&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
mkdir -p /packages/openvideopro &amp;amp;&amp;amp; mkdir -p /packages/openvideopro/lib &amp;amp;&amp;amp; mkdir -p /packages/openvideopro/bin&amp;lt;br&amp;gt;&lt;br /&gt;
mkdir -p /packages/openvideopro/lib/pkgconfig&amp;lt;br&amp;gt;&lt;br /&gt;
chown -R gchriss:users /packages&amp;lt;br&amp;gt;&lt;br /&gt;
exit&amp;lt;br&amp;gt;&lt;br /&gt;
rm -Rf ~/.gstreamer-0.10&amp;lt;br&amp;gt;&lt;br /&gt;
vi ~/.bashrc `#-&amp;gt; add the following:`&amp;lt;br&amp;gt;&lt;br /&gt;
export GST_PLUGIN_SYSTEM_PATH=&amp;quot;/packages/openvideopro/lib&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
export GST_PLUGIN_PATH=&amp;quot;/packages/openvideopro/lib&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
export PKG_CONFIG_PATH=/packages/openvideopro/lib/pkgconfig:/packages/openvideopro/lib64/pkgconfig&amp;lt;br&amp;gt;&lt;br /&gt;
export PATH=/packages/openvideopro/bin:$PATH&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.gnu.org/gnu/automake/automake-1.13.1.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf automake-1.13.1.tar.gz &amp;amp;&amp;amp; cd automake-1.13.1&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://repo.or.cz/nasm.git nasm_14april2013 &amp;amp;&amp;amp; cd nasm_14april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./autogen.sh --no-configure &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#YASM is optional:`&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://github.com/yasm/yasm.git yasm_14april2013 &amp;amp;&amp;amp; cd yasm_14april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./autogen.sh --no-configure &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://code.entropywave.com/git/orc.git orc_14april2013 &amp;amp;&amp;amp; cd orc_14april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./autogen.sh &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://jackaudio.org/downloads/jack-audio-connection-kit-0.121.3.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf jack-audio-connection-kit-0.121.3.tar.gz &amp;amp;&amp;amp; cd jack-audio-connection-kit-0.121.3&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-optimize --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
#vi /etc/security/limits.conf `#-&amp;gt; add the following line:`&amp;lt;br&amp;gt;&lt;br /&gt;
@audio          -       rtprio          99&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/security/limits.d/audio.conf `#-&amp;gt; create file with the following line:`&amp;lt;br&amp;gt;&lt;br /&gt;
@audio - rtprio 95&amp;lt;br&amp;gt;&lt;br /&gt;
@audio - memlock unlimited&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
usermod -a -G audio gchriss `#--&amp;gt; subsitute 'gchriss' for your username`&amp;lt;br&amp;gt;&lt;br /&gt;
exit&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#At this point UI volume controls are missing/non-functional, but alsamixer works.`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Build pulseaudio if needed, but otherwise optional:`&amp;lt;br&amp;gt;&lt;br /&gt;
rm -rf  ~/.pulse* /tmp/.esd*&amp;lt;br&amp;gt;&lt;br /&gt;
sudo -rf /tmp/pulse*&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://freedesktop.org/software/pulseaudio/releases/pulseaudio-3.0.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf pulseaudio-3.0.tar.xz&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro  &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
mkdir -p /packages/openvideopro/var/run/pulse &amp;amp;&amp;amp;  mkdir -p /packages/openvideopro/var/lib/pulse&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#Also optional (but recommended):`&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-0.10.36.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf gstreamer-0.10.36.tar.gz &amp;amp;&amp;amp; cd gstreamer-0.10.36&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#Optional:`&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-0.10.36.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf gst-plugins-base-0.10.36.tar.gz &amp;amp;&amp;amp; cd gst-plugins-base-0.10.36&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#Optional:`&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-0.10.31.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf gst-plugins-good-0.10.31.tar.gz &amp;amp;&amp;amp; cd gst-plugins-good-0.10.31&amp;lt;br&amp;gt;&lt;br /&gt;
`#See: http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=9f2aa8d47f835ea155aaf635f618c0fc1ca87012`&amp;lt;br&amp;gt;&lt;br /&gt;
`#--&amp;gt; Remove line containing 'vbuffer.input' in 'sys/v4l2/gstv4l2bufferpool.c'`&amp;lt;br&amp;gt;&lt;br /&gt;
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/packages/openvideopro/lib64/pkgconfig  ./configure --enable-experimental --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_configure.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget https://launchpad.net/gnome-media/main/2.91.2/+download/gnome-media-2.91.2.tar.bz2&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf gnome-media-2.91.2.tar.bz2 &amp;amp;&amp;amp; cd gnome-media-2.91.2&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro  &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#TODO: Figure out how to rebuild UI volume controls (e.g., keyboard volume buttons)`&amp;lt;br&amp;gt;&lt;br /&gt;
`#TODO: The following builds but fails to connect to pulseaudio... debug needed?`&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://git.0pointer.de/pavucontrol pavucontrol_15april2013 &amp;amp;&amp;amp; cd pavucontrol_15april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./bootstrap.sh &amp;amp;&amp;gt;gsc_bootstrap.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/ogg/libogg-1.3.0.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf libogg-1.3.0.tar.gz &amp;amp;&amp;amp; cd libogg-1.3.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.3.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf libvorbis-1.3.3.tar.gz &amp;amp;&amp;amp; cd libvorbis-1.3.3/&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf libtheora-1.1.1.tar.bz2 &amp;amp;&amp;amp; cd libtheora-1.1.1&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#Open abrowser, download:`&amp;lt;br&amp;gt;&lt;br /&gt;
http://sourceforge.net/projects/libjpeg-turbo/files/1.2.90%20%281.3beta1%29/libjpeg-turbo-1.2.90.tar.gz/download&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; tar -xvzf libjpeg-turbo-1.2.90.tar.gz &amp;amp;&amp;amp; cd libjpeg-turbo-1.2.90&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro --with-jpeg8 &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://dl.matroska.org/downloads/libebml/libebml-1.2.2.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf libebml-1.2.2.tar.bz2 &amp;amp;&amp;amp; cd libebml-1.2.2&amp;lt;br&amp;gt;&lt;br /&gt;
make -C make/linux install_staticlib install_headers prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://dl.matroska.org/downloads/libmatroska/libmatroska-1.3.0.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf libmatroska-1.3.0.tar.bz2 &amp;amp;&amp;amp; cd libmatroska-1.3.0/&amp;lt;br&amp;gt;&lt;br /&gt;
CXXFLAGS='-I/packages/openvideopro/include' make -C make/linux install_staticlib install_headers prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/libshout/libshout-2.3.1.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf libshout-2.3.1.tar.gz &amp;amp;&amp;amp; cd libshout-2.3.1&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.acc.umu.se/pub/GNOME/sources/glib/2.37/glib-2.37.0.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf glib-2.37.0.tar.xz &amp;amp;&amp;amp; cd glib-2.37.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
`#[all 'make check' tests pass]`&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.27.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf alsa-lib-1.0.27.tar.bz2 &amp;amp;&amp;amp; cd alsa-lib-1.0.27&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://webm.googlecode.com/files/libvpx-v1.1.0.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf libvpx-v1.1.0.tar.bz2 &amp;amp;&amp;amp; cd libvpx-v1.1.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.0.6.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gstreamer-1.0.6.tar.xz &amp;amp;&amp;amp; cd gstreamer-1.0.6&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-failing-tests --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make check &amp;amp;&amp;gt;gsc_check.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.0.6.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gst-plugins-base-1.0.6.tar.xz &amp;amp;&amp;amp; cd gst-plugins-base-1.0.6&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make check &amp;amp;&amp;gt;gsc_check.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.0.6.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gst-plugins-good-1.0.6.tar.xz &amp;amp;&amp;amp; cd gst-plugins-good-1.0.6&amp;lt;br&amp;gt;&lt;br /&gt;
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/packages/openvideopro/lib64/pkgconfig ./configure --enable-experimental --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_configure.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#Optional but really helpful:`&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.sourceforge.net/qjackctl/qjackctl-0.3.10.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf qjackctl-0.3.10.tar.gz &amp;amp;&amp;amp; cd qjackctl-0.3.10&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro --with-jack=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#Create the following block entries for automatic execution @ user login`&amp;lt;br&amp;gt;&lt;br /&gt;
`#The first two entries are specific to managing Thinkpad-series laptops`&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cat ~/.config/autostart/cpufreq-selector.desktop&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#[Desktop Entry]`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Type=Application`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Exec=sh -c &amp;quot;/usr/bin/cpufreq-selector -c 0 -g performance &amp;amp; /usr/bin/cpufreq-selector -c 1 -g performance &amp;amp; /usr/bin/cpufreq-selector -c 2 -g performance &amp;amp; /usr/bin/cpufreq-selector -c 3 -g performance&amp;quot;`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Hidden=false`&amp;lt;br&amp;gt;&lt;br /&gt;
`#NoDisplay=false`&amp;lt;br&amp;gt;&lt;br /&gt;
`#X-GNOME-Autostart-enabled=true`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Name[en_US]=cpu-freq-selector`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Name=cpufreq-selector`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Comment[en_US]=Set 2.4GHz (x4)`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Comment=Set 2.4GHz (x4)`&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cat ~/.config/autostart/echo.desktop&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#[Desktop Entry]`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Type=Application`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Exec=sh -c &amp;quot;echo level 7 &amp;gt; /proc/acpi/ibm/fan&amp;quot;`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Hidden=false`&amp;lt;br&amp;gt;&lt;br /&gt;
`#NoDisplay=false`&amp;lt;br&amp;gt;&lt;br /&gt;
`#X-GNOME-Autostart-enabled=true`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Name[en_US]=Spin up x201i Fan`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Name=Spin up x201i Fan`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Comment[en_US]=Substitute 'disengaged' for '7' for max speed`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Comment=Substitute 'disengaged' for '7' for max speed`&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cat ~/.config/autostart/gnome-terminal.desktop&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#[Desktop Entry]`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Type=Application`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Exec=gnome-terminal`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Hidden=false`&amp;lt;br&amp;gt;&lt;br /&gt;
`#NoDisplay=false`&amp;lt;br&amp;gt;&lt;br /&gt;
`#X-GNOME-Autostart-enabled=true`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Name[en_US]=GNOME Terminal`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Name=GNOME Terminal`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Comment[en_US]=Just to get things started...`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Comment=Just to get things started...`&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cat ~/.config/autostart/qjackctl.desktop&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#[Desktop Entry]`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Type=Application`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Exec=sh -c &amp;quot;PATH=/packages/openvideopro/bin:$PATH LD_LIBRARY_PATH=/packages/openvideopro/lib64 /packages/openvideopro/bin/qjackctl&amp;quot;`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Hidden=false`&amp;lt;br&amp;gt;&lt;br /&gt;
`#NoDisplay=false`&amp;lt;br&amp;gt;&lt;br /&gt;
`#X-GNOME-Autostart-enabled=true`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Name[en_US]=qjackctl`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Name=qjackctl`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Comment[en_US]=Launch openvideopro qjackctl / -GChriss`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Comment=Launch openvideopro qjackctl / -GChriss`&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
sudo updatedb&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#Stress-test CPU temperature stability (often necessary, proceed at own risk):&amp;lt;br&amp;gt;&lt;br /&gt;
burnMMX &amp;amp; burnMMX &amp;amp; burnMMX &amp;amp; burnMMX`&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#network-manager can sometimes be flaky, issue on an as-needed basis:`&amp;lt;br&amp;gt;&lt;br /&gt;
service network-manager restart&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#Start JACK either via command-line or 'Start' button in QjackCtl, launch GStreamer pipeline, then renice pipeline to -18 or so.`&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Pidgin==&lt;br /&gt;
`#This section is for building Pidgin and Farsight from source.`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Pidgin has XMMP videoconferencing abilities that may be helpful in a A/V production environment.`&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get -y install cdbs dh-autoreconf dh-translations gir1.2-farstream-0.1 hardening-wrapper mercurial-git libavahi-glib-dev libdbus-glib-1-dev libenchant-dev libgadu3 libgadu-dev libgtkspell-dev libgtkspell-3-dev libidn11-dev libjson-glib-dev liblaunchpad-integration-dev libmeanwhile-dev libncursesw5-dev libnspr4-dev libnss3-dev libperl-dev libsasl2-dev libsqlite3-dev libstartup-notification0-dev libwebkitgtk-3.0-dev libxss-dev libzephyr-dev network-manager-dev python-dev python-gtk2-dev python-scour tcl tcl-dev tcl8.5 tcl8.5-dev tk tk-dev tk8.5 tk8.5-dev x11proto-scrnsaver-dev&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
wget http://gstreamer.freedesktop.org/src/gst-python/gst-python-0.10.22.tar.gz&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf gst-python-0.10.22.tar.gz &amp;amp;&amp;amp; cd gst-python-0.10.22&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://nice.freedesktop.org/releases/libnice-0.1.4.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf libnice-0.1.4.tar.gz &amp;amp;&amp;amp; cd libnice-0.1.4&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#[Skip the following two blocks if building Pidgin against GStreamer 1.0]`&amp;lt;br&amp;gt;&lt;br /&gt;
wget http://freedesktop.org/software/farstream/releases/farstream/farstream-0.1.2.tar.gz&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf farstream-0.1.2.tar &amp;amp;&amp;amp; cd farstream-0.1.2&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
http://sourceforge.net/projects/pidgin/files/Pidgin/2.10.7/pidgin-2.10.7.tar.bz2 ==&amp;gt; download file&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf pidgin-2.10.7.tar.bz2 &amp;amp;&amp;amp; cd pidgin-2.10.7&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro --with-gstreamer=0.10 &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
sudo make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
`#[/skip]`&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#[Experimental section; builds and launches but Pidgin&amp;lt;-&amp;gt;GStreamer 1.0 lockups triggered on events...]`&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://freedesktop.org/software/farstream/releases/farstream/farstream-0.2.3.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf farstream-0.2.3.tar.gz &amp;amp;&amp;amp; cd farstream-0.2.3&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
hg clone http://hg.pidgin.im/pidgin/main pidgin_1may2013 &amp;amp;&amp;amp; cd pidgin_1may2013&amp;lt;br&amp;gt;&lt;br /&gt;
NOCONFIGURE=1 ./autogen.sh &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br&amp;gt;&lt;br /&gt;
GTK_LIBS='-L/packages/openvideopro/lib -lgstvideo-1.0' ./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 make install&lt;br /&gt;
`#[/end experimental section]`&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Totem==&lt;br /&gt;
apt-get -y install itstool libclutter-gst-dev libclutter-gtk-1.0-dev gsettings-desktop-schemas-dev libbonobo2-dev libgail-dev libxtst-dev libgmime-2.6-dev libsoup-gnome2.4-dev gobject-introspection libpeas-dev libvala-0.16-dev valac-0.16-vapi valac-0.16 pylint liblircclient-dev&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#[Include support for non-libre standards implemented using free software...]`&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get -y install libbz2-dev libcurl4-gnutls-dev libfaad-dev libmms-dev libgio2.0-cil-dev&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/opus/opus-1.0.2.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf opus-1.0.2.tar.gz &amp;amp;&amp;amp; cd opus-1.0.2&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.0.7.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gst-plugins-bad-1.0.7.tar.xz &amp;amp;&amp;amp; cd gst-plugins-bad-1.0.7&amp;lt;br&amp;gt;&lt;br /&gt;
OPUS_CFLAGS='-I/packages/openvideopro/include' ./configure --enable-experimental --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.acc.umu.se/pub/GNOME/sources/clutter-gst/2.0/clutter-gst-2.0.0.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf clutter-gst-2.0.0.tar.xz &amp;amp;&amp;amp; cd clutter-gst-2.0.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.gnome.org/pub/GNOME/sources/atk/2.8/atk-2.8.0.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf atk-2.8.0.tar.xz &amp;amp;&amp;amp; cd atk-2.8.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro --disable-glibtest &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget http://ftp.gnome.org/pub/GNOME/sources/at-spi2-core/2.8/at-spi2-core-2.8.0.tar.xz&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf at-spi2-core-2.8.0.tar.xz &amp;amp;&amp;amp; cd at-spi2-core-2.8.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.gnome.org/pub/GNOME/sources/at-spi2-atk/2.8/at-spi2-atk-2.8.1.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf at-spi2-atk-2.8.1.tar.xz &amp;amp;&amp;amp; cd at-spi2-atk-2.8.1&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.gnome.org/pub/gnome/sources/gtk+/3.6/gtk+-3.6.4.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gtk+-3.6.4.tar.xz &amp;amp;&amp;amp; cd gtk+-3.6.4&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro --disable-glibtest &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.gnome.org/pub/GNOME/sources/gobject-introspection/1.36/gobject-introspection-1.36.0.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gobject-introspection-1.36.0.tar.xz &amp;amp;&amp;amp; cd gobject-introspection-1.36.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://cairographics.org/releases/py2cairo-1.10.0.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf py2cairo-1.10.0.tar.bz2 &amp;amp;&amp;amp; cd py2cairo-1.10.0&amp;lt;br&amp;gt;&lt;br /&gt;
./waf configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
./waf build &amp;amp;&amp;gt;gsc_build.log&amp;lt;br&amp;gt;&lt;br /&gt;
./waf install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.acc.umu.se/pub/GNOME/sources/pygobject/3.9/pygobject-3.9.1.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf pygobject-3.9.1.tar.xz &amp;amp;&amp;amp; cd pygobject-3.9.1&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --disable-glibtest --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.gnome.org/pub/gnome/sources/totem-pl-parser/3.4/totem-pl-parser-3.4.4.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf totem-pl-parser-3.4.4.tar.xz &amp;amp;&amp;amp; cd totem-pl-parser-3.4.4&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.acc.umu.se/pub/GNOME/sources/grilo/0.2/grilo-0.2.5.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf grilo-0.2.5.tar.xz &amp;amp;&amp;amp; cd grilo-0.2.5&amp;lt;br&amp;gt;&lt;br /&gt;
./configure  --disable-debug --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#[Optional extra Totem plugins]`&amp;lt;br&amp;gt;&lt;br /&gt;
sudo apt-get -y install libdconf-dbus-1-0 libgssdp-1.0-dev libgupnp-1.0-dev libgupnp-av-1.0-dev libgupnp-dlna-1.0-dev libdmapsharing-3.0-dev libgdata-dev libquvi-dev libtracker-sparql-0.14-dev&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://ftp.gnome.org/pub/GNOME/sources/grilo-plugins/0.2/grilo-plugins-0.2.6.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf grilo-plugins-0.2.6.tar.xz &amp;amp;&amp;amp; cd grilo-plugins-0.2.6&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
`#[TODO: Fix HTTP ('urisource-http') downloads]`&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.gnome.org/pub/GNOME/sources/totem/3.8/totem-3.8.0.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf totem-3.8.0.tar.xz &amp;amp;&amp;amp; cd totem-3.8.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd&amp;lt;br&amp;gt;&lt;br /&gt;
totem &amp;amp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#Launch Totem a few time to clear extraneous GStreamer plugin messages from being printed on the Terminal`&amp;lt;br&amp;gt;&lt;br /&gt;
==LightWorks (proprietary, tethered application)==&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://mirrors.us.kernel.org/ubuntu/pool/multiverse/n/nvidia-cg-toolkit/nvidia-cg-toolkit_3.0.0016-0ubuntu1_amd64.deb&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://mirrors.us.kernel.org/ubuntu/pool/multiverse/n/nvidia-cg-toolkit/libcg_3.0.0016-0ubuntu1_amd64.deb&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
dpkg -i nvidia-cg-toolkit_3.0.0016-0ubuntu1_amd64.deb libcg_3.0.0016-0ubuntu1_amd64.deb&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get -y install libportaudio2 libportaudiocpp0 libgsf-1-114 libgsf-1-common libjack-jackd2-0&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.lwks.com/betas-linux --&amp;gt; Register, agree to terms of service, download lwks-11.1.H-amd64.deb&amp;lt;br&amp;gt;&lt;br /&gt;
dpkg -i lwks-11.1.H-amd64.deb&amp;lt;br&amp;gt;&lt;br /&gt;
lightworks &amp;amp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/GST_cookbook/Trisquel6</id>
		<title>GST cookbook/Trisquel6</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/GST_cookbook/Trisquel6"/>
				<updated>2013-05-05T17:45:46Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: add executable comments, hopefully helps w/ prepping for puppitization while maintaining manual-build readability&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;`#Every line in this page is executable in BASH.  Have fun\!`&lt;br /&gt;
`#Trisquel Release 6.0 (toutatis) GStreamer Build Instructions`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Tested on a Lenovo x201i by GChriss / 15-April-2013`&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#Prepare live USB key as documented:`&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://cdimage.trisquel.info/trisquel-images/trisquel_6.0_amd64.iso.torrent&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
transmission-gtk trisquel_6.0_amd64.iso.torrent &amp;amp;&amp;lt;br&amp;gt;&lt;br /&gt;
dd if=/path/to/trisquel_6.0_amd64.iso of=/dev/sdX bs=8M&amp;lt;br&amp;gt;&lt;br /&gt;
sync&amp;lt;br&amp;gt;&lt;br /&gt;
cd /media/trisquel\ 6.0\ amd64/&amp;lt;br&amp;gt;&lt;br /&gt;
md5sum -c md5sum.txt&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#Boot USB key in BIOS -&amp;gt; Install to disk -&amp;gt; Manual partition`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Use a smaller '/' partition (~20GB), ~2GB swap space, the remainder as '/home', all primary partitions`&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#Run through install prompts and reboot`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Works out-of-box: backlight, suspend, audio, USB, 10/100 Ethernet, graphics acceleration, Atheros AR5418 Wireless Network Adapter (168c:0024 -- BIOS modification required)`&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#Trisquel Menu -&amp;gt; System Settings -&amp;gt; Disable screensaver, screen dimming, suspend-on-lid-close, sound effects, window animations`&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#Open Terminal:`&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#Get this stuff outta here...`&amp;lt;br&amp;gt;&lt;br /&gt;
/etc/init.d/apparmor stop&amp;lt;br&amp;gt;&lt;br /&gt;
update-rc.d -f apparmor remove&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get -y --purge remove apparmor apparmor-utils libapparmor-perl libapparmor1 gnash libjack-jackd2-0 pidgin-data gstreamer0.10-tools gnome-app-install&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get -y update&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;echo &amp;quot;linux-image-generic hold&amp;quot; | dpkg --set-selections&amp;lt;br&amp;gt;&lt;br /&gt;
`#(To undo: echo &amp;quot;linux-image-generic install&amp;quot; | dpkg --set-selections )`&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get -y dist-upgrade&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get -y install bzip2 wget curl bison flex fakeroot vim mlocate subversion git-core openssh-server build-essential libtool intltool checkinstall autoconf automake kernel-package libasound2-dev libcanberra-gtk3-dev libffi-dev libfftw3-dev libgconf2-dev libglade2-dev libgnome-media-profiles-dev libgtkmm-3.0-dev libjson0-dev libncurses5-dev libqt3-mt-dev libsamplerate0-dev libsdl1.2-dev libsndfile1-dev libsoupcutter-dev libspeexdsp-dev libudev-dev libv4l-dev libxi-dev libxml2-dev libxmu-dev libxv-dev pciutils-dev cu sysfsutils gtk-doc-tools gnome-doc-utils iasl alsa-tools lm-sensors mkvtoolnix mkvtoolnix-gui cpuburn indicator-multiload indicator-cpufreq qt4-dev-tools libfam-dev&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
chmod 0755 /usr/bin/cpufreq-selector&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#Create this file and add the line that follows:`&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/modprobe.d/thinkpad_acpi.conf &amp;lt;br&amp;gt;&lt;br /&gt;
options thinkpad_acpi fan_control=1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/rc.local `#--&amp;gt; add the following:`&amp;lt;br&amp;gt;&lt;br /&gt;
chmod 666 /proc/acpi/ibm/fan&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
exit&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
indicator-multiload &amp;amp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#Optional but helpful step for realtime audio processing`&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
cd /usr/src&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://linux-libre.fsfla.org/pub/linux-libre/releases/LATEST-3.8.N/linux-libre-3.8.6-gnu.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf linux-libre-3.8.6-gnu.tar.bz2&amp;lt;br&amp;gt;&lt;br /&gt;
cd linux-3.8.6/&amp;lt;br&amp;gt;&lt;br /&gt;
cp /boot/config-3.2.0-38-generic .config&amp;lt;br&amp;gt;&lt;br /&gt;
make oldconfig -&amp;gt; hold down enter key to accept defaults&amp;lt;br&amp;gt;&lt;br /&gt;
make gconfig&amp;lt;br&amp;gt;&lt;br /&gt;
`#'CONFIG_PREEMPT=y' + ALSA built as modules, 'CONFIG_HZ_100=y'`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Consider adding Easycap: CONFIG_MEDIA_ANALOG_TV_SUPPORT=y + CONFIG_VIDEO_STK1160=m`&amp;lt;br&amp;gt;&lt;br /&gt;
CONCURRENCY_LEVEL=4 fakeroot make deb-pkg &amp;amp;&amp;gt;gsc_make-deb-pkg.log&amp;lt;br&amp;gt;&lt;br /&gt;
dpkg -i ../*.deb&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#reboot and check for PREEMPT`&amp;lt;br&amp;gt;&lt;br /&gt;
uname -a |grep PREEMPT&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
mkdir -p /packages/openvideopro &amp;amp;&amp;amp; mkdir -p /packages/openvideopro/lib &amp;amp;&amp;amp; mkdir -p /packages/openvideopro/bin&amp;lt;br&amp;gt;&lt;br /&gt;
mkdir -p /packages/openvideopro/lib/pkgconfig&amp;lt;br&amp;gt;&lt;br /&gt;
chown -R gchriss:users /packages&amp;lt;br&amp;gt;&lt;br /&gt;
exit&amp;lt;br&amp;gt;&lt;br /&gt;
rm -Rf ~/.gstreamer-0.10&amp;lt;br&amp;gt;&lt;br /&gt;
vi ~/.bashrc `#-&amp;gt; add the following:`&amp;lt;br&amp;gt;&lt;br /&gt;
export GST_PLUGIN_SYSTEM_PATH=&amp;quot;/packages/openvideopro/lib&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
export GST_PLUGIN_PATH=&amp;quot;/packages/openvideopro/lib&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
export PKG_CONFIG_PATH=/packages/openvideopro/lib/pkgconfig:/packages/openvideopro/lib64/pkgconfig&amp;lt;br&amp;gt;&lt;br /&gt;
export PATH=/packages/openvideopro/bin:$PATH&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.gnu.org/gnu/automake/automake-1.13.1.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf automake-1.13.1.tar.gz &amp;amp;&amp;amp; cd automake-1.13.1&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://repo.or.cz/nasm.git nasm_14april2013 &amp;amp;&amp;amp; cd nasm_14april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./autogen.sh --no-configure &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#YASM is optional:`&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://github.com/yasm/yasm.git yasm_14april2013 &amp;amp;&amp;amp; cd yasm_14april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./autogen.sh --no-configure &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://code.entropywave.com/git/orc.git orc_14april2013 &amp;amp;&amp;amp; cd orc_14april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./autogen.sh &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://jackaudio.org/downloads/jack-audio-connection-kit-0.121.3.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf jack-audio-connection-kit-0.121.3.tar.gz &amp;amp;&amp;amp; cd jack-audio-connection-kit-0.121.3&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-optimize --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
#vi /etc/security/limits.conf `#-&amp;gt; add the following line:`&amp;lt;br&amp;gt;&lt;br /&gt;
@audio          -       rtprio          99&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/security/limits.d/audio.conf `#-&amp;gt; create file with the following line:`&amp;lt;br&amp;gt;&lt;br /&gt;
@audio - rtprio 95&amp;lt;br&amp;gt;&lt;br /&gt;
@audio - memlock unlimited&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
usermod -a -G audio gchriss `#--&amp;gt; subsitute 'gchriss' for your username`&amp;lt;br&amp;gt;&lt;br /&gt;
exit&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#At this point UI volume controls are missing/non-functional, but alsamixer works.`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Build pulseaudio if needed, but otherwise optional:`&amp;lt;br&amp;gt;&lt;br /&gt;
rm -rf  ~/.pulse* /tmp/.esd*&amp;lt;br&amp;gt;&lt;br /&gt;
sudo -rf /tmp/pulse*&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://freedesktop.org/software/pulseaudio/releases/pulseaudio-3.0.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf pulseaudio-3.0.tar.xz&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro  &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
mkdir -p /packages/openvideopro/var/run/pulse &amp;amp;&amp;amp;  mkdir -p /packages/openvideopro/var/lib/pulse&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#Also optional (but recommended):`&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-0.10.36.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf gstreamer-0.10.36.tar.gz &amp;amp;&amp;amp; cd gstreamer-0.10.36&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#Optional:`&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-0.10.36.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf gst-plugins-base-0.10.36.tar.gz &amp;amp;&amp;amp; cd gst-plugins-base-0.10.36&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#Optional:`&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-0.10.31.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf gst-plugins-good-0.10.31.tar.gz &amp;amp;&amp;amp; cd gst-plugins-good-0.10.31&amp;lt;br&amp;gt;&lt;br /&gt;
`#See: http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=9f2aa8d47f835ea155aaf635f618c0fc1ca87012`&amp;lt;br&amp;gt;&lt;br /&gt;
`#--&amp;gt; Remove line containing 'vbuffer.input' in 'sys/v4l2/gstv4l2bufferpool.c'`&amp;lt;br&amp;gt;&lt;br /&gt;
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/packages/openvideopro/lib64/pkgconfig  ./configure --enable-experimental --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_configure.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget https://launchpad.net/gnome-media/main/2.91.2/+download/gnome-media-2.91.2.tar.bz2&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf gnome-media-2.91.2.tar.bz2 &amp;amp;&amp;amp; cd gnome-media-2.91.2&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro  &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#TODO: Figure out how to rebuild UI volume controls (e.g., keyboard volume buttons)`&amp;lt;br&amp;gt;&lt;br /&gt;
`#TODO: The following builds but fails to connect to pulseaudio... debug needed?`&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://git.0pointer.de/pavucontrol pavucontrol_15april2013 &amp;amp;&amp;amp; cd pavucontrol_15april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./bootstrap.sh &amp;amp;&amp;gt;gsc_bootstrap.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/ogg/libogg-1.3.0.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf libogg-1.3.0.tar.gz &amp;amp;&amp;amp; cd libogg-1.3.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.3.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf libvorbis-1.3.3.tar.gz &amp;amp;&amp;amp; cd libvorbis-1.3.3/&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf libtheora-1.1.1.tar.bz2 &amp;amp;&amp;amp; cd libtheora-1.1.1&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#Open abrowser, download:`&amp;lt;br&amp;gt;&lt;br /&gt;
http://sourceforge.net/projects/libjpeg-turbo/files/1.2.90%20%281.3beta1%29/libjpeg-turbo-1.2.90.tar.gz/download&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; tar -xvzf libjpeg-turbo-1.2.90.tar.gz &amp;amp;&amp;amp; cd libjpeg-turbo-1.2.90&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro --with-jpeg8 &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://dl.matroska.org/downloads/libebml/libebml-1.2.2.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf libebml-1.2.2.tar.bz2 &amp;amp;&amp;amp; cd libebml-1.2.2&amp;lt;br&amp;gt;&lt;br /&gt;
make -C make/linux install_staticlib install_headers prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://dl.matroska.org/downloads/libmatroska/libmatroska-1.3.0.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf libmatroska-1.3.0.tar.bz2 &amp;amp;&amp;amp; cd libmatroska-1.3.0/&amp;lt;br&amp;gt;&lt;br /&gt;
CXXFLAGS='-I/packages/openvideopro/include' make -C make/linux install_staticlib install_headers prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/libshout/libshout-2.3.1.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf libshout-2.3.1.tar.gz &amp;amp;&amp;amp; cd libshout-2.3.1&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.acc.umu.se/pub/GNOME/sources/glib/2.37/glib-2.37.0.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf glib-2.37.0.tar.xz &amp;amp;&amp;amp; cd glib-2.37.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
`#[all 'make check' tests pass]`&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.27.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf alsa-lib-1.0.27.tar.bz2 &amp;amp;&amp;amp; cd alsa-lib-1.0.27&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://webm.googlecode.com/files/libvpx-v1.1.0.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf libvpx-v1.1.0.tar.bz2 &amp;amp;&amp;amp; cd libvpx-v1.1.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.0.6.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gstreamer-1.0.6.tar.xz &amp;amp;&amp;amp; cd gstreamer-1.0.6&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-failing-tests --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make check &amp;amp;&amp;gt;gsc_check.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.0.6.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gst-plugins-base-1.0.6.tar.xz &amp;amp;&amp;amp; cd gst-plugins-base-1.0.6&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make check &amp;amp;&amp;gt;gsc_check.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.0.6.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gst-plugins-good-1.0.6.tar.xz &amp;amp;&amp;amp; cd gst-plugins-good-1.0.6&amp;lt;br&amp;gt;&lt;br /&gt;
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/packages/openvideopro/lib64/pkgconfig ./configure --enable-experimental --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_configure.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#Optional but really helpful:`&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.sourceforge.net/qjackctl/qjackctl-0.3.10.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf qjackctl-0.3.10.tar.gz &amp;amp;&amp;amp; cd qjackctl-0.3.10&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro --with-jack=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#Create the following block entries for automatic execution @ user login`&amp;lt;br&amp;gt;&lt;br /&gt;
`#The first two entries are specific to managing Thinkpad-series laptops`&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cat ~/.config/autostart/cpufreq-selector.desktop&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#[Desktop Entry]`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Type=Application`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Exec=sh -c &amp;quot;/usr/bin/cpufreq-selector -c 0 -g performance &amp;amp; /usr/bin/cpufreq-selector -c 1 -g performance &amp;amp; /usr/bin/cpufreq-selector -c 2 -g performance &amp;amp; /usr/bin/cpufreq-selector -c 3 -g performance&amp;quot;`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Hidden=false`&amp;lt;br&amp;gt;&lt;br /&gt;
`#NoDisplay=false`&amp;lt;br&amp;gt;&lt;br /&gt;
`#X-GNOME-Autostart-enabled=true`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Name[en_US]=cpu-freq-selector`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Name=cpufreq-selector`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Comment[en_US]=Set 2.4GHz (x4)`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Comment=Set 2.4GHz (x4)`&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cat ~/.config/autostart/echo.desktop&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#[Desktop Entry]`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Type=Application`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Exec=sh -c &amp;quot;echo level 7 &amp;gt; /proc/acpi/ibm/fan&amp;quot;`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Hidden=false`&amp;lt;br&amp;gt;&lt;br /&gt;
`#NoDisplay=false`&amp;lt;br&amp;gt;&lt;br /&gt;
`#X-GNOME-Autostart-enabled=true`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Name[en_US]=Spin up x201i Fan`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Name=Spin up x201i Fan`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Comment[en_US]=Substitute 'disengaged' for '7' for max speed`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Comment=Substitute 'disengaged' for '7' for max speed`&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cat ~/.config/autostart/gnome-terminal.desktop&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#[Desktop Entry]`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Type=Application`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Exec=gnome-terminal`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Hidden=false`&amp;lt;br&amp;gt;&lt;br /&gt;
`#NoDisplay=false`&amp;lt;br&amp;gt;&lt;br /&gt;
`#X-GNOME-Autostart-enabled=true`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Name[en_US]=GNOME Terminal`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Name=GNOME Terminal`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Comment[en_US]=Just to get things started...`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Comment=Just to get things started...`&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cat ~/.config/autostart/qjackctl.desktop&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#[Desktop Entry]`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Type=Application`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Exec=sh -c &amp;quot;PATH=/packages/openvideopro/bin:$PATH LD_LIBRARY_PATH=/packages/openvideopro/lib64 /packages/openvideopro/bin/qjackctl&amp;quot;`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Hidden=false`&amp;lt;br&amp;gt;&lt;br /&gt;
`#NoDisplay=false`&amp;lt;br&amp;gt;&lt;br /&gt;
`#X-GNOME-Autostart-enabled=true`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Name[en_US]=qjackctl`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Name=qjackctl`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Comment[en_US]=Launch openvideopro qjackctl / -GChriss`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Comment=Launch openvideopro qjackctl / -GChriss`&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
sudo updatedb&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#Stress-test CPU temperature stability (often necessary, proceed at own risk):&amp;lt;br&amp;gt;&lt;br /&gt;
burnMMX &amp;amp; burnMMX &amp;amp; burnMMX &amp;amp; burnMMX`&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#network-manager can sometimes be flaky, issue on an as-needed basis:`&amp;lt;br&amp;gt;&lt;br /&gt;
service network-manager restart&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#Start JACK either via command-line or 'Start' button in QjackCtl, launch GStreamer pipeline, then renice pipeline to -18 or so.`&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Pidgin==&lt;br /&gt;
`#This section is for building Pidgin and Farsight from source.`&amp;lt;br&amp;gt;&lt;br /&gt;
`#Pidgin has XMMP videoconferencing abilities that may be helpful in a A/V production environment.`&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get -y install cdbs dh-autoreconf dh-translations gir1.2-farstream-0.1 hardening-wrapper mercurial-git libavahi-glib-dev libdbus-glib-1-dev libenchant-dev libgadu3 libgadu-dev libgtkspell-dev libgtkspell-3-dev libidn11-dev libjson-glib-dev liblaunchpad-integration-dev libmeanwhile-dev libncursesw5-dev libnspr4-dev libnss3-dev libperl-dev libsasl2-dev libsqlite3-dev libstartup-notification0-dev libwebkitgtk-3.0-dev libxss-dev libzephyr-dev network-manager-dev python-dev python-gtk2-dev python-scour tcl tcl-dev tcl8.5 tcl8.5-dev tk tk-dev tk8.5 tk8.5-dev x11proto-scrnsaver-dev&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
wget http://gstreamer.freedesktop.org/src/gst-python/gst-python-0.10.22.tar.gz&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf gst-python-0.10.22.tar.gz &amp;amp;&amp;amp; cd gst-python-0.10.22&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://nice.freedesktop.org/releases/libnice-0.1.4.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf libnice-0.1.4.tar.gz &amp;amp;&amp;amp; cd libnice-0.1.4&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#[Skip the following two blocks if building Pidgin against GStreamer 1.0]`&amp;lt;br&amp;gt;&lt;br /&gt;
wget http://freedesktop.org/software/farstream/releases/farstream/farstream-0.1.2.tar.gz&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf farstream-0.1.2.tar &amp;amp;&amp;amp; cd farstream-0.1.2&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
http://sourceforge.net/projects/pidgin/files/Pidgin/2.10.7/pidgin-2.10.7.tar.bz2 ==&amp;gt; download file&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf pidgin-2.10.7.tar.bz2 &amp;amp;&amp;amp; cd pidgin-2.10.7&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro --with-gstreamer=0.10 &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
sudo make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
`#[/skip]`&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#[Experimental section; builds and launches but Pidgin&amp;lt;-&amp;gt;GStreamer 1.0 lockups triggered on events...]`&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://freedesktop.org/software/farstream/releases/farstream/farstream-0.2.3.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf farstream-0.2.3.tar.gz &amp;amp;&amp;amp; cd farstream-0.2.3&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
hg clone http://hg.pidgin.im/pidgin/main pidgin_1may2013 &amp;amp;&amp;amp; cd pidgin_1may2013&amp;lt;br&amp;gt;&lt;br /&gt;
NOCONFIGURE=1 ./autogen.sh &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br&amp;gt;&lt;br /&gt;
GTK_LIBS='-L/packages/openvideopro/lib -lgstvideo-1.0' ./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 make install&lt;br /&gt;
`#[/end experimental section]`&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Totem==&lt;br /&gt;
apt-get -y install itstool libclutter-gst-dev libclutter-gtk-1.0-dev gsettings-desktop-schemas-dev libbonobo2-dev libgail-dev libxtst-dev libgmime-2.6-dev libsoup-gnome2.4-dev gobject-introspection libpeas-dev libvala-0.16-dev valac-0.16-vapi valac-0.16 pylint liblircclient-dev&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#[Include support for non-libre standards implemented using free software...]`&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get -y install libbz2-dev libcurl4-gnutls-dev libfaad-dev libmms-dev libgio2.0-cil-dev&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/opus/opus-1.0.2.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf opus-1.0.2.tar.gz &amp;amp;&amp;amp; cd opus-1.0.2&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.0.7.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gst-plugins-bad-1.0.7.tar.xz &amp;amp;&amp;amp; cd gst-plugins-bad-1.0.7&amp;lt;br&amp;gt;&lt;br /&gt;
OPUS_CFLAGS='-I/packages/openvideopro/include' ./configure --enable-experimental --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.acc.umu.se/pub/GNOME/sources/clutter-gst/2.0/clutter-gst-2.0.0.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf clutter-gst-2.0.0.tar.xz &amp;amp;&amp;amp; cd clutter-gst-2.0.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.gnome.org/pub/GNOME/sources/atk/2.8/atk-2.8.0.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf atk-2.8.0.tar.xz &amp;amp;&amp;amp; cd atk-2.8.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro --disable-glibtest &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget http://ftp.gnome.org/pub/GNOME/sources/at-spi2-core/2.8/at-spi2-core-2.8.0.tar.xz&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf at-spi2-core-2.8.0.tar.xz &amp;amp;&amp;amp; cd at-spi2-core-2.8.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.gnome.org/pub/GNOME/sources/at-spi2-atk/2.8/at-spi2-atk-2.8.1.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf at-spi2-atk-2.8.1.tar.xz &amp;amp;&amp;amp; cd at-spi2-atk-2.8.1&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.gnome.org/pub/gnome/sources/gtk+/3.6/gtk+-3.6.4.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gtk+-3.6.4.tar.xz &amp;amp;&amp;amp; cd gtk+-3.6.4&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro --disable-glibtest &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.gnome.org/pub/GNOME/sources/gobject-introspection/1.36/gobject-introspection-1.36.0.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gobject-introspection-1.36.0.tar.xz &amp;amp;&amp;amp; cd gobject-introspection-1.36.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://cairographics.org/releases/py2cairo-1.10.0.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf py2cairo-1.10.0.tar.bz2 &amp;amp;&amp;amp; cd py2cairo-1.10.0&amp;lt;br&amp;gt;&lt;br /&gt;
./waf configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
./waf build &amp;amp;&amp;gt;gsc_build.log&amp;lt;br&amp;gt;&lt;br /&gt;
./waf install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.acc.umu.se/pub/GNOME/sources/pygobject/3.9/pygobject-3.9.1.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf pygobject-3.9.1.tar.xz &amp;amp;&amp;amp; cd pygobject-3.9.1&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --disable-glibtest --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.gnome.org/pub/gnome/sources/totem-pl-parser/3.4/totem-pl-parser-3.4.4.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf totem-pl-parser-3.4.4.tar.xz &amp;amp;&amp;amp; cd totem-pl-parser-3.4.4&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.acc.umu.se/pub/GNOME/sources/grilo/0.2/grilo-0.2.5.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf grilo-0.2.5.tar.xz &amp;amp;&amp;amp; cd grilo-0.2.5&amp;lt;br&amp;gt;&lt;br /&gt;
./configure  --disable-debug --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#[Optional extra Totem plugins]`&amp;lt;br&amp;gt;&lt;br /&gt;
sudo apt-get -y install libdconf-dbus-1-0 libgssdp-1.0-dev libgupnp-1.0-dev libgupnp-av-1.0-dev libgupnp-dlna-1.0-dev libdmapsharing-3.0-dev libgdata-dev libquvi-dev libtracker-sparql-0.14-dev&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://ftp.gnome.org/pub/GNOME/sources/grilo-plugins/0.2/grilo-plugins-0.2.6.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf grilo-plugins-0.2.6.tar.xz &amp;amp;&amp;amp; cd grilo-plugins-0.2.6&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
`#[TODO: Fix HTTP ('urisource-http') downloads]`&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.gnome.org/pub/GNOME/sources/totem/3.8/totem-3.8.0.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf totem-3.8.0.tar.xz &amp;amp;&amp;amp; cd totem-3.8.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd&amp;lt;br&amp;gt;&lt;br /&gt;
totem &amp;amp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
`#Launch Totem a few time to clear extraneous GStreamer plugin messages from being printed on the Terminal`&amp;lt;br&amp;gt;&lt;br /&gt;
==LightWorks (proprietary, tethered application)==&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://mirrors.us.kernel.org/ubuntu/pool/multiverse/n/nvidia-cg-toolkit/nvidia-cg-toolkit_3.0.0016-0ubuntu1_amd64.deb&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://mirrors.us.kernel.org/ubuntu/pool/multiverse/n/nvidia-cg-toolkit/libcg_3.0.0016-0ubuntu1_amd64.deb&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
dpkg -i nvidia-cg-toolkit_3.0.0016-0ubuntu1_amd64.deb libcg_3.0.0016-0ubuntu1_amd64.deb&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get -y install libportaudio2 libportaudiocpp0 libgsf-1-114 libgsf-1-common libjack-jackd2-0&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.lwks.com/betas-linux --&amp;gt; Register, agree to terms of service, download lwks-11.1.H-amd64.deb&amp;lt;br&amp;gt;&lt;br /&gt;
dpkg -i lwks-11.1.H-amd64.deb&amp;lt;br&amp;gt;&lt;br /&gt;
lightworks &amp;amp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/GST_cookbook/Trisquel6</id>
		<title>GST cookbook/Trisquel6</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/GST_cookbook/Trisquel6"/>
				<updated>2013-05-05T17:22:43Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: +libsoupcutter-dev + WebM + LightWorks&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Trisquel Release 6.0 (toutatis) GStreamer Build Instructions&amp;lt;br&amp;gt;&lt;br /&gt;
Tested on a Lenovo x201i by GChriss / 15-April-2013 &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Prepare live USB key as documented:&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://cdimage.trisquel.info/trisquel-images/trisquel_6.0_amd64.iso.torrent&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
transmission-gtk trisquel_6.0_amd64.iso.torrent &amp;amp;&amp;lt;br&amp;gt;&lt;br /&gt;
dd if=/path/to/trisquel_6.0_amd64.iso of=/dev/sdX bs=8M&amp;lt;br&amp;gt;&lt;br /&gt;
sync&amp;lt;br&amp;gt;&lt;br /&gt;
cd /media/trisquel\ 6.0\ amd64/&amp;lt;br&amp;gt;&lt;br /&gt;
md5sum -c md5sum.txt&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Boot USB key in BIOS -&amp;gt; Install to disk -&amp;gt; Manual partition&amp;lt;br&amp;gt;&lt;br /&gt;
Use a smaller '/' partition (~20GB), ~2GB swap space, the remainder as '/home', all primary partitions&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Run through install prompts and reboot&amp;lt;br&amp;gt;&lt;br /&gt;
Works out-of-box: backlight, suspend, audio, USB, 10/100 Ethernet, graphics acceleration, Atheros AR5418 Wireless Network Adapter (168c:0024 -- BIOS modification required)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Trisquel Menu -&amp;gt; System Settings -&amp;gt; Disable screensaver, screen dimming, suspend-on-lid-close, sound effects, window animations&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Open Terminal:&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Get this stuff outta here...&amp;lt;br&amp;gt;&lt;br /&gt;
/etc/init.d/apparmor stop&amp;lt;br&amp;gt;&lt;br /&gt;
update-rc.d -f apparmor remove&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get --purge remove apparmor apparmor-utils libapparmor-perl libapparmor1 gnash libjack-jackd2-0 pidgin-data gstreamer0.10-tools gnome-app-install&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get update&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;echo &amp;quot;linux-image-generic hold&amp;quot; | dpkg --set-selections&amp;lt;br&amp;gt;&lt;br /&gt;
(To undo: echo &amp;quot;linux-image-generic install&amp;quot; | dpkg --set-selections )&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get dist-upgrade&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get install bzip2 wget curl bison flex fakeroot vim mlocate subversion git-core openssh-server build-essential libtool intltool checkinstall autoconf automake kernel-package libasound2-dev libcanberra-gtk3-dev libffi-dev libfftw3-dev libgconf2-dev libglade2-dev libgnome-media-profiles-dev libgtkmm-3.0-dev libjson0-dev libncurses5-dev libqt3-mt-dev libsamplerate0-dev libsdl1.2-dev libsndfile1-dev libsoupcutter-dev libspeexdsp-dev libudev-dev libv4l-dev libxi-dev libxml2-dev libxmu-dev libxv-dev pciutils-dev cu sysfsutils gtk-doc-tools gnome-doc-utils iasl alsa-tools lm-sensors mkvtoolnix mkvtoolnix-gui cpuburn indicator-multiload indicator-cpufreq qt4-dev-tools libfam-dev&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
chmod 0755 /usr/bin/cpufreq-selector&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Create this file and add the line that follows:&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/modprobe.d/thinkpad_acpi.conf &amp;lt;br&amp;gt;&lt;br /&gt;
options thinkpad_acpi fan_control=1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/rc.local --&amp;gt; add the following:&amp;lt;br&amp;gt;&lt;br /&gt;
chmod 666 /proc/acpi/ibm/fan&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
exit&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
indicator-multiload &amp;amp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional but helpful step for realtime audio processing&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
cd /usr/src&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://linux-libre.fsfla.org/pub/linux-libre/releases/LATEST-3.8.N/linux-libre-3.8.6-gnu.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf linux-libre-3.8.6-gnu.tar.bz2&amp;lt;br&amp;gt;&lt;br /&gt;
cd linux-3.8.6/&amp;lt;br&amp;gt;&lt;br /&gt;
cp /boot/config-3.2.0-38-generic .config&amp;lt;br&amp;gt;&lt;br /&gt;
make oldconfig -&amp;gt; hold down enter key to accept defaults&amp;lt;br&amp;gt;&lt;br /&gt;
make gconfig&amp;lt;br&amp;gt;&lt;br /&gt;
'CONFIG_PREEMPT=y' + ALSA built as modules, 'CONFIG_HZ_100=y'&amp;lt;br&amp;gt;&lt;br /&gt;
Consider adding Easycap: CONFIG_MEDIA_ANALOG_TV_SUPPORT=y + CONFIG_VIDEO_STK1160=m &amp;lt;br&amp;gt;&lt;br /&gt;
CONCURRENCY_LEVEL=4 fakeroot make deb-pkg &amp;amp;&amp;gt;gsc_make-deb-pkg.log&amp;lt;br&amp;gt;&lt;br /&gt;
dpkg -i ../*.deb&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
reboot and check for PREEMPT in 'uname -a':&amp;lt;br&amp;gt;&lt;br /&gt;
Linux x201 3.8.6-gnu #1 SMP PREEMPT Sat Apr 13 02:07:48 EDT 2013 x86_64 x86_64 x86_64 GNU/Linux&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
mkdir -p /packages/openvideopro &amp;amp;&amp;amp; mkdir -p /packages/openvideopro/lib &amp;amp;&amp;amp; mkdir -p /packages/openvideopro/bin&amp;lt;br&amp;gt;&lt;br /&gt;
mkdir -p /packages/openvideopro/lib/pkgconfig&amp;lt;br&amp;gt;&lt;br /&gt;
chown -R gchriss:users /packages&amp;lt;br&amp;gt;&lt;br /&gt;
exit&amp;lt;br&amp;gt;&lt;br /&gt;
rm -Rf ~/.gstreamer-0.10&amp;lt;br&amp;gt;&lt;br /&gt;
vi ~/.bashrc -&amp;gt; add the following:&amp;lt;br&amp;gt;&lt;br /&gt;
export GST_PLUGIN_SYSTEM_PATH=&amp;quot;/packages/openvideopro/lib&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
export GST_PLUGIN_PATH=&amp;quot;/packages/openvideopro/lib&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
export PKG_CONFIG_PATH=/packages/openvideopro/lib/pkgconfig:/packages/openvideopro/lib64/pkgconfig&amp;lt;br&amp;gt;&lt;br /&gt;
export PATH=/packages/openvideopro/bin:$PATH&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.gnu.org/gnu/automake/automake-1.13.1.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf automake-1.13.1.tar.gz &amp;amp;&amp;amp; cd automake-1.13.1&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://repo.or.cz/nasm.git nasm_14april2013 &amp;amp;&amp;amp; cd nasm_14april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./autogen.sh --no-configure &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
YASM is optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://github.com/yasm/yasm.git yasm_14april2013 &amp;amp;&amp;amp; cd yasm_14april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./autogen.sh --no-configure &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://code.entropywave.com/git/orc.git orc_14april2013 &amp;amp;&amp;amp; cd orc_14april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./autogen.sh &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://jackaudio.org/downloads/jack-audio-connection-kit-0.121.3.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf jack-audio-connection-kit-0.121.3.tar.gz &amp;amp;&amp;amp; cd jack-audio-connection-kit-0.121.3&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-optimize --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/security/limits.conf -&amp;gt; add the following line:&amp;lt;br&amp;gt;&lt;br /&gt;
@audio          -       rtprio          99&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/security/limits.d/audio.conf -&amp;gt; create file with the following line:&amp;lt;br&amp;gt;&lt;br /&gt;
@audio - rtprio 95&amp;lt;br&amp;gt;&lt;br /&gt;
@audio - memlock unlimited&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
usermod -a -G audio gchriss --&amp;gt; subsitute 'gchriss' for your username&amp;lt;br&amp;gt;&lt;br /&gt;
exit&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
At this point UI volume controls are missing/non-functional, but alsamixer works.&amp;lt;br&amp;gt;&lt;br /&gt;
Build pulseaudio if needed, but otherwise optional:&amp;lt;br&amp;gt;&lt;br /&gt;
rm -rf  ~/.pulse* /tmp/.esd*&amp;lt;br&amp;gt;&lt;br /&gt;
sudo -rf /tmp/pulse*&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://freedesktop.org/software/pulseaudio/releases/pulseaudio-3.0.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf pulseaudio-3.0.tar.xz&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro  &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
mkdir -p /packages/openvideopro/var/run/pulse &amp;amp;&amp;amp;  mkdir -p /packages/openvideopro/var/lib/pulse&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Also optional (but recommended):&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-0.10.36.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf gstreamer-0.10.36.tar.gz &amp;amp;&amp;amp; cd gstreamer-0.10.36&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-0.10.36.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf gst-plugins-base-0.10.36.tar.gz &amp;amp;&amp;amp; cd gst-plugins-base-0.10.36&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-0.10.31.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf gst-plugins-good-0.10.31.tar.gz &amp;amp;&amp;amp; cd gst-plugins-good-0.10.31&amp;lt;br&amp;gt;&lt;br /&gt;
See: http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=9f2aa8d47f835ea155aaf635f618c0fc1ca87012&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt; Remove line containing 'vbuffer.input' in 'sys/v4l2/gstv4l2bufferpool.c'&amp;lt;br&amp;gt;&lt;br /&gt;
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/packages/openvideopro/lib64/pkgconfig  ./configure --enable-experimental --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_configure.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget https://launchpad.net/gnome-media/main/2.91.2/+download/gnome-media-2.91.2.tar.bz2&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf gnome-media-2.91.2.tar.bz2 &amp;amp;&amp;amp; cd gnome-media-2.91.2&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro  &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
TODO: Figure out how to rebuild UI volume controls (e.g., keyboard volume buttons)&amp;lt;br&amp;gt;&lt;br /&gt;
TODO: The following builds but fails to connect to pulseaudio... debug needed?&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://git.0pointer.de/pavucontrol pavucontrol_15april2013 &amp;amp;&amp;amp; cd pavucontrol_15april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./bootstrap.sh &amp;amp;&amp;gt;gsc_bootstrap.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
TODO: Rebuild Totem + PiTiVi&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/ogg/libogg-1.3.0.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf libogg-1.3.0.tar.gz &amp;amp;&amp;amp; cd libogg-1.3.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.3.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf libvorbis-1.3.3.tar.gz &amp;amp;&amp;amp; cd libvorbis-1.3.3/&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf libtheora-1.1.1.tar.bz2 &amp;amp;&amp;amp; cd libtheora-1.1.1&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Open abrowser, download:&amp;lt;br&amp;gt;&lt;br /&gt;
http://sourceforge.net/projects/libjpeg-turbo/files/1.2.90%20%281.3beta1%29/libjpeg-turbo-1.2.90.tar.gz/download&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; tar -xvzf libjpeg-turbo-1.2.90.tar.gz &amp;amp;&amp;amp; cd libjpeg-turbo-1.2.90&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro --with-jpeg8 &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://dl.matroska.org/downloads/libebml/libebml-1.2.2.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf libebml-1.2.2.tar.bz2 &amp;amp;&amp;amp; cd libebml-1.2.2&amp;lt;br&amp;gt;&lt;br /&gt;
make -C make/linux install_staticlib install_headers prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://dl.matroska.org/downloads/libmatroska/libmatroska-1.3.0.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf libmatroska-1.3.0.tar.bz2 &amp;amp;&amp;amp; cd libmatroska-1.3.0/&amp;lt;br&amp;gt;&lt;br /&gt;
CXXFLAGS='-I/packages/openvideopro/include' make -C make/linux install_staticlib install_headers prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/libshout/libshout-2.3.1.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf libshout-2.3.1.tar.gz &amp;amp;&amp;amp; cd libshout-2.3.1&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.acc.umu.se/pub/GNOME/sources/glib/2.37/glib-2.37.0.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf glib-2.37.0.tar.xz &amp;amp;&amp;amp; cd glib-2.37.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
[all 'make check' tests pass]&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.27.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf alsa-lib-1.0.27.tar.bz2 &amp;amp;&amp;amp; cd alsa-lib-1.0.27&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://webm.googlecode.com/files/libvpx-v1.1.0.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf libvpx-v1.1.0.tar.bz2 &amp;amp;&amp;amp; cd libvpx-v1.1.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
 make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.0.6.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gstreamer-1.0.6.tar.xz &amp;amp;&amp;amp; cd gstreamer-1.0.6&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-failing-tests --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make check &amp;amp;&amp;gt;gsc_check.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.0.6.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gst-plugins-base-1.0.6.tar.xz &amp;amp;&amp;amp; cd gst-plugins-base-1.0.6&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make check &amp;amp;&amp;gt;gsc_check.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.0.6.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gst-plugins-good-1.0.6.tar.xz &amp;amp;&amp;amp; cd gst-plugins-good-1.0.6&amp;lt;br&amp;gt;&lt;br /&gt;
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/packages/openvideopro/lib64/pkgconfig ./configure --enable-experimental --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_configure.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional but really helpful:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.sourceforge.net/qjackctl/qjackctl-0.3.10.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf qjackctl-0.3.10.tar.gz &amp;amp;&amp;amp; cd qjackctl-0.3.10&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro --with-jack=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===&amp;lt;br&amp;gt;&lt;br /&gt;
Create the following block entries for automatic execution @ user login&amp;lt;br&amp;gt;&lt;br /&gt;
The first two entries are specific to managing Thinkpad-series laptops&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
gsc@host:~$  cat ~/.config/autostart/cpufreq-selector.desktop &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Desktop Entry]&amp;lt;br&amp;gt;&lt;br /&gt;
Type=Application&amp;lt;br&amp;gt;&lt;br /&gt;
Exec=sh -c &amp;quot;/usr/bin/cpufreq-selector -c 0 -g performance &amp;amp; /usr/bin/cpufreq-selector -c 1 -g performance &amp;amp; /usr/bin/cpufreq-selector -c 2 -g performance &amp;amp; /usr/bin/cpufreq-selector -c 3 -g performance&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Hidden=false&amp;lt;br&amp;gt;&lt;br /&gt;
NoDisplay=false&amp;lt;br&amp;gt;&lt;br /&gt;
X-GNOME-Autostart-enabled=true&amp;lt;br&amp;gt;&lt;br /&gt;
Name[en_US]=cpu-freq-selector&amp;lt;br&amp;gt;&lt;br /&gt;
Name=cpufreq-selector&amp;lt;br&amp;gt;&lt;br /&gt;
Comment[en_US]=Set 2.4GHz (x4)&amp;lt;br&amp;gt;&lt;br /&gt;
Comment=Set 2.4GHz (x4)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
gsc@host:~$ cat ~/.config/autostart/echo.desktop &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Desktop Entry]&amp;lt;br&amp;gt;&lt;br /&gt;
Type=Application&amp;lt;br&amp;gt;&lt;br /&gt;
Exec=sh -c &amp;quot;echo level 7 &amp;gt; /proc/acpi/ibm/fan&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Hidden=false&amp;lt;br&amp;gt;&lt;br /&gt;
NoDisplay=false&amp;lt;br&amp;gt;&lt;br /&gt;
X-GNOME-Autostart-enabled=true&amp;lt;br&amp;gt;&lt;br /&gt;
Name[en_US]=Spin up x201i Fan&amp;lt;br&amp;gt;&lt;br /&gt;
Name=Spin up x201i Fan&amp;lt;br&amp;gt;&lt;br /&gt;
Comment[en_US]=Substitute 'disengaged' for '7' for max speed&amp;lt;br&amp;gt;&lt;br /&gt;
Comment=Substitute 'disengaged' for '7' for max speed&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
gsc@host:~$ cat ~/.config/autostart/gnome-terminal.desktop &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Desktop Entry]&amp;lt;br&amp;gt;&lt;br /&gt;
Type=Application&amp;lt;br&amp;gt;&lt;br /&gt;
Exec=gnome-terminal&amp;lt;br&amp;gt;&lt;br /&gt;
Hidden=false&amp;lt;br&amp;gt;&lt;br /&gt;
NoDisplay=false&amp;lt;br&amp;gt;&lt;br /&gt;
X-GNOME-Autostart-enabled=true&amp;lt;br&amp;gt;&lt;br /&gt;
Name[en_US]=GNOME Terminal&amp;lt;br&amp;gt;&lt;br /&gt;
Name=GNOME Terminal&amp;lt;br&amp;gt;&lt;br /&gt;
Comment[en_US]=Just to get things started...&amp;lt;br&amp;gt;&lt;br /&gt;
Comment=Just to get things started...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
gsc@host:~$  cat ~/.config/autostart/qjackctl.desktop &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Desktop Entry]&amp;lt;br&amp;gt;&lt;br /&gt;
Type=Application&amp;lt;br&amp;gt;&lt;br /&gt;
Exec=sh -c &amp;quot;PATH=/packages/openvideopro/bin:$PATH LD_LIBRARY_PATH=/packages/openvideopro/lib64 /packages/openvideopro/bin/qjackctl&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Hidden=false&amp;lt;br&amp;gt;&lt;br /&gt;
NoDisplay=false&amp;lt;br&amp;gt;&lt;br /&gt;
X-GNOME-Autostart-enabled=true&amp;lt;br&amp;gt;&lt;br /&gt;
Name[en_US]=qjackctl&amp;lt;br&amp;gt;&lt;br /&gt;
Name=qjackctl&amp;lt;br&amp;gt;&lt;br /&gt;
Comment[en_US]=Launch openvideopro qjackctl / -GChriss&amp;lt;br&amp;gt;&lt;br /&gt;
Comment=Launch openvideopro qjackctl / -GChriss&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
sudo updatedb&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Stress-test CPU temperature stability (often necessary, proceed at own risk):&amp;lt;br&amp;gt;&lt;br /&gt;
burnMMX &amp;amp; burnMMX &amp;amp; burnMMX &amp;amp; burnMMX&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
network-manager can sometimes be flaky, issue on an as-needed basis:&amp;lt;br&amp;gt;&lt;br /&gt;
service network-manager restart&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Start JACK either via command-line or 'Start' button in QjackCtl, launch GStreamer pipeline, then renice pipeline to -18 or so.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Pidgin==&lt;br /&gt;
This section is for building Pidgin and Farsight from source.&amp;lt;br&amp;gt;&lt;br /&gt;
Pidgin has XMMP videoconferencing abilities that may be helpful in a A/V production environment.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get install cdbs dh-autoreconf dh-translations gir1.2-farstream-0.1 hardening-wrapper mercurial-git libavahi-glib-dev libdbus-glib-1-dev libenchant-dev libgadu3 libgadu-dev libgtkspell-dev libgtkspell-3-dev libidn11-dev libjson-glib-dev liblaunchpad-integration-dev libmeanwhile-dev libncursesw5-dev libnspr4-dev libnss3-dev libperl-dev libsasl2-dev libsqlite3-dev libstartup-notification0-dev libwebkitgtk-3.0-dev libxss-dev libzephyr-dev network-manager-dev python-dev python-gtk2-dev python-scour tcl tcl-dev tcl8.5 tcl8.5-dev tk tk-dev tk8.5 tk8.5-dev x11proto-scrnsaver-dev&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
wget http://gstreamer.freedesktop.org/src/gst-python/gst-python-0.10.22.tar.gz&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf gst-python-0.10.22.tar.gz &amp;amp;&amp;amp; cd gst-python-0.10.22&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://nice.freedesktop.org/releases/libnice-0.1.4.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf libnice-0.1.4.tar.gz &amp;amp;&amp;amp; cd libnice-0.1.4&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Skip the following two blocks if building Pidgin against GStreamer 1.0]&amp;lt;br&amp;gt;&lt;br /&gt;
wget http://freedesktop.org/software/farstream/releases/farstream/farstream-0.1.2.tar.gz&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf farstream-0.1.2.tar &amp;amp;&amp;amp; cd farstream-0.1.2&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
http://sourceforge.net/projects/pidgin/files/Pidgin/2.10.7/pidgin-2.10.7.tar.bz2 ==&amp;gt; download file&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf pidgin-2.10.7.tar.bz2 &amp;amp;&amp;amp; cd pidgin-2.10.7&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro --with-gstreamer=0.10 &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
sudo make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
[/skip]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Experimental section; builds and launches but Pidgin&amp;lt;-&amp;gt;GStreamer 1.0 lockups triggered on events...]&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://freedesktop.org/software/farstream/releases/farstream/farstream-0.2.3.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf farstream-0.2.3.tar.gz &amp;amp;&amp;amp; cd farstream-0.2.3&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
hg clone http://hg.pidgin.im/pidgin/main pidgin_1may2013 &amp;amp;&amp;amp; cd pidgin_1may2013&amp;lt;br&amp;gt;&lt;br /&gt;
NOCONFIGURE=1 ./autogen.sh &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br&amp;gt;&lt;br /&gt;
GTK_LIBS='-L/packages/openvideopro/lib -lgstvideo-1.0' ./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 make install&lt;br /&gt;
[/end experimental section]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Totem==&lt;br /&gt;
apt-get install itstool libclutter-gst-dev libclutter-gtk-1.0-dev gsettings-desktop-schemas-dev libbonobo2-dev libgail-dev libxtst-dev libgmime-2.6-dev libsoup-gnome2.4-dev gobject-introspection libpeas-dev libvala-0.16-dev valac-0.16-vapi valac-0.16 pylint liblircclient-dev&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Include support for non-libre standards implemented using free software...]&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get install libbz2-dev libcurl4-gnutls-dev libfaad-dev libmms-dev libgio2.0-cil-dev&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/opus/opus-1.0.2.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf opus-1.0.2.tar.gz &amp;amp;&amp;amp; cd opus-1.0.2&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.0.7.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gst-plugins-bad-1.0.7.tar.xz &amp;amp;&amp;amp; cd gst-plugins-bad-1.0.7&amp;lt;br&amp;gt;&lt;br /&gt;
OPUS_CFLAGS='-I/packages/openvideopro/include' ./configure --enable-experimental --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.acc.umu.se/pub/GNOME/sources/clutter-gst/2.0/clutter-gst-2.0.0.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf clutter-gst-2.0.0.tar.xz &amp;amp;&amp;amp; cd clutter-gst-2.0.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.gnome.org/pub/GNOME/sources/atk/2.8/atk-2.8.0.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf atk-2.8.0.tar.xz &amp;amp;&amp;amp; cd atk-2.8.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro --disable-glibtest &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget http://ftp.gnome.org/pub/GNOME/sources/at-spi2-core/2.8/at-spi2-core-2.8.0.tar.xz&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf at-spi2-core-2.8.0.tar.xz &amp;amp;&amp;amp; cd at-spi2-core-2.8.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.gnome.org/pub/GNOME/sources/at-spi2-atk/2.8/at-spi2-atk-2.8.1.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf at-spi2-atk-2.8.1.tar.xz &amp;amp;&amp;amp; cd at-spi2-atk-2.8.1&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.gnome.org/pub/gnome/sources/gtk+/3.6/gtk+-3.6.4.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gtk+-3.6.4.tar.xz &amp;amp;&amp;amp; cd gtk+-3.6.4&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro --disable-glibtest &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.gnome.org/pub/GNOME/sources/gobject-introspection/1.36/gobject-introspection-1.36.0.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gobject-introspection-1.36.0.tar.xz &amp;amp;&amp;amp; cd gobject-introspection-1.36.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://cairographics.org/releases/py2cairo-1.10.0.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf py2cairo-1.10.0.tar.bz2 &amp;amp;&amp;amp; cd py2cairo-1.10.0&amp;lt;br&amp;gt;&lt;br /&gt;
./waf configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
./waf build &amp;amp;&amp;gt;gsc_build.log&amp;lt;br&amp;gt;&lt;br /&gt;
./waf install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.acc.umu.se/pub/GNOME/sources/pygobject/3.9/pygobject-3.9.1.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf pygobject-3.9.1.tar.xz &amp;amp;&amp;amp; cd pygobject-3.9.1&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --disable-glibtest --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.gnome.org/pub/gnome/sources/totem-pl-parser/3.4/totem-pl-parser-3.4.4.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf totem-pl-parser-3.4.4.tar.xz &amp;amp;&amp;amp; cd totem-pl-parser-3.4.4&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.acc.umu.se/pub/GNOME/sources/grilo/0.2/grilo-0.2.5.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf grilo-0.2.5.tar.xz &amp;amp;&amp;amp; cd grilo-0.2.5&amp;lt;br&amp;gt;&lt;br /&gt;
./configure  --disable-debug --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Optional extra Totem plugins]&amp;lt;br&amp;gt;&lt;br /&gt;
sudo apt-get install libdconf-dbus-1-0 libgssdp-1.0-dev libgupnp-1.0-dev libgupnp-av-1.0-dev libgupnp-dlna-1.0-dev libdmapsharing-3.0-dev libgdata-dev libquvi-dev libtracker-sparql-0.14-dev&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://ftp.gnome.org/pub/GNOME/sources/grilo-plugins/0.2/grilo-plugins-0.2.6.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf grilo-plugins-0.2.6.tar.xz &amp;amp;&amp;amp; cd grilo-plugins-0.2.6&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
[TODO: Fix HTTP ('urisource-http') downloads]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.gnome.org/pub/GNOME/sources/totem/3.8/totem-3.8.0.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf totem-3.8.0.tar.xz &amp;amp;&amp;amp; cd totem-3.8.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd&amp;lt;br&amp;gt;&lt;br /&gt;
totem &amp;amp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Launch Totem a few time to clear extraneous GStreamer plugin messages from being printed on the Terminal&amp;lt;br&amp;gt;&lt;br /&gt;
==LightWorks (proprietary, tethered application)==&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://mirrors.us.kernel.org/ubuntu/pool/multiverse/n/nvidia-cg-toolkit/nvidia-cg-toolkit_3.0.0016-0ubuntu1_amd64.deb&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://mirrors.us.kernel.org/ubuntu/pool/multiverse/n/nvidia-cg-toolkit/libcg_3.0.0016-0ubuntu1_amd64.deb&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
dpkg -i nvidia-cg-toolkit_3.0.0016-0ubuntu1_amd64.deb libcg_3.0.0016-0ubuntu1_amd64.deb&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get install libportaudio2 libportaudiocpp0 libgsf-1-114 libgsf-1-common libjack-jackd2-0&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.lwks.com/betas-linux --&amp;gt; Register, agree to terms of service, download lwks-11.1.H-amd64.deb&amp;lt;br&amp;gt;&lt;br /&gt;
dpkg -i lwks-11.1.H-amd64.deb&amp;lt;br&amp;gt;&lt;br /&gt;
lightworks &amp;amp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/GST_cookbook/Trisquel6</id>
		<title>GST cookbook/Trisquel6</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/GST_cookbook/Trisquel6"/>
				<updated>2013-05-04T17:16:47Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: /* Totem */ add grilo plugins&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Trisquel Release 6.0 (toutatis) GStreamer Build Instructions&amp;lt;br&amp;gt;&lt;br /&gt;
Tested on a Lenovo x201i by GChriss / 15-April-2013 &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Prepare live USB key as documented:&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://cdimage.trisquel.info/trisquel-images/trisquel_6.0_amd64.iso.torrent&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
transmission-gtk trisquel_6.0_amd64.iso.torrent &amp;amp;&amp;lt;br&amp;gt;&lt;br /&gt;
dd if=/path/to/trisquel_6.0_amd64.iso of=/dev/sdX bs=8M&amp;lt;br&amp;gt;&lt;br /&gt;
sync&amp;lt;br&amp;gt;&lt;br /&gt;
cd /media/trisquel\ 6.0\ amd64/&amp;lt;br&amp;gt;&lt;br /&gt;
md5sum -c md5sum.txt&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Boot USB key in BIOS -&amp;gt; Install to disk -&amp;gt; Manual partition&amp;lt;br&amp;gt;&lt;br /&gt;
Use a smaller '/' partition (~20GB), ~2GB swap space, the remainder as '/home', all primary partitions&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Run through install prompts and reboot&amp;lt;br&amp;gt;&lt;br /&gt;
Works out-of-box: backlight, suspend, audio, USB, 10/100 Ethernet, graphics acceleration, Atheros AR5418 Wireless Network Adapter (168c:0024 -- BIOS modification required)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Trisquel Menu -&amp;gt; System Settings -&amp;gt; Disable screensaver, screen dimming, suspend-on-lid-close, sound effects, window animations&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Open Terminal:&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Get this stuff outta here...&amp;lt;br&amp;gt;&lt;br /&gt;
/etc/init.d/apparmor stop&amp;lt;br&amp;gt;&lt;br /&gt;
update-rc.d -f apparmor remove&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get --purge remove apparmor apparmor-utils libapparmor-perl libapparmor1 gnash libjack-jackd2-0 pidgin-data gstreamer0.10-tools gnome-app-install&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get update&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;echo &amp;quot;linux-image-generic hold&amp;quot; | dpkg --set-selections&amp;lt;br&amp;gt;&lt;br /&gt;
(To undo: echo &amp;quot;linux-image-generic install&amp;quot; | dpkg --set-selections )&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get dist-upgrade&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get install bzip2 wget curl bison flex fakeroot vim mlocate subversion git-core openssh-server build-essential libtool intltool checkinstall autoconf automake kernel-package libasound2-dev libcanberra-gtk3-dev libffi-dev libfftw3-dev libgconf2-dev libglade2-dev libgnome-media-profiles-dev libgtkmm-3.0-dev libjson0-dev libncurses5-dev libqt3-mt-dev libsamplerate0-dev libsdl1.2-dev libsndfile1-dev libspeexdsp-dev libudev-dev libv4l-dev libxi-dev libxml2-dev libxmu-dev libxv-dev pciutils-dev cu sysfsutils gtk-doc-tools gnome-doc-utils iasl alsa-tools lm-sensors mkvtoolnix mkvtoolnix-gui cpuburn indicator-multiload indicator-cpufreq qt4-dev-tools libfam-dev&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
chmod 0755 /usr/bin/cpufreq-selector&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Create this file and add the line that follows:&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/modprobe.d/thinkpad_acpi.conf &amp;lt;br&amp;gt;&lt;br /&gt;
options thinkpad_acpi fan_control=1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/rc.local --&amp;gt; add the following:&amp;lt;br&amp;gt;&lt;br /&gt;
chmod 666 /proc/acpi/ibm/fan&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
exit&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
indicator-multiload &amp;amp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional but helpful step for realtime audio processing&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
cd /usr/src&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://linux-libre.fsfla.org/pub/linux-libre/releases/LATEST-3.8.N/linux-libre-3.8.6-gnu.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf linux-libre-3.8.6-gnu.tar.bz2&amp;lt;br&amp;gt;&lt;br /&gt;
cd linux-3.8.6/&amp;lt;br&amp;gt;&lt;br /&gt;
cp /boot/config-3.2.0-38-generic .config&amp;lt;br&amp;gt;&lt;br /&gt;
make oldconfig -&amp;gt; hold down enter key to accept defaults&amp;lt;br&amp;gt;&lt;br /&gt;
make gconfig&amp;lt;br&amp;gt;&lt;br /&gt;
'CONFIG_PREEMPT=y' + ALSA built as modules, 'CONFIG_HZ_100=y'&amp;lt;br&amp;gt;&lt;br /&gt;
Consider adding Easycap: CONFIG_MEDIA_ANALOG_TV_SUPPORT=y + CONFIG_VIDEO_STK1160=m &amp;lt;br&amp;gt;&lt;br /&gt;
CONCURRENCY_LEVEL=4 fakeroot make deb-pkg &amp;amp;&amp;gt;gsc_make-deb-pkg.log&amp;lt;br&amp;gt;&lt;br /&gt;
dpkg -i ../*.deb&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
reboot and check for PREEMPT in 'uname -a':&amp;lt;br&amp;gt;&lt;br /&gt;
Linux x201 3.8.6-gnu #1 SMP PREEMPT Sat Apr 13 02:07:48 EDT 2013 x86_64 x86_64 x86_64 GNU/Linux&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
mkdir -p /packages/openvideopro &amp;amp;&amp;amp; mkdir -p /packages/openvideopro/lib &amp;amp;&amp;amp; mkdir -p /packages/openvideopro/bin&amp;lt;br&amp;gt;&lt;br /&gt;
mkdir -p /packages/openvideopro/lib/pkgconfig&amp;lt;br&amp;gt;&lt;br /&gt;
chown -R gchriss:users /packages&amp;lt;br&amp;gt;&lt;br /&gt;
exit&amp;lt;br&amp;gt;&lt;br /&gt;
rm -Rf ~/.gstreamer-0.10&amp;lt;br&amp;gt;&lt;br /&gt;
vi ~/.bashrc -&amp;gt; add the following:&amp;lt;br&amp;gt;&lt;br /&gt;
export GST_PLUGIN_SYSTEM_PATH=&amp;quot;/packages/openvideopro/lib&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
export GST_PLUGIN_PATH=&amp;quot;/packages/openvideopro/lib&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
export PKG_CONFIG_PATH=/packages/openvideopro/lib/pkgconfig:/packages/openvideopro/lib64/pkgconfig&amp;lt;br&amp;gt;&lt;br /&gt;
export PATH=/packages/openvideopro/bin:$PATH&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.gnu.org/gnu/automake/automake-1.13.1.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf automake-1.13.1.tar.gz &amp;amp;&amp;amp; cd automake-1.13.1&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://repo.or.cz/nasm.git nasm_14april2013 &amp;amp;&amp;amp; cd nasm_14april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./autogen.sh --no-configure &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
YASM is optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://github.com/yasm/yasm.git yasm_14april2013 &amp;amp;&amp;amp; cd yasm_14april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./autogen.sh --no-configure &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://code.entropywave.com/git/orc.git orc_14april2013 &amp;amp;&amp;amp; cd orc_14april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./autogen.sh &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://jackaudio.org/downloads/jack-audio-connection-kit-0.121.3.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf jack-audio-connection-kit-0.121.3.tar.gz &amp;amp;&amp;amp; cd jack-audio-connection-kit-0.121.3&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-optimize --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/security/limits.conf -&amp;gt; add the following line:&amp;lt;br&amp;gt;&lt;br /&gt;
@audio          -       rtprio          99&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/security/limits.d/audio.conf -&amp;gt; create file with the following line:&amp;lt;br&amp;gt;&lt;br /&gt;
@audio - rtprio 95&amp;lt;br&amp;gt;&lt;br /&gt;
@audio - memlock unlimited&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
usermod -a -G audio gchriss --&amp;gt; subsitute 'gchriss' for your username&amp;lt;br&amp;gt;&lt;br /&gt;
exit&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
At this point UI volume controls are missing/non-functional, but alsamixer works.&amp;lt;br&amp;gt;&lt;br /&gt;
Build pulseaudio if needed, but otherwise optional:&amp;lt;br&amp;gt;&lt;br /&gt;
rm -rf  ~/.pulse* /tmp/.esd*&amp;lt;br&amp;gt;&lt;br /&gt;
sudo -rf /tmp/pulse*&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://freedesktop.org/software/pulseaudio/releases/pulseaudio-3.0.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf pulseaudio-3.0.tar.xz&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro  &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
mkdir -p /packages/openvideopro/var/run/pulse &amp;amp;&amp;amp;  mkdir -p /packages/openvideopro/var/lib/pulse&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Also optional (but recommended):&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-0.10.36.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf gstreamer-0.10.36.tar.gz &amp;amp;&amp;amp; cd gstreamer-0.10.36&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-0.10.36.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf gst-plugins-base-0.10.36.tar.gz &amp;amp;&amp;amp; cd gst-plugins-base-0.10.36&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-0.10.31.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf gst-plugins-good-0.10.31.tar.gz &amp;amp;&amp;amp; cd gst-plugins-good-0.10.31&amp;lt;br&amp;gt;&lt;br /&gt;
See: http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=9f2aa8d47f835ea155aaf635f618c0fc1ca87012&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt; Remove line containing 'vbuffer.input' in 'sys/v4l2/gstv4l2bufferpool.c'&amp;lt;br&amp;gt;&lt;br /&gt;
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/packages/openvideopro/lib64/pkgconfig  ./configure --enable-experimental --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_configure.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget https://launchpad.net/gnome-media/main/2.91.2/+download/gnome-media-2.91.2.tar.bz2&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf gnome-media-2.91.2.tar.bz2 &amp;amp;&amp;amp; cd gnome-media-2.91.2&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro  &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
TODO: Figure out how to rebuild UI volume controls (e.g., keyboard volume buttons)&amp;lt;br&amp;gt;&lt;br /&gt;
TODO: The following builds but fails to connect to pulseaudio... debug needed?&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://git.0pointer.de/pavucontrol pavucontrol_15april2013 &amp;amp;&amp;amp; cd pavucontrol_15april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./bootstrap.sh &amp;amp;&amp;gt;gsc_bootstrap.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
TODO: Rebuild Totem + PiTiVi&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/ogg/libogg-1.3.0.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf libogg-1.3.0.tar.gz &amp;amp;&amp;amp; cd libogg-1.3.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.3.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf libvorbis-1.3.3.tar.gz &amp;amp;&amp;amp; cd libvorbis-1.3.3/&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf libtheora-1.1.1.tar.bz2 &amp;amp;&amp;amp; cd libtheora-1.1.1&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Open abrowser, download:&amp;lt;br&amp;gt;&lt;br /&gt;
http://sourceforge.net/projects/libjpeg-turbo/files/1.2.90%20%281.3beta1%29/libjpeg-turbo-1.2.90.tar.gz/download&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; tar -xvzf libjpeg-turbo-1.2.90.tar.gz &amp;amp;&amp;amp; cd libjpeg-turbo-1.2.90&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro --with-jpeg8 &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://dl.matroska.org/downloads/libebml/libebml-1.2.2.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf libebml-1.2.2.tar.bz2 &amp;amp;&amp;amp; cd libebml-1.2.2&amp;lt;br&amp;gt;&lt;br /&gt;
make -C make/linux install_staticlib install_headers prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://dl.matroska.org/downloads/libmatroska/libmatroska-1.3.0.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf libmatroska-1.3.0.tar.bz2 &amp;amp;&amp;amp; cd libmatroska-1.3.0/&amp;lt;br&amp;gt;&lt;br /&gt;
CXXFLAGS='-I/packages/openvideopro/include' make -C make/linux install_staticlib install_headers prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/libshout/libshout-2.3.1.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf libshout-2.3.1.tar.gz &amp;amp;&amp;amp; cd libshout-2.3.1&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.acc.umu.se/pub/GNOME/sources/glib/2.37/glib-2.37.0.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf glib-2.37.0.tar.xz &amp;amp;&amp;amp; cd glib-2.37.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
[all 'make check' tests pass]&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.27.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf alsa-lib-1.0.27.tar.bz2 &amp;amp;&amp;amp; cd alsa-lib-1.0.27&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.0.6.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gstreamer-1.0.6.tar.xz &amp;amp;&amp;amp; cd gstreamer-1.0.6&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-failing-tests --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make check &amp;amp;&amp;gt;gsc_check.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.0.6.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gst-plugins-base-1.0.6.tar.xz &amp;amp;&amp;amp; cd gst-plugins-base-1.0.6&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make check &amp;amp;&amp;gt;gsc_check.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.0.6.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gst-plugins-good-1.0.6.tar.xz &amp;amp;&amp;amp; cd gst-plugins-good-1.0.6&amp;lt;br&amp;gt;&lt;br /&gt;
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/packages/openvideopro/lib64/pkgconfig ./configure --enable-experimental --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_configure.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional but really helpful:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.sourceforge.net/qjackctl/qjackctl-0.3.10.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf qjackctl-0.3.10.tar.gz &amp;amp;&amp;amp; cd qjackctl-0.3.10&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro --with-jack=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===&amp;lt;br&amp;gt;&lt;br /&gt;
Create the following block entries for automatic execution @ user login&amp;lt;br&amp;gt;&lt;br /&gt;
The first two entries are specific to managing Thinkpad-series laptops&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
gsc@host:~$  cat ~/.config/autostart/cpufreq-selector.desktop &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Desktop Entry]&amp;lt;br&amp;gt;&lt;br /&gt;
Type=Application&amp;lt;br&amp;gt;&lt;br /&gt;
Exec=sh -c &amp;quot;/usr/bin/cpufreq-selector -c 0 -g performance &amp;amp; /usr/bin/cpufreq-selector -c 1 -g performance &amp;amp; /usr/bin/cpufreq-selector -c 2 -g performance &amp;amp; /usr/bin/cpufreq-selector -c 3 -g performance&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Hidden=false&amp;lt;br&amp;gt;&lt;br /&gt;
NoDisplay=false&amp;lt;br&amp;gt;&lt;br /&gt;
X-GNOME-Autostart-enabled=true&amp;lt;br&amp;gt;&lt;br /&gt;
Name[en_US]=cpu-freq-selector&amp;lt;br&amp;gt;&lt;br /&gt;
Name=cpufreq-selector&amp;lt;br&amp;gt;&lt;br /&gt;
Comment[en_US]=Set 2.4GHz (x4)&amp;lt;br&amp;gt;&lt;br /&gt;
Comment=Set 2.4GHz (x4)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
gsc@host:~$ cat ~/.config/autostart/echo.desktop &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Desktop Entry]&amp;lt;br&amp;gt;&lt;br /&gt;
Type=Application&amp;lt;br&amp;gt;&lt;br /&gt;
Exec=sh -c &amp;quot;echo level 7 &amp;gt; /proc/acpi/ibm/fan&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Hidden=false&amp;lt;br&amp;gt;&lt;br /&gt;
NoDisplay=false&amp;lt;br&amp;gt;&lt;br /&gt;
X-GNOME-Autostart-enabled=true&amp;lt;br&amp;gt;&lt;br /&gt;
Name[en_US]=Spin up x201i Fan&amp;lt;br&amp;gt;&lt;br /&gt;
Name=Spin up x201i Fan&amp;lt;br&amp;gt;&lt;br /&gt;
Comment[en_US]=Substitute 'disengaged' for '7' for max speed&amp;lt;br&amp;gt;&lt;br /&gt;
Comment=Substitute 'disengaged' for '7' for max speed&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
gsc@host:~$ cat ~/.config/autostart/gnome-terminal.desktop &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Desktop Entry]&amp;lt;br&amp;gt;&lt;br /&gt;
Type=Application&amp;lt;br&amp;gt;&lt;br /&gt;
Exec=gnome-terminal&amp;lt;br&amp;gt;&lt;br /&gt;
Hidden=false&amp;lt;br&amp;gt;&lt;br /&gt;
NoDisplay=false&amp;lt;br&amp;gt;&lt;br /&gt;
X-GNOME-Autostart-enabled=true&amp;lt;br&amp;gt;&lt;br /&gt;
Name[en_US]=GNOME Terminal&amp;lt;br&amp;gt;&lt;br /&gt;
Name=GNOME Terminal&amp;lt;br&amp;gt;&lt;br /&gt;
Comment[en_US]=Just to get things started...&amp;lt;br&amp;gt;&lt;br /&gt;
Comment=Just to get things started...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
gsc@host:~$  cat ~/.config/autostart/qjackctl.desktop &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Desktop Entry]&amp;lt;br&amp;gt;&lt;br /&gt;
Type=Application&amp;lt;br&amp;gt;&lt;br /&gt;
Exec=sh -c &amp;quot;PATH=/packages/openvideopro/bin:$PATH LD_LIBRARY_PATH=/packages/openvideopro/lib64 /packages/openvideopro/bin/qjackctl&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Hidden=false&amp;lt;br&amp;gt;&lt;br /&gt;
NoDisplay=false&amp;lt;br&amp;gt;&lt;br /&gt;
X-GNOME-Autostart-enabled=true&amp;lt;br&amp;gt;&lt;br /&gt;
Name[en_US]=qjackctl&amp;lt;br&amp;gt;&lt;br /&gt;
Name=qjackctl&amp;lt;br&amp;gt;&lt;br /&gt;
Comment[en_US]=Launch openvideopro qjackctl / -GChriss&amp;lt;br&amp;gt;&lt;br /&gt;
Comment=Launch openvideopro qjackctl / -GChriss&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
sudo updatedb&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Stress-test CPU temperature stability (often necessary, proceed at own risk):&amp;lt;br&amp;gt;&lt;br /&gt;
burnMMX &amp;amp; burnMMX &amp;amp; burnMMX &amp;amp; burnMMX&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
network-manager can sometimes be flaky, issue on an as-needed basis:&amp;lt;br&amp;gt;&lt;br /&gt;
service network-manager restart&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Start JACK either via command-line or 'Start' button in QjackCtl, launch GStreamer pipeline, then renice pipeline to -18 or so.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Pidgin==&lt;br /&gt;
This section is for building Pidgin and Farsight from source.&amp;lt;br&amp;gt;&lt;br /&gt;
Pidgin has XMMP videoconferencing abilities that may be helpful in a A/V production environment.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get install cdbs dh-autoreconf dh-translations gir1.2-farstream-0.1 hardening-wrapper mercurial-git libavahi-glib-dev libdbus-glib-1-dev libenchant-dev libgadu3 libgadu-dev libgtkspell-dev libgtkspell-3-dev libidn11-dev libjson-glib-dev liblaunchpad-integration-dev libmeanwhile-dev libncursesw5-dev libnspr4-dev libnss3-dev libperl-dev libsasl2-dev libsqlite3-dev libstartup-notification0-dev libwebkitgtk-3.0-dev libxss-dev libzephyr-dev network-manager-dev python-dev python-gtk2-dev python-scour tcl tcl-dev tcl8.5 tcl8.5-dev tk tk-dev tk8.5 tk8.5-dev x11proto-scrnsaver-dev&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
wget http://gstreamer.freedesktop.org/src/gst-python/gst-python-0.10.22.tar.gz&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf gst-python-0.10.22.tar.gz &amp;amp;&amp;amp; cd gst-python-0.10.22&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://nice.freedesktop.org/releases/libnice-0.1.4.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf libnice-0.1.4.tar.gz &amp;amp;&amp;amp; cd libnice-0.1.4&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Skip the following two blocks if building Pidgin against GStreamer 1.0]&amp;lt;br&amp;gt;&lt;br /&gt;
wget http://freedesktop.org/software/farstream/releases/farstream/farstream-0.1.2.tar.gz&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf farstream-0.1.2.tar &amp;amp;&amp;amp; cd farstream-0.1.2&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
http://sourceforge.net/projects/pidgin/files/Pidgin/2.10.7/pidgin-2.10.7.tar.bz2 ==&amp;gt; download file&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf pidgin-2.10.7.tar.bz2 &amp;amp;&amp;amp; cd pidgin-2.10.7&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro --with-gstreamer=0.10 &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
sudo make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
[/skip]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Experimental section; builds and launches but Pidgin&amp;lt;-&amp;gt;GStreamer 1.0 lockups triggered on events...]&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://freedesktop.org/software/farstream/releases/farstream/farstream-0.2.3.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf farstream-0.2.3.tar.gz &amp;amp;&amp;amp; cd farstream-0.2.3&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
hg clone http://hg.pidgin.im/pidgin/main pidgin_1may2013 &amp;amp;&amp;amp; cd pidgin_1may2013&amp;lt;br&amp;gt;&lt;br /&gt;
NOCONFIGURE=1 ./autogen.sh &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br&amp;gt;&lt;br /&gt;
GTK_LIBS='-L/packages/openvideopro/lib -lgstvideo-1.0' ./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 make install&lt;br /&gt;
[/end experimental section]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Totem==&lt;br /&gt;
apt-get install itstool libclutter-gst-dev libclutter-gtk-1.0-dev gsettings-desktop-schemas-dev libbonobo2-dev libgail-dev libxtst-dev libgmime-2.6-dev libsoup-gnome2.4-dev gobject-introspection libpeas-dev libvala-0.16-dev valac-0.16-vapi valac-0.16 pylint liblircclient-dev&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Include support for non-libre standards implemented using free software...]&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get install libbz2-dev libcurl4-gnutls-dev libfaad-dev libmms-dev libgio2.0-cil-dev&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/opus/opus-1.0.2.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf opus-1.0.2.tar.gz &amp;amp;&amp;amp; cd opus-1.0.2&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.0.7.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gst-plugins-bad-1.0.7.tar.xz &amp;amp;&amp;amp; cd gst-plugins-bad-1.0.7&amp;lt;br&amp;gt;&lt;br /&gt;
OPUS_CFLAGS='-I/packages/openvideopro/include' ./configure --enable-experimental --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.acc.umu.se/pub/GNOME/sources/clutter-gst/2.0/clutter-gst-2.0.0.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf clutter-gst-2.0.0.tar.xz &amp;amp;&amp;amp; cd clutter-gst-2.0.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.gnome.org/pub/GNOME/sources/atk/2.8/atk-2.8.0.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf atk-2.8.0.tar.xz &amp;amp;&amp;amp; cd atk-2.8.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro --disable-glibtest &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget http://ftp.gnome.org/pub/GNOME/sources/at-spi2-core/2.8/at-spi2-core-2.8.0.tar.xz&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf at-spi2-core-2.8.0.tar.xz &amp;amp;&amp;amp; cd at-spi2-core-2.8.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.gnome.org/pub/GNOME/sources/at-spi2-atk/2.8/at-spi2-atk-2.8.1.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf at-spi2-atk-2.8.1.tar.xz &amp;amp;&amp;amp; cd at-spi2-atk-2.8.1&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.gnome.org/pub/gnome/sources/gtk+/3.6/gtk+-3.6.4.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gtk+-3.6.4.tar.xz &amp;amp;&amp;amp; cd gtk+-3.6.4&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro --disable-glibtest &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.gnome.org/pub/GNOME/sources/gobject-introspection/1.36/gobject-introspection-1.36.0.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gobject-introspection-1.36.0.tar.xz &amp;amp;&amp;amp; cd gobject-introspection-1.36.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://cairographics.org/releases/py2cairo-1.10.0.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf py2cairo-1.10.0.tar.bz2 &amp;amp;&amp;amp; cd py2cairo-1.10.0&amp;lt;br&amp;gt;&lt;br /&gt;
./waf configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
./waf build &amp;amp;&amp;gt;gsc_build.log&amp;lt;br&amp;gt;&lt;br /&gt;
./waf install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.acc.umu.se/pub/GNOME/sources/pygobject/3.9/pygobject-3.9.1.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf pygobject-3.9.1.tar.xz &amp;amp;&amp;amp; cd pygobject-3.9.1&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --disable-glibtest --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.gnome.org/pub/gnome/sources/totem-pl-parser/3.4/totem-pl-parser-3.4.4.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf totem-pl-parser-3.4.4.tar.xz &amp;amp;&amp;amp; cd totem-pl-parser-3.4.4&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.acc.umu.se/pub/GNOME/sources/grilo/0.2/grilo-0.2.5.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf grilo-0.2.5.tar.xz &amp;amp;&amp;amp; cd grilo-0.2.5&amp;lt;br&amp;gt;&lt;br /&gt;
./configure  --disable-debug --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Optional extra Totem plugins]&amp;lt;br&amp;gt;&lt;br /&gt;
sudo apt-get install libdconf-dbus-1-0 libgssdp-1.0-dev libgupnp-1.0-dev libgupnp-av-1.0-dev libgupnp-dlna-1.0-dev libdmapsharing-3.0-dev libgdata-dev libquvi-dev libtracker-sparql-0.14-dev&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://ftp.gnome.org/pub/GNOME/sources/grilo-plugins/0.2/grilo-plugins-0.2.6.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf grilo-plugins-0.2.6.tar.xz &amp;amp;&amp;amp; cd grilo-plugins-0.2.6&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
[TODO: Fix HTTP ('urisource-http') downloads]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.gnome.org/pub/GNOME/sources/totem/3.8/totem-3.8.0.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf totem-3.8.0.tar.xz &amp;amp;&amp;amp; cd totem-3.8.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd&amp;lt;br&amp;gt;&lt;br /&gt;
totem &amp;amp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Launch Totem a few time to clear extraneous GStreamer plugin messages from being printed on the Terminal&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/GST_cookbook/Trisquel6</id>
		<title>GST cookbook/Trisquel6</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/GST_cookbook/Trisquel6"/>
				<updated>2013-05-04T07:14:46Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: add first-past Totem instructions + edits to main build instructions.  Totem works just fine, if not a little rough on edges&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Trisquel Release 6.0 (toutatis) GStreamer Build Instructions&amp;lt;br&amp;gt;&lt;br /&gt;
Tested on a Lenovo x201i by GChriss / 15-April-2013 &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Prepare live USB key as documented:&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://cdimage.trisquel.info/trisquel-images/trisquel_6.0_amd64.iso.torrent&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
transmission-gtk trisquel_6.0_amd64.iso.torrent &amp;amp;&amp;lt;br&amp;gt;&lt;br /&gt;
dd if=/path/to/trisquel_6.0_amd64.iso of=/dev/sdX bs=8M&amp;lt;br&amp;gt;&lt;br /&gt;
sync&amp;lt;br&amp;gt;&lt;br /&gt;
cd /media/trisquel\ 6.0\ amd64/&amp;lt;br&amp;gt;&lt;br /&gt;
md5sum -c md5sum.txt&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Boot USB key in BIOS -&amp;gt; Install to disk -&amp;gt; Manual partition&amp;lt;br&amp;gt;&lt;br /&gt;
Use a smaller '/' partition (~20GB), ~2GB swap space, the remainder as '/home', all primary partitions&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Run through install prompts and reboot&amp;lt;br&amp;gt;&lt;br /&gt;
Works out-of-box: backlight, suspend, audio, USB, 10/100 Ethernet, graphics acceleration, Atheros AR5418 Wireless Network Adapter (168c:0024 -- BIOS modification required)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Trisquel Menu -&amp;gt; System Settings -&amp;gt; Disable screensaver, screen dimming, suspend-on-lid-close, sound effects, window animations&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Open Terminal:&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Get this stuff outta here...&amp;lt;br&amp;gt;&lt;br /&gt;
/etc/init.d/apparmor stop&amp;lt;br&amp;gt;&lt;br /&gt;
update-rc.d -f apparmor remove&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get --purge remove apparmor apparmor-utils libapparmor-perl libapparmor1 gnash libjack-jackd2-0 pidgin-data gstreamer0.10-tools gnome-app-install&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get update&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;echo &amp;quot;linux-image-generic hold&amp;quot; | dpkg --set-selections&amp;lt;br&amp;gt;&lt;br /&gt;
(To undo: echo &amp;quot;linux-image-generic install&amp;quot; | dpkg --set-selections )&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get dist-upgrade&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get install bzip2 wget curl bison flex fakeroot vim mlocate subversion git-core openssh-server build-essential libtool intltool checkinstall autoconf automake kernel-package libasound2-dev libcanberra-gtk3-dev libffi-dev libfftw3-dev libgconf2-dev libglade2-dev libgnome-media-profiles-dev libgtkmm-3.0-dev libjson0-dev libncurses5-dev libqt3-mt-dev libsamplerate0-dev libsdl1.2-dev libsndfile1-dev libspeexdsp-dev libudev-dev libv4l-dev libxi-dev libxml2-dev libxmu-dev libxv-dev pciutils-dev cu sysfsutils gtk-doc-tools gnome-doc-utils iasl alsa-tools lm-sensors mkvtoolnix mkvtoolnix-gui cpuburn indicator-multiload indicator-cpufreq qt4-dev-tools libfam-dev&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
chmod 0755 /usr/bin/cpufreq-selector&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Create this file and add the line that follows:&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/modprobe.d/thinkpad_acpi.conf &amp;lt;br&amp;gt;&lt;br /&gt;
options thinkpad_acpi fan_control=1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/rc.local --&amp;gt; add the following:&amp;lt;br&amp;gt;&lt;br /&gt;
chmod 666 /proc/acpi/ibm/fan&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
exit&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
indicator-multiload &amp;amp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional but helpful step for realtime audio processing&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
cd /usr/src&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://linux-libre.fsfla.org/pub/linux-libre/releases/LATEST-3.8.N/linux-libre-3.8.6-gnu.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf linux-libre-3.8.6-gnu.tar.bz2&amp;lt;br&amp;gt;&lt;br /&gt;
cd linux-3.8.6/&amp;lt;br&amp;gt;&lt;br /&gt;
cp /boot/config-3.2.0-38-generic .config&amp;lt;br&amp;gt;&lt;br /&gt;
make oldconfig -&amp;gt; hold down enter key to accept defaults&amp;lt;br&amp;gt;&lt;br /&gt;
make gconfig&amp;lt;br&amp;gt;&lt;br /&gt;
'CONFIG_PREEMPT=y' + ALSA built as modules, 'CONFIG_HZ_100=y'&amp;lt;br&amp;gt;&lt;br /&gt;
Consider adding Easycap: CONFIG_MEDIA_ANALOG_TV_SUPPORT=y + CONFIG_VIDEO_STK1160=m &amp;lt;br&amp;gt;&lt;br /&gt;
CONCURRENCY_LEVEL=4 fakeroot make deb-pkg &amp;amp;&amp;gt;gsc_make-deb-pkg.log&amp;lt;br&amp;gt;&lt;br /&gt;
dpkg -i ../*.deb&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
reboot and check for PREEMPT in 'uname -a':&amp;lt;br&amp;gt;&lt;br /&gt;
Linux x201 3.8.6-gnu #1 SMP PREEMPT Sat Apr 13 02:07:48 EDT 2013 x86_64 x86_64 x86_64 GNU/Linux&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
mkdir -p /packages/openvideopro &amp;amp;&amp;amp; mkdir -p /packages/openvideopro/lib &amp;amp;&amp;amp; mkdir -p /packages/openvideopro/bin&amp;lt;br&amp;gt;&lt;br /&gt;
mkdir -p /packages/openvideopro/lib/pkgconfig&amp;lt;br&amp;gt;&lt;br /&gt;
chown -R gchriss:users /packages&amp;lt;br&amp;gt;&lt;br /&gt;
exit&amp;lt;br&amp;gt;&lt;br /&gt;
rm -Rf ~/.gstreamer-0.10&amp;lt;br&amp;gt;&lt;br /&gt;
vi ~/.bashrc -&amp;gt; add the following:&amp;lt;br&amp;gt;&lt;br /&gt;
export GST_PLUGIN_SYSTEM_PATH=&amp;quot;/packages/openvideopro/lib&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
export GST_PLUGIN_PATH=&amp;quot;/packages/openvideopro/lib&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
export PKG_CONFIG_PATH=/packages/openvideopro/lib/pkgconfig:/packages/openvideopro/lib64/pkgconfig&amp;lt;br&amp;gt;&lt;br /&gt;
export PATH=/packages/openvideopro/bin:$PATH&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.gnu.org/gnu/automake/automake-1.13.1.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf automake-1.13.1.tar.gz &amp;amp;&amp;amp; cd automake-1.13.1&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://repo.or.cz/nasm.git nasm_14april2013 &amp;amp;&amp;amp; cd nasm_14april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./autogen.sh --no-configure &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
YASM is optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://github.com/yasm/yasm.git yasm_14april2013 &amp;amp;&amp;amp; cd yasm_14april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./autogen.sh --no-configure &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://code.entropywave.com/git/orc.git orc_14april2013 &amp;amp;&amp;amp; cd orc_14april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./autogen.sh &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://jackaudio.org/downloads/jack-audio-connection-kit-0.121.3.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf jack-audio-connection-kit-0.121.3.tar.gz &amp;amp;&amp;amp; cd jack-audio-connection-kit-0.121.3&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-optimize --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/security/limits.conf -&amp;gt; add the following line:&amp;lt;br&amp;gt;&lt;br /&gt;
@audio          -       rtprio          99&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/security/limits.d/audio.conf -&amp;gt; create file with the following line:&amp;lt;br&amp;gt;&lt;br /&gt;
@audio - rtprio 95&amp;lt;br&amp;gt;&lt;br /&gt;
@audio - memlock unlimited&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
usermod -a -G audio gchriss --&amp;gt; subsitute 'gchriss' for your username&amp;lt;br&amp;gt;&lt;br /&gt;
exit&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
At this point UI volume controls are missing/non-functional, but alsamixer works.&amp;lt;br&amp;gt;&lt;br /&gt;
Build pulseaudio if needed, but otherwise optional:&amp;lt;br&amp;gt;&lt;br /&gt;
rm -rf  ~/.pulse* /tmp/.esd*&amp;lt;br&amp;gt;&lt;br /&gt;
sudo -rf /tmp/pulse*&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://freedesktop.org/software/pulseaudio/releases/pulseaudio-3.0.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf pulseaudio-3.0.tar.xz&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro  &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
mkdir -p /packages/openvideopro/var/run/pulse &amp;amp;&amp;amp;  mkdir -p /packages/openvideopro/var/lib/pulse&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Also optional (but recommended):&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-0.10.36.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf gstreamer-0.10.36.tar.gz &amp;amp;&amp;amp; cd gstreamer-0.10.36&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-0.10.36.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf gst-plugins-base-0.10.36.tar.gz &amp;amp;&amp;amp; cd gst-plugins-base-0.10.36&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-0.10.31.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf gst-plugins-good-0.10.31.tar.gz &amp;amp;&amp;amp; cd gst-plugins-good-0.10.31&amp;lt;br&amp;gt;&lt;br /&gt;
See: http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=9f2aa8d47f835ea155aaf635f618c0fc1ca87012&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt; Remove line containing 'vbuffer.input' in 'sys/v4l2/gstv4l2bufferpool.c'&amp;lt;br&amp;gt;&lt;br /&gt;
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/packages/openvideopro/lib64/pkgconfig  ./configure --enable-experimental --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_configure.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget https://launchpad.net/gnome-media/main/2.91.2/+download/gnome-media-2.91.2.tar.bz2&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf gnome-media-2.91.2.tar.bz2 &amp;amp;&amp;amp; cd gnome-media-2.91.2&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro  &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
TODO: Figure out how to rebuild UI volume controls (e.g., keyboard volume buttons)&amp;lt;br&amp;gt;&lt;br /&gt;
TODO: The following builds but fails to connect to pulseaudio... debug needed?&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://git.0pointer.de/pavucontrol pavucontrol_15april2013 &amp;amp;&amp;amp; cd pavucontrol_15april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./bootstrap.sh &amp;amp;&amp;gt;gsc_bootstrap.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
TODO: Rebuild Totem + PiTiVi&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/ogg/libogg-1.3.0.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf libogg-1.3.0.tar.gz &amp;amp;&amp;amp; cd libogg-1.3.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.3.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf libvorbis-1.3.3.tar.gz &amp;amp;&amp;amp; cd libvorbis-1.3.3/&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf libtheora-1.1.1.tar.bz2 &amp;amp;&amp;amp; cd libtheora-1.1.1&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Open abrowser, download:&amp;lt;br&amp;gt;&lt;br /&gt;
http://sourceforge.net/projects/libjpeg-turbo/files/1.2.90%20%281.3beta1%29/libjpeg-turbo-1.2.90.tar.gz/download&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; tar -xvzf libjpeg-turbo-1.2.90.tar.gz &amp;amp;&amp;amp; cd libjpeg-turbo-1.2.90&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro --with-jpeg8 &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://dl.matroska.org/downloads/libebml/libebml-1.2.2.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf libebml-1.2.2.tar.bz2 &amp;amp;&amp;amp; cd libebml-1.2.2&amp;lt;br&amp;gt;&lt;br /&gt;
make -C make/linux install_staticlib install_headers prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://dl.matroska.org/downloads/libmatroska/libmatroska-1.3.0.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf libmatroska-1.3.0.tar.bz2 &amp;amp;&amp;amp; cd libmatroska-1.3.0/&amp;lt;br&amp;gt;&lt;br /&gt;
CXXFLAGS='-I/packages/openvideopro/include' make -C make/linux install_staticlib install_headers prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/libshout/libshout-2.3.1.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf libshout-2.3.1.tar.gz &amp;amp;&amp;amp; cd libshout-2.3.1&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.acc.umu.se/pub/GNOME/sources/glib/2.37/glib-2.37.0.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf glib-2.37.0.tar.xz &amp;amp;&amp;amp; cd glib-2.37.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
[all 'make check' tests pass]&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.27.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf alsa-lib-1.0.27.tar.bz2 &amp;amp;&amp;amp; cd alsa-lib-1.0.27&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.0.6.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gstreamer-1.0.6.tar.xz &amp;amp;&amp;amp; cd gstreamer-1.0.6&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-failing-tests --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make check &amp;amp;&amp;gt;gsc_check.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.0.6.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gst-plugins-base-1.0.6.tar.xz &amp;amp;&amp;amp; cd gst-plugins-base-1.0.6&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make check &amp;amp;&amp;gt;gsc_check.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.0.6.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gst-plugins-good-1.0.6.tar.xz &amp;amp;&amp;amp; cd gst-plugins-good-1.0.6&amp;lt;br&amp;gt;&lt;br /&gt;
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/packages/openvideopro/lib64/pkgconfig ./configure --enable-experimental --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_configure.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional but really helpful:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.sourceforge.net/qjackctl/qjackctl-0.3.10.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf qjackctl-0.3.10.tar.gz &amp;amp;&amp;amp; cd qjackctl-0.3.10&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro --with-jack=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===&amp;lt;br&amp;gt;&lt;br /&gt;
Create the following block entries for automatic execution @ user login&amp;lt;br&amp;gt;&lt;br /&gt;
The first two entries are specific to managing Thinkpad-series laptops&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
gsc@host:~$  cat ~/.config/autostart/cpufreq-selector.desktop &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Desktop Entry]&amp;lt;br&amp;gt;&lt;br /&gt;
Type=Application&amp;lt;br&amp;gt;&lt;br /&gt;
Exec=sh -c &amp;quot;/usr/bin/cpufreq-selector -c 0 -g performance &amp;amp; /usr/bin/cpufreq-selector -c 1 -g performance &amp;amp; /usr/bin/cpufreq-selector -c 2 -g performance &amp;amp; /usr/bin/cpufreq-selector -c 3 -g performance&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Hidden=false&amp;lt;br&amp;gt;&lt;br /&gt;
NoDisplay=false&amp;lt;br&amp;gt;&lt;br /&gt;
X-GNOME-Autostart-enabled=true&amp;lt;br&amp;gt;&lt;br /&gt;
Name[en_US]=cpu-freq-selector&amp;lt;br&amp;gt;&lt;br /&gt;
Name=cpufreq-selector&amp;lt;br&amp;gt;&lt;br /&gt;
Comment[en_US]=Set 2.4GHz (x4)&amp;lt;br&amp;gt;&lt;br /&gt;
Comment=Set 2.4GHz (x4)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
gsc@host:~$ cat ~/.config/autostart/echo.desktop &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Desktop Entry]&amp;lt;br&amp;gt;&lt;br /&gt;
Type=Application&amp;lt;br&amp;gt;&lt;br /&gt;
Exec=sh -c &amp;quot;echo level 7 &amp;gt; /proc/acpi/ibm/fan&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Hidden=false&amp;lt;br&amp;gt;&lt;br /&gt;
NoDisplay=false&amp;lt;br&amp;gt;&lt;br /&gt;
X-GNOME-Autostart-enabled=true&amp;lt;br&amp;gt;&lt;br /&gt;
Name[en_US]=Spin up x201i Fan&amp;lt;br&amp;gt;&lt;br /&gt;
Name=Spin up x201i Fan&amp;lt;br&amp;gt;&lt;br /&gt;
Comment[en_US]=Substitute 'disengaged' for '7' for max speed&amp;lt;br&amp;gt;&lt;br /&gt;
Comment=Substitute 'disengaged' for '7' for max speed&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
gsc@host:~$ cat ~/.config/autostart/gnome-terminal.desktop &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Desktop Entry]&amp;lt;br&amp;gt;&lt;br /&gt;
Type=Application&amp;lt;br&amp;gt;&lt;br /&gt;
Exec=gnome-terminal&amp;lt;br&amp;gt;&lt;br /&gt;
Hidden=false&amp;lt;br&amp;gt;&lt;br /&gt;
NoDisplay=false&amp;lt;br&amp;gt;&lt;br /&gt;
X-GNOME-Autostart-enabled=true&amp;lt;br&amp;gt;&lt;br /&gt;
Name[en_US]=GNOME Terminal&amp;lt;br&amp;gt;&lt;br /&gt;
Name=GNOME Terminal&amp;lt;br&amp;gt;&lt;br /&gt;
Comment[en_US]=Just to get things started...&amp;lt;br&amp;gt;&lt;br /&gt;
Comment=Just to get things started...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
gsc@host:~$  cat ~/.config/autostart/qjackctl.desktop &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Desktop Entry]&amp;lt;br&amp;gt;&lt;br /&gt;
Type=Application&amp;lt;br&amp;gt;&lt;br /&gt;
Exec=sh -c &amp;quot;PATH=/packages/openvideopro/bin:$PATH LD_LIBRARY_PATH=/packages/openvideopro/lib64 /packages/openvideopro/bin/qjackctl&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Hidden=false&amp;lt;br&amp;gt;&lt;br /&gt;
NoDisplay=false&amp;lt;br&amp;gt;&lt;br /&gt;
X-GNOME-Autostart-enabled=true&amp;lt;br&amp;gt;&lt;br /&gt;
Name[en_US]=qjackctl&amp;lt;br&amp;gt;&lt;br /&gt;
Name=qjackctl&amp;lt;br&amp;gt;&lt;br /&gt;
Comment[en_US]=Launch openvideopro qjackctl / -GChriss&amp;lt;br&amp;gt;&lt;br /&gt;
Comment=Launch openvideopro qjackctl / -GChriss&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
sudo updatedb&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Stress-test CPU temperature stability (often necessary, proceed at own risk):&amp;lt;br&amp;gt;&lt;br /&gt;
burnMMX &amp;amp; burnMMX &amp;amp; burnMMX &amp;amp; burnMMX&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
network-manager can sometimes be flaky, issue on an as-needed basis:&amp;lt;br&amp;gt;&lt;br /&gt;
service network-manager restart&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Start JACK either via command-line or 'Start' button in QjackCtl, launch GStreamer pipeline, then renice pipeline to -18 or so.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Pidgin==&lt;br /&gt;
This section is for building Pidgin and Farsight from source.&amp;lt;br&amp;gt;&lt;br /&gt;
Pidgin has XMMP videoconferencing abilities that may be helpful in a A/V production environment.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get install cdbs dh-autoreconf dh-translations gir1.2-farstream-0.1 hardening-wrapper mercurial-git libavahi-glib-dev libdbus-glib-1-dev libenchant-dev libgadu3 libgadu-dev libgtkspell-dev libgtkspell-3-dev libidn11-dev libjson-glib-dev liblaunchpad-integration-dev libmeanwhile-dev libncursesw5-dev libnspr4-dev libnss3-dev libperl-dev libsasl2-dev libsqlite3-dev libstartup-notification0-dev libwebkitgtk-3.0-dev libxss-dev libzephyr-dev network-manager-dev python-dev python-gtk2-dev python-scour tcl tcl-dev tcl8.5 tcl8.5-dev tk tk-dev tk8.5 tk8.5-dev x11proto-scrnsaver-dev&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
wget http://gstreamer.freedesktop.org/src/gst-python/gst-python-0.10.22.tar.gz&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf gst-python-0.10.22.tar.gz &amp;amp;&amp;amp; cd gst-python-0.10.22&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://nice.freedesktop.org/releases/libnice-0.1.4.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf libnice-0.1.4.tar.gz &amp;amp;&amp;amp; cd libnice-0.1.4&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Skip the following two blocks if building Pidgin against GStreamer 1.0]&amp;lt;br&amp;gt;&lt;br /&gt;
wget http://freedesktop.org/software/farstream/releases/farstream/farstream-0.1.2.tar.gz&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf farstream-0.1.2.tar &amp;amp;&amp;amp; cd farstream-0.1.2&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
http://sourceforge.net/projects/pidgin/files/Pidgin/2.10.7/pidgin-2.10.7.tar.bz2 ==&amp;gt; download file&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf pidgin-2.10.7.tar.bz2 &amp;amp;&amp;amp; cd pidgin-2.10.7&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro --with-gstreamer=0.10 &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
sudo make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
[/skip]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Experimental section; builds and launches but Pidgin&amp;lt;-&amp;gt;GStreamer 1.0 lockups triggered on events...]&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://freedesktop.org/software/farstream/releases/farstream/farstream-0.2.3.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf farstream-0.2.3.tar.gz &amp;amp;&amp;amp; cd farstream-0.2.3&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
hg clone http://hg.pidgin.im/pidgin/main pidgin_1may2013 &amp;amp;&amp;amp; cd pidgin_1may2013&amp;lt;br&amp;gt;&lt;br /&gt;
NOCONFIGURE=1 ./autogen.sh &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br&amp;gt;&lt;br /&gt;
GTK_LIBS='-L/packages/openvideopro/lib -lgstvideo-1.0' ./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 make install&lt;br /&gt;
[/end experimental section]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Totem==&lt;br /&gt;
apt-get install itstool libclutter-gst-dev libclutter-gtk-1.0-dev gsettings-desktop-schemas-dev libbonobo2-dev libgail-dev libxtst-dev libgmime-2.6-dev libsoup-gnome2.4-dev gobject-introspection libpeas-dev libvala-0.16-dev valac-0.16-vapi valac-0.16 pylint liblircclient-dev&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Include support for non-libre standards implemented using free software...]&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get install libbz2-dev libcurl4-gnutls-dev libfaad-dev libmms-dev libgio2.0-cil-dev&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/opus/opus-1.0.2.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf opus-1.0.2.tar.gz &amp;amp;&amp;amp; cd opus-1.0.2&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.0.7.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gst-plugins-bad-1.0.7.tar.xz &amp;amp;&amp;amp; cd gst-plugins-bad-1.0.7&amp;lt;br&amp;gt;&lt;br /&gt;
OPUS_CFLAGS='-I/packages/openvideopro/include' ./configure --enable-experimental --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.acc.umu.se/pub/GNOME/sources/clutter-gst/2.0/clutter-gst-2.0.0.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf clutter-gst-2.0.0.tar.xz &amp;amp;&amp;amp; cd clutter-gst-2.0.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.gnome.org/pub/GNOME/sources/atk/2.8/atk-2.8.0.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf atk-2.8.0.tar.xz &amp;amp;&amp;amp; cd atk-2.8.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro --disable-glibtest &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget http://ftp.gnome.org/pub/GNOME/sources/at-spi2-core/2.8/at-spi2-core-2.8.0.tar.xz&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf at-spi2-core-2.8.0.tar.xz &amp;amp;&amp;amp; cd at-spi2-core-2.8.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.gnome.org/pub/GNOME/sources/at-spi2-atk/2.8/at-spi2-atk-2.8.1.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf at-spi2-atk-2.8.1.tar.xz &amp;amp;&amp;amp; cd at-spi2-atk-2.8.1&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.gnome.org/pub/gnome/sources/gtk+/3.6/gtk+-3.6.4.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gtk+-3.6.4.tar.xz &amp;amp;&amp;amp; cd gtk+-3.6.4&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro --disable-glibtest &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.gnome.org/pub/GNOME/sources/gobject-introspection/1.36/gobject-introspection-1.36.0.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gobject-introspection-1.36.0.tar.xz &amp;amp;&amp;amp; cd gobject-introspection-1.36.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://cairographics.org/releases/py2cairo-1.10.0.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf py2cairo-1.10.0.tar.bz2 &amp;amp;&amp;amp; cd py2cairo-1.10.0&amp;lt;br&amp;gt;&lt;br /&gt;
./waf configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
./waf build &amp;amp;&amp;gt;gsc_build.log&amp;lt;br&amp;gt;&lt;br /&gt;
./waf install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.acc.umu.se/pub/GNOME/sources/pygobject/3.9/pygobject-3.9.1.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf pygobject-3.9.1.tar.xz &amp;amp;&amp;amp; cd pygobject-3.9.1&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --disable-glibtest --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.gnome.org/pub/gnome/sources/totem-pl-parser/3.4/totem-pl-parser-3.4.4.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf totem-pl-parser-3.4.4.tar.xz &amp;amp;&amp;amp; cd totem-pl-parser-3.4.4&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.acc.umu.se/pub/GNOME/sources/grilo/0.2/grilo-0.2.5.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf grilo-0.2.5.tar.xz &amp;amp;&amp;amp; cd grilo-0.2.5&amp;lt;br&amp;gt;&lt;br /&gt;
./configure  --disable-debug --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.gnome.org/pub/GNOME/sources/totem/3.8/totem-3.8.0.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf totem-3.8.0.tar.xz &amp;amp;&amp;amp; cd totem-3.8.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/GST_cookbook/Trisquel6</id>
		<title>GST cookbook/Trisquel6</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/GST_cookbook/Trisquel6"/>
				<updated>2013-05-02T18:39:33Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: add Pidgin build notes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Trisquel Release 6.0 (toutatis) GStreamer Build Instructions&amp;lt;br&amp;gt;&lt;br /&gt;
Tested on a Lenovo x201i by GChriss / 15-April-2013 &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Prepare live USB key as documented:&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://cdimage.trisquel.info/trisquel-images/trisquel_6.0_amd64.iso.torrent&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
transmission-gtk trisquel_6.0_amd64.iso.torrent &amp;amp;&amp;lt;br&amp;gt;&lt;br /&gt;
dd if=/path/to/trisquel_6.0_amd64.iso of=/dev/sdX bs=8M&amp;lt;br&amp;gt;&lt;br /&gt;
sync&amp;lt;br&amp;gt;&lt;br /&gt;
cd /media/trisquel\ 6.0\ amd64/&amp;lt;br&amp;gt;&lt;br /&gt;
md5sum -c md5sum.txt&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Boot USB key in BIOS -&amp;gt; Install to disk -&amp;gt; Manual partition&amp;lt;br&amp;gt;&lt;br /&gt;
Use a smaller '/' partition (~20GB), ~2GB swap space, the remainder as '/home', all primary partitions&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Run through install prompts and reboot&amp;lt;br&amp;gt;&lt;br /&gt;
Works out-of-box: backlight, suspend, audio, USB, 10/100 Ethernet, graphics acceleration, Atheros AR5418 Wireless Network Adapter (168c:0024 -- BIOS modification required)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Trisquel Menu -&amp;gt; System Settings -&amp;gt; Disable screensaver, screen dimming, suspend-on-lid-close, sound effects, window animations&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Open Terminal:&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Get this stuff outta here...&amp;lt;br&amp;gt;&lt;br /&gt;
/etc/init.d/apparmor stop&amp;lt;br&amp;gt;&lt;br /&gt;
update-rc.d -f apparmor remove&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get --purge remove apparmor apparmor-utils libapparmor-perl libapparmor1 gnash libjack-jackd2-0 pidgin-data gstreamer0.10-tools gnome-app-install&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get update&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;echo &amp;quot;linux-image-generic hold&amp;quot; | dpkg --set-selections&amp;lt;br&amp;gt;&lt;br /&gt;
(To undo: echo &amp;quot;linux-image-generic install&amp;quot; | dpkg --set-selections )&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get dist-upgrade&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get install bzip2 wget curl bison flex fakeroot vim mlocate subversion git-core openssh-server build-essential libtool intltool checkinstall autoconf automake kernel-package libasound2-dev libcanberra-gtk3-dev libffi-dev libfftw3-dev libgconf2-dev libglade2-dev libglib2.0-dev libglib2.0-dev libgnome-media-profiles-dev libgtk2.0-dev libgtkmm-3.0-dev libjson0-dev libncurses5-dev libqt3-mt-dev libsamplerate0-dev libsdl1.2-dev libsndfile1-dev libspeexdsp-dev libudev-dev libv4l-dev libxi-dev libxml2-dev libxmu-dev libxv-dev pciutils-dev cu sysfsutils gtk-doc-tools gnome-doc-utils iasl alsa-tools lm-sensors mkvtoolnix mkvtoolnix-gui cpuburn indicator-multiload indicator-cpufreq qt4-dev-tools &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
chmod 0755 /usr/bin/cpufreq-selector&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Create this file and add the line that follows:&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/modprobe.d/thinkpad_acpi.conf &amp;lt;br&amp;gt;&lt;br /&gt;
options thinkpad_acpi fan_control=1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/rc.local --&amp;gt; add the following:&amp;lt;br&amp;gt;&lt;br /&gt;
chmod 666 /proc/acpi/ibm/fan&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
exit&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
indicator-multiload &amp;amp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional but helpful step for realtime audio processing&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
cd /usr/src&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://linux-libre.fsfla.org/pub/linux-libre/releases/LATEST-3.8.N/linux-libre-3.8.6-gnu.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf linux-libre-3.8.6-gnu.tar.bz2&amp;lt;br&amp;gt;&lt;br /&gt;
cd linux-3.8.6/&amp;lt;br&amp;gt;&lt;br /&gt;
cp /boot/config-3.2.0-38-generic .config&amp;lt;br&amp;gt;&lt;br /&gt;
make oldconfig -&amp;gt; hold down enter key to accept defaults&amp;lt;br&amp;gt;&lt;br /&gt;
make gconfig&amp;lt;br&amp;gt;&lt;br /&gt;
'CONFIG_PREEMPT=y' + ALSA built as modules, 'CONFIG_HZ_100=y'&amp;lt;br&amp;gt;&lt;br /&gt;
Consider adding Easycap: CONFIG_MEDIA_ANALOG_TV_SUPPORT=y + CONFIG_VIDEO_STK1160=m &amp;lt;br&amp;gt;&lt;br /&gt;
CONCURRENCY_LEVEL=4 fakeroot make deb-pkg &amp;amp;&amp;gt;gsc_make-deb-pkg.log&amp;lt;br&amp;gt;&lt;br /&gt;
dpkg -i ../*.deb&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
reboot and check for PREEMPT in 'uname -a':&amp;lt;br&amp;gt;&lt;br /&gt;
Linux x201 3.8.6-gnu #1 SMP PREEMPT Sat Apr 13 02:07:48 EDT 2013 x86_64 x86_64 x86_64 GNU/Linux&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
mkdir -p /packages/openvideopro &amp;amp;&amp;amp; mkdir -p /packages/openvideopro/lib &amp;amp;&amp;amp; mkdir -p /packages/openvideopro/bin&amp;lt;br&amp;gt;&lt;br /&gt;
mkdir -p /packages/openvideopro/lib/pkgconfig&amp;lt;br&amp;gt;&lt;br /&gt;
chown -R gchriss:users /packages&amp;lt;br&amp;gt;&lt;br /&gt;
exit&amp;lt;br&amp;gt;&lt;br /&gt;
rm -Rf ~/.gstreamer-0.10&amp;lt;br&amp;gt;&lt;br /&gt;
vi ~/.bashrc -&amp;gt; add the following:&amp;lt;br&amp;gt;&lt;br /&gt;
export GST_PLUGIN_SYSTEM_PATH=&amp;quot;/packages/openvideopro/lib&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
export GST_PLUGIN_PATH=&amp;quot;/packages/openvideopro/lib&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
export PKG_CONFIG_PATH=/packages/openvideopro/lib/pkgconfig&amp;lt;br&amp;gt;&lt;br /&gt;
export PATH=/packages/openvideopro/bin:$PATH&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://repo.or.cz/nasm.git nasm_14april2013 &amp;amp;&amp;amp; cd nasm_14april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./autogen.sh --no-configure &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
YASM is optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://github.com/yasm/yasm.git yasm_14april2013 &amp;amp;&amp;amp; cd yasm_14april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./autogen.sh --no-configure &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://code.entropywave.com/git/orc.git orc_14april2013 &amp;amp;&amp;amp; cd orc_14april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./autogen.sh &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://jackaudio.org/downloads/jack-audio-connection-kit-0.121.3.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf jack-audio-connection-kit-0.121.3.tar.gz &amp;amp;&amp;amp; cd jack-audio-connection-kit-0.121.3&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-optimize --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/security/limits.conf -&amp;gt; add the following line:&amp;lt;br&amp;gt;&lt;br /&gt;
@audio          -       rtprio          99&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/security/limits.d/audio.conf -&amp;gt; create file with the following line:&amp;lt;br&amp;gt;&lt;br /&gt;
@audio - rtprio 95&amp;lt;br&amp;gt;&lt;br /&gt;
@audio - memlock unlimited&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
usermod -a -G audio gchriss --&amp;gt; subsitute 'gchriss' for your username&amp;lt;br&amp;gt;&lt;br /&gt;
exit&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
At this point UI volume controls are missing/non-functional, but alsamixer works.&amp;lt;br&amp;gt;&lt;br /&gt;
Build pulseaudio if needed, but otherwise optional:&amp;lt;br&amp;gt;&lt;br /&gt;
rm -rf  ~/.pulse* /tmp/.esd*&amp;lt;br&amp;gt;&lt;br /&gt;
sudo -rf /tmp/pulse*&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://freedesktop.org/software/pulseaudio/releases/pulseaudio-3.0.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf pulseaudio-3.0.tar.xz&amp;lt;br&amp;gt;&lt;br /&gt;
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/packages/openvideopro/lib64/pkgconfig ./configure --prefix=/packages/openvideopro  &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
sudo make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
mkdir -p /packages/openvideopro/var/run/pulse &amp;amp;&amp;amp;  mkdir -p /packages/openvideopro/var/lib/pulse&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Also optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-0.10.36.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf gstreamer-0.10.36.tar.gz &amp;amp;&amp;amp; cd gstreamer-0.10.36&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-0.10.36.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf gst-plugins-base-0.10.36.tar.gz &amp;amp;&amp;amp; cd gst-plugins-base-0.10.36&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-0.10.31.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf gst-plugins-good-0.10.31.tar.gz &amp;amp;&amp;amp; cd gst-plugins-good-0.10.31&amp;lt;br&amp;gt;&lt;br /&gt;
See: http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=9f2aa8d47f835ea155aaf635f618c0fc1ca87012&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt; Remove line containing 'vbuffer.input' in 'sys/v4l2/gstv4l2bufferpool.c'&amp;lt;br&amp;gt;&lt;br /&gt;
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/packages/openvideopro/lib64/pkgconfig  ./configure --enable-experimental --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_configure.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget https://launchpad.net/gnome-media/main/2.91.2/+download/gnome-media-2.91.2.tar.bz2&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf gnome-media-2.91.2.tar.bz2 &amp;amp;&amp;amp; cd gnome-media-2.91.2&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro  &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
TODO: Figure out how to rebuild UI volume controls (e.g., keyboard volume buttons)&amp;lt;br&amp;gt;&lt;br /&gt;
TODO: The following builds but fails to connect to pulseaudio... debug needed?&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://git.0pointer.de/pavucontrol pavucontrol_15april2013 &amp;amp;&amp;amp; cd pavucontrol_15april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./bootstrap.sh &amp;amp;&amp;gt;gsc_bootstrap.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
TODO: Rebuild Totem + PiTiVi&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/ogg/libogg-1.3.0.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf libogg-1.3.0.tar.gz &amp;amp;&amp;amp; cd libogg-1.3.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.3.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf libvorbis-1.3.3.tar.gz &amp;amp;&amp;amp; cd libvorbis-1.3.3/&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf libtheora-1.1.1.tar.bz2 &amp;amp;&amp;amp; cd libtheora-1.1.1&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Open abrowser, download:&amp;lt;br&amp;gt;&lt;br /&gt;
http://sourceforge.net/projects/libjpeg-turbo/files/1.2.90%20%281.3beta1%29/libjpeg-turbo-1.2.90.tar.gz/download&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; tar -xvzf libjpeg-turbo-1.2.90.tar.gz &amp;amp;&amp;amp; cd libjpeg-turbo-1.2.90&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro --with-jpeg8 &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://dl.matroska.org/downloads/libebml/libebml-1.2.2.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf libebml-1.2.2.tar.bz2 &amp;amp;&amp;amp; cd libebml-1.2.2&amp;lt;br&amp;gt;&lt;br /&gt;
make -C make/linux install_staticlib install_headers prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://dl.matroska.org/downloads/libmatroska/libmatroska-1.3.0.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf libmatroska-1.3.0.tar.bz2 &amp;amp;&amp;amp; cd libmatroska-1.3.0/&amp;lt;br&amp;gt;&lt;br /&gt;
CXXFLAGS='-I/packages/openvideopro/include' make -C make/linux install_staticlib install_headers prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/libshout/libshout-2.3.1.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf libshout-2.3.1.tar.gz &amp;amp;&amp;amp; cd libshout-2.3.1&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.gnome.org/pub/gnome/sources/glib/2.34/glib-2.34.3.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf glib-2.34.3.tar.xz &amp;amp;&amp;amp; cd glib-2.34.3&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
'make check' failures are &amp;quot;OK&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.27.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf alsa-lib-1.0.27.tar.bz2 &amp;amp;&amp;amp; cd alsa-lib-1.0.27&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.0.6.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gstreamer-1.0.6.tar.xz &amp;amp;&amp;amp; cd gstreamer-1.0.6&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-failing-tests --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make check &amp;amp;&amp;gt;gsc_check.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.0.6.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gst-plugins-base-1.0.6.tar.xz &amp;amp;&amp;amp; cd gst-plugins-base-1.0.6&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make check &amp;amp;&amp;gt;gsc_check.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.0.6.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gst-plugins-good-1.0.6.tar.xz &amp;amp;&amp;amp; cd gst-plugins-good-1.0.6&amp;lt;br&amp;gt;&lt;br /&gt;
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/packages/openvideopro/lib64/pkgconfig ./configure --enable-experimental --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_configure.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional but really helpful:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.sourceforge.net/qjackctl/qjackctl-0.3.10.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf qjackctl-0.3.10.tar.gz &amp;amp;&amp;amp; cd qjackctl-0.3.10&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro --with-jack=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===&amp;lt;br&amp;gt;&lt;br /&gt;
Create the following block entries for automatic execution @ user login&amp;lt;br&amp;gt;&lt;br /&gt;
The first two entries are specific to managing Thinkpad-series laptops&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
gsc@host:~$  cat ~/.config/autostart/cpufreq-selector.desktop &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Desktop Entry]&amp;lt;br&amp;gt;&lt;br /&gt;
Type=Application&amp;lt;br&amp;gt;&lt;br /&gt;
Exec=sh -c &amp;quot;/usr/bin/cpufreq-selector -c 0 -g performance &amp;amp; /usr/bin/cpufreq-selector -c 1 -g performance &amp;amp; /usr/bin/cpufreq-selector -c 2 -g performance &amp;amp; /usr/bin/cpufreq-selector -c 3 -g performance&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Hidden=false&amp;lt;br&amp;gt;&lt;br /&gt;
NoDisplay=false&amp;lt;br&amp;gt;&lt;br /&gt;
X-GNOME-Autostart-enabled=true&amp;lt;br&amp;gt;&lt;br /&gt;
Name[en_US]=cpu-freq-selector&amp;lt;br&amp;gt;&lt;br /&gt;
Name=cpufreq-selector&amp;lt;br&amp;gt;&lt;br /&gt;
Comment[en_US]=Set 2.4GHz (x4)&amp;lt;br&amp;gt;&lt;br /&gt;
Comment=Set 2.4GHz (x4)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
gsc@host:~$ cat ~/.config/autostart/echo.desktop &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Desktop Entry]&amp;lt;br&amp;gt;&lt;br /&gt;
Type=Application&amp;lt;br&amp;gt;&lt;br /&gt;
Exec=sh -c &amp;quot;echo level 7 &amp;gt; /proc/acpi/ibm/fan&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Hidden=false&amp;lt;br&amp;gt;&lt;br /&gt;
NoDisplay=false&amp;lt;br&amp;gt;&lt;br /&gt;
X-GNOME-Autostart-enabled=true&amp;lt;br&amp;gt;&lt;br /&gt;
Name[en_US]=Spin up x201i Fan&amp;lt;br&amp;gt;&lt;br /&gt;
Name=Spin up x201i Fan&amp;lt;br&amp;gt;&lt;br /&gt;
Comment[en_US]=Substitute 'disengaged' for '7' for max speed&amp;lt;br&amp;gt;&lt;br /&gt;
Comment=Substitute 'disengaged' for '7' for max speed&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
gsc@host:~$ cat ~/.config/autostart/gnome-terminal.desktop &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Desktop Entry]&amp;lt;br&amp;gt;&lt;br /&gt;
Type=Application&amp;lt;br&amp;gt;&lt;br /&gt;
Exec=gnome-terminal&amp;lt;br&amp;gt;&lt;br /&gt;
Hidden=false&amp;lt;br&amp;gt;&lt;br /&gt;
NoDisplay=false&amp;lt;br&amp;gt;&lt;br /&gt;
X-GNOME-Autostart-enabled=true&amp;lt;br&amp;gt;&lt;br /&gt;
Name[en_US]=GNOME Terminal&amp;lt;br&amp;gt;&lt;br /&gt;
Name=GNOME Terminal&amp;lt;br&amp;gt;&lt;br /&gt;
Comment[en_US]=Just to get things started...&amp;lt;br&amp;gt;&lt;br /&gt;
Comment=Just to get things started...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
gsc@host:~$  cat ~/.config/autostart/qjackctl.desktop &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Desktop Entry]&amp;lt;br&amp;gt;&lt;br /&gt;
Type=Application&amp;lt;br&amp;gt;&lt;br /&gt;
Exec=sh -c &amp;quot;PATH=/packages/openvideopro/bin:$PATH LD_LIBRARY_PATH=/packages/openvideopro/lib64 /packages/openvideopro/bin/qjackctl&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Hidden=false&amp;lt;br&amp;gt;&lt;br /&gt;
NoDisplay=false&amp;lt;br&amp;gt;&lt;br /&gt;
X-GNOME-Autostart-enabled=true&amp;lt;br&amp;gt;&lt;br /&gt;
Name[en_US]=qjackctl&amp;lt;br&amp;gt;&lt;br /&gt;
Name=qjackctl&amp;lt;br&amp;gt;&lt;br /&gt;
Comment[en_US]=Launch openvideopro qjackctl / -GChriss&amp;lt;br&amp;gt;&lt;br /&gt;
Comment=Launch openvideopro qjackctl / -GChriss&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
sudo updatedb&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Stress-test CPU temperature stability (often necessary, proceed at own risk):&amp;lt;br&amp;gt;&lt;br /&gt;
burnMMX &amp;amp; burnMMX &amp;amp; burnMMX &amp;amp; burnMMX&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
network-manager can sometimes be flaky, issue on an as-needed basis:&amp;lt;br&amp;gt;&lt;br /&gt;
service network-manager restart&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Start JACK either via command-line or 'Start' button in QjackCtl, launch GStreamer pipeline, then renice pipeline to -18 or so.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Pidgin==&lt;br /&gt;
This section is for building Pidgin and Farsight from source.&amp;lt;br&amp;gt;&lt;br /&gt;
Pidgin has XMMP videoconferencing abilities that may be helpful in a A/V production environment.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get install cdbs dh-autoreconf dh-translations gir1.2-farstream-0.1 hardening-wrapper mercurial-git libavahi-glib-dev libdbus-glib-1-dev libenchant-dev libgadu3 libgadu-dev libgtkspell-dev libgtkspell-3-dev libidn11-dev libjson-glib-dev liblaunchpad-integration-dev libmeanwhile-dev libncursesw5-dev libnspr4-dev libnss3-dev libperl-dev libsasl2-dev libsqlite3-dev libstartup-notification0-dev libwebkitgtk-3.0-dev libxss-dev libzephyr-dev network-manager-dev python-dev python-gtk2-dev python-scour tcl tcl-dev tcl8.5 tcl8.5-dev tk tk-dev tk8.5 tk8.5-dev x11proto-scrnsaver-dev&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
wget http://gstreamer.freedesktop.org/src/gst-python/gst-python-0.10.22.tar.gz&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf gst-python-0.10.22.tar.gz &amp;amp;&amp;amp; cd gst-python-0.10.22&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://nice.freedesktop.org/releases/libnice-0.1.4.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf libnice-0.1.4.tar.gz &amp;amp;&amp;amp; cd libnice-0.1.4&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Skip the following two blocks if building Pidgin against GStreamer 1.0]&amp;lt;br&amp;gt;&lt;br /&gt;
wget http://freedesktop.org/software/farstream/releases/farstream/farstream-0.1.2.tar.gz&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf farstream-0.1.2.tar &amp;amp;&amp;amp; cd farstream-0.1.2&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
http://sourceforge.net/projects/pidgin/files/Pidgin/2.10.7/pidgin-2.10.7.tar.bz2 ==&amp;gt; download file&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf pidgin-2.10.7.tar.bz2 &amp;amp;&amp;amp; cd pidgin-2.10.7&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro --with-gstreamer=0.10 &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
sudo make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
[/skip]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Experimental section; builds and launches but Pidgin&amp;lt;-&amp;gt;GStreamer 1.0 lockups triggered on events...]&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://freedesktop.org/software/farstream/releases/farstream/farstream-0.2.3.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf farstream-0.2.3.tar.gz &amp;amp;&amp;amp; cd farstream-0.2.3&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
hg clone http://hg.pidgin.im/pidgin/main pidgin_1may2013 &amp;amp;&amp;amp; cd pidgin_1may2013&amp;lt;br&amp;gt;&lt;br /&gt;
NOCONFIGURE=1 ./autogen.sh &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br&amp;gt;&lt;br /&gt;
GTK_LIBS='-L/packages/openvideopro/lib -lgstvideo-1.0' ./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
[TODO: Fix 'GtkSpell support' issues]&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
sudo make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
[/end experimental section]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/GST_cookbook/Trisquel6</id>
		<title>GST cookbook/Trisquel6</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/GST_cookbook/Trisquel6"/>
				<updated>2013-05-01T21:32:16Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: re-order apt-get install list for ease-of-reading&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Trisquel Release 6.0 (toutatis) GStreamer Build Instructions&amp;lt;br&amp;gt;&lt;br /&gt;
Tested on a Lenovo x201i by GChriss / 15-April-2013 &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Prepare live USB key as documented:&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://cdimage.trisquel.info/trisquel-images/trisquel_6.0_amd64.iso.torrent&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
transmission-gtk trisquel_6.0_amd64.iso.torrent &amp;amp;&amp;lt;br&amp;gt;&lt;br /&gt;
dd if=/path/to/trisquel_6.0_amd64.iso of=/dev/sdX bs=8M&amp;lt;br&amp;gt;&lt;br /&gt;
sync&amp;lt;br&amp;gt;&lt;br /&gt;
cd /media/trisquel\ 6.0\ amd64/&amp;lt;br&amp;gt;&lt;br /&gt;
md5sum -c md5sum.txt&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Boot USB key in BIOS -&amp;gt; Install to disk -&amp;gt; Manual partition&amp;lt;br&amp;gt;&lt;br /&gt;
Use a smaller '/' partition (~20GB), ~2GB swap space, the remainder as '/home', all primary partitions&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Run through install prompts and reboot&amp;lt;br&amp;gt;&lt;br /&gt;
Works out-of-box: backlight, suspend, audio, USB, 10/100 Ethernet, graphics acceleration, Atheros AR5418 Wireless Network Adapter (168c:0024 -- BIOS modification required)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Trisquel Menu -&amp;gt; System Settings -&amp;gt; Disable screensaver, screen dimming, suspend-on-lid-close, sound effects, window animations&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Open Terminal:&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Get this stuff outta here...&amp;lt;br&amp;gt;&lt;br /&gt;
/etc/init.d/apparmor stop&amp;lt;br&amp;gt;&lt;br /&gt;
update-rc.d -f apparmor remove&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get --purge remove apparmor apparmor-utils libapparmor-perl libapparmor1 gnash libjack-jackd2-0 pidgin-data gstreamer0.10-tools gnome-app-install&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get update&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;echo &amp;quot;linux-image-generic hold&amp;quot; | dpkg --set-selections&amp;lt;br&amp;gt;&lt;br /&gt;
(To undo: echo &amp;quot;linux-image-generic install&amp;quot; | dpkg --set-selections )&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get dist-upgrade&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get install bzip2 wget curl bison flex fakeroot vim mlocate subversion git-core openssh-server build-essential libtool intltool checkinstall autoconf automake kernel-package libasound2-dev libcanberra-gtk3-dev libffi-dev libfftw3-dev libgconf2-dev libglade2-dev libglib2.0-dev libglib2.0-dev libgnome-media-profiles-dev libgtk2.0-dev libgtkmm-3.0-dev libjson0-dev libncurses5-dev libqt3-mt-dev libsamplerate0-dev libsdl1.2-dev libsndfile1-dev libspeexdsp-dev libudev-dev libv4l-dev libxi-dev libxml2-dev libxmu-dev libxv-dev pciutils-dev cu sysfsutils gtk-doc-tools gnome-doc-utils iasl alsa-tools lm-sensors mkvtoolnix mkvtoolnix-gui cpuburn indicator-multiload indicator-cpufreq qt4-dev-tools &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
chmod 0755 /usr/bin/cpufreq-selector&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Create this file and add the line that follows:&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/modprobe.d/thinkpad_acpi.conf &amp;lt;br&amp;gt;&lt;br /&gt;
options thinkpad_acpi fan_control=1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/rc.local --&amp;gt; add the following:&amp;lt;br&amp;gt;&lt;br /&gt;
chmod 666 /proc/acpi/ibm/fan&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
exit&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
indicator-multiload &amp;amp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional but helpful step for realtime audio processing&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
cd /usr/src&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://linux-libre.fsfla.org/pub/linux-libre/releases/LATEST-3.8.N/linux-libre-3.8.6-gnu.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf linux-libre-3.8.6-gnu.tar.bz2&amp;lt;br&amp;gt;&lt;br /&gt;
cd linux-3.8.6/&amp;lt;br&amp;gt;&lt;br /&gt;
cp /boot/config-3.2.0-38-generic .config&amp;lt;br&amp;gt;&lt;br /&gt;
make oldconfig -&amp;gt; hold down enter key to accept defaults&amp;lt;br&amp;gt;&lt;br /&gt;
make gconfig&amp;lt;br&amp;gt;&lt;br /&gt;
'CONFIG_PREEMPT=y' + ALSA built as modules, 'CONFIG_HZ_100=y'&amp;lt;br&amp;gt;&lt;br /&gt;
Consider adding Easycap: CONFIG_MEDIA_ANALOG_TV_SUPPORT=y + CONFIG_VIDEO_STK1160=m &amp;lt;br&amp;gt;&lt;br /&gt;
CONCURRENCY_LEVEL=4 fakeroot make deb-pkg &amp;amp;&amp;gt;gsc_make-deb-pkg.log&amp;lt;br&amp;gt;&lt;br /&gt;
dpkg -i ../*.deb&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
reboot and check for PREEMPT in 'uname -a':&amp;lt;br&amp;gt;&lt;br /&gt;
Linux x201 3.8.6-gnu #1 SMP PREEMPT Sat Apr 13 02:07:48 EDT 2013 x86_64 x86_64 x86_64 GNU/Linux&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
mkdir -p /packages/openvideopro &amp;amp;&amp;amp; mkdir -p /packages/openvideopro/lib &amp;amp;&amp;amp; mkdir -p /packages/openvideopro/bin&amp;lt;br&amp;gt;&lt;br /&gt;
mkdir -p /packages/openvideopro/lib/pkgconfig&amp;lt;br&amp;gt;&lt;br /&gt;
chown -R gchriss:users /packages&amp;lt;br&amp;gt;&lt;br /&gt;
exit&amp;lt;br&amp;gt;&lt;br /&gt;
rm -Rf ~/.gstreamer-0.10&amp;lt;br&amp;gt;&lt;br /&gt;
vi ~/.bashrc -&amp;gt; add the following:&amp;lt;br&amp;gt;&lt;br /&gt;
export GST_PLUGIN_SYSTEM_PATH=&amp;quot;/packages/openvideopro/lib&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
export GST_PLUGIN_PATH=&amp;quot;/packages/openvideopro/lib&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
export PKG_CONFIG_PATH=/packages/openvideopro/lib/pkgconfig&amp;lt;br&amp;gt;&lt;br /&gt;
export PATH=/packages/openvideopro/bin:$PATH&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://repo.or.cz/nasm.git nasm_14april2013 &amp;amp;&amp;amp; cd nasm_14april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./autogen.sh --no-configure &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
YASM is optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://github.com/yasm/yasm.git yasm_14april2013 &amp;amp;&amp;amp; cd yasm_14april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./autogen.sh --no-configure &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://code.entropywave.com/git/orc.git orc_14april2013 &amp;amp;&amp;amp; cd orc_14april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./autogen.sh &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://jackaudio.org/downloads/jack-audio-connection-kit-0.121.3.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf jack-audio-connection-kit-0.121.3.tar.gz &amp;amp;&amp;amp; cd jack-audio-connection-kit-0.121.3&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-optimize --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/security/limits.conf -&amp;gt; add the following line:&amp;lt;br&amp;gt;&lt;br /&gt;
@audio          -       rtprio          99&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/security/limits.d/audio.conf -&amp;gt; create file with the following line:&amp;lt;br&amp;gt;&lt;br /&gt;
@audio - rtprio 95&amp;lt;br&amp;gt;&lt;br /&gt;
@audio - memlock unlimited&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
usermod -a -G audio gchriss --&amp;gt; subsitute 'gchriss' for your username&amp;lt;br&amp;gt;&lt;br /&gt;
exit&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
At this point UI volume controls are missing/non-functional, but alsamixer works.&amp;lt;br&amp;gt;&lt;br /&gt;
Build pulseaudio if needed, but otherwise optional:&amp;lt;br&amp;gt;&lt;br /&gt;
rm -rf  ~/.pulse* /tmp/.esd*&amp;lt;br&amp;gt;&lt;br /&gt;
sudo -rf /tmp/pulse*&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://freedesktop.org/software/pulseaudio/releases/pulseaudio-3.0.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf pulseaudio-3.0.tar.xz&amp;lt;br&amp;gt;&lt;br /&gt;
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/packages/openvideopro/lib64/pkgconfig ./configure --prefix=/packages/openvideopro  &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
sudo make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
mkdir -p /packages/openvideopro/var/run/pulse &amp;amp;&amp;amp;  mkdir -p /packages/openvideopro/var/lib/pulse&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Also optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-0.10.36.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf gstreamer-0.10.36.tar.gz &amp;amp;&amp;amp; cd gstreamer-0.10.36&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-0.10.36.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf gst-plugins-base-0.10.36.tar.gz &amp;amp;&amp;amp; cd gst-plugins-base-0.10.36&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-0.10.31.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf gst-plugins-good-0.10.31.tar.gz &amp;amp;&amp;amp; cd gst-plugins-good-0.10.31&amp;lt;br&amp;gt;&lt;br /&gt;
See: http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=9f2aa8d47f835ea155aaf635f618c0fc1ca87012&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt; Remove line containing 'vbuffer.input' in 'sys/v4l2/gstv4l2bufferpool.c'&amp;lt;br&amp;gt;&lt;br /&gt;
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/packages/openvideopro/lib64/pkgconfig  ./configure --enable-experimental --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_configure.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget https://launchpad.net/gnome-media/main/2.91.2/+download/gnome-media-2.91.2.tar.bz2&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf gnome-media-2.91.2.tar.bz2 &amp;amp;&amp;amp; cd gnome-media-2.91.2&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro  &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
TODO: Figure out how to rebuild UI volume controls (e.g., keyboard volume buttons)&amp;lt;br&amp;gt;&lt;br /&gt;
TODO: The following builds but fails to connect to pulseaudio... debug needed?&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://git.0pointer.de/pavucontrol pavucontrol_15april2013 &amp;amp;&amp;amp; cd pavucontrol_15april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./bootstrap.sh &amp;amp;&amp;gt;gsc_bootstrap.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
TODO: Rebuild Totem + PiTiVi&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/ogg/libogg-1.3.0.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf libogg-1.3.0.tar.gz &amp;amp;&amp;amp; cd libogg-1.3.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.3.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf libvorbis-1.3.3.tar.gz &amp;amp;&amp;amp; cd libvorbis-1.3.3/&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf libtheora-1.1.1.tar.bz2 &amp;amp;&amp;amp; cd libtheora-1.1.1&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Open abrowser, download:&amp;lt;br&amp;gt;&lt;br /&gt;
http://sourceforge.net/projects/libjpeg-turbo/files/1.2.90%20%281.3beta1%29/libjpeg-turbo-1.2.90.tar.gz/download&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; tar -xvzf libjpeg-turbo-1.2.90.tar.gz &amp;amp;&amp;amp; cd libjpeg-turbo-1.2.90&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro --with-jpeg8 &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://dl.matroska.org/downloads/libebml/libebml-1.2.2.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf libebml-1.2.2.tar.bz2 &amp;amp;&amp;amp; cd libebml-1.2.2&amp;lt;br&amp;gt;&lt;br /&gt;
make -C make/linux install_staticlib install_headers prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://dl.matroska.org/downloads/libmatroska/libmatroska-1.3.0.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf libmatroska-1.3.0.tar.bz2 &amp;amp;&amp;amp; cd libmatroska-1.3.0/&amp;lt;br&amp;gt;&lt;br /&gt;
CXXFLAGS='-I/packages/openvideopro/include' make -C make/linux install_staticlib install_headers prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/libshout/libshout-2.3.1.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf libshout-2.3.1.tar.gz &amp;amp;&amp;amp; cd libshout-2.3.1&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.gnome.org/pub/gnome/sources/glib/2.34/glib-2.34.3.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf glib-2.34.3.tar.xz &amp;amp;&amp;amp; cd glib-2.34.3&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
'make check' failures are &amp;quot;OK&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.27.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf alsa-lib-1.0.27.tar.bz2 &amp;amp;&amp;amp; cd alsa-lib-1.0.27&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.0.6.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gstreamer-1.0.6.tar.xz &amp;amp;&amp;amp; cd gstreamer-1.0.6&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-failing-tests --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make check &amp;amp;&amp;gt;gsc_check.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.0.6.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gst-plugins-base-1.0.6.tar.xz &amp;amp;&amp;amp; cd gst-plugins-base-1.0.6&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make check &amp;amp;&amp;gt;gsc_check.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.0.6.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gst-plugins-good-1.0.6.tar.xz &amp;amp;&amp;amp; cd gst-plugins-good-1.0.6&amp;lt;br&amp;gt;&lt;br /&gt;
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/packages/openvideopro/lib64/pkgconfig ./configure --enable-experimental --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_configure.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional but really helpful:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.sourceforge.net/qjackctl/qjackctl-0.3.10.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf qjackctl-0.3.10.tar.gz &amp;amp;&amp;amp; cd qjackctl-0.3.10&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro --with-jack=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===&amp;lt;br&amp;gt;&lt;br /&gt;
Create the following block entries for automatic execution @ user login&amp;lt;br&amp;gt;&lt;br /&gt;
The first two entries are specific to managing Thinkpad-series laptops&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
gsc@host:~$  cat ~/.config/autostart/cpufreq-selector.desktop &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Desktop Entry]&amp;lt;br&amp;gt;&lt;br /&gt;
Type=Application&amp;lt;br&amp;gt;&lt;br /&gt;
Exec=sh -c &amp;quot;/usr/bin/cpufreq-selector -c 0 -g performance &amp;amp; /usr/bin/cpufreq-selector -c 1 -g performance &amp;amp; /usr/bin/cpufreq-selector -c 2 -g performance &amp;amp; /usr/bin/cpufreq-selector -c 3 -g performance&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Hidden=false&amp;lt;br&amp;gt;&lt;br /&gt;
NoDisplay=false&amp;lt;br&amp;gt;&lt;br /&gt;
X-GNOME-Autostart-enabled=true&amp;lt;br&amp;gt;&lt;br /&gt;
Name[en_US]=cpu-freq-selector&amp;lt;br&amp;gt;&lt;br /&gt;
Name=cpufreq-selector&amp;lt;br&amp;gt;&lt;br /&gt;
Comment[en_US]=Set 2.4GHz (x4)&amp;lt;br&amp;gt;&lt;br /&gt;
Comment=Set 2.4GHz (x4)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
gsc@host:~$ cat ~/.config/autostart/echo.desktop &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Desktop Entry]&amp;lt;br&amp;gt;&lt;br /&gt;
Type=Application&amp;lt;br&amp;gt;&lt;br /&gt;
Exec=sh -c &amp;quot;echo level 7 &amp;gt; /proc/acpi/ibm/fan&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Hidden=false&amp;lt;br&amp;gt;&lt;br /&gt;
NoDisplay=false&amp;lt;br&amp;gt;&lt;br /&gt;
X-GNOME-Autostart-enabled=true&amp;lt;br&amp;gt;&lt;br /&gt;
Name[en_US]=Spin up x201i Fan&amp;lt;br&amp;gt;&lt;br /&gt;
Name=Spin up x201i Fan&amp;lt;br&amp;gt;&lt;br /&gt;
Comment[en_US]=Substitute 'disengaged' for '7' for max speed&amp;lt;br&amp;gt;&lt;br /&gt;
Comment=Substitute 'disengaged' for '7' for max speed&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
gsc@host:~$ cat ~/.config/autostart/gnome-terminal.desktop &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Desktop Entry]&amp;lt;br&amp;gt;&lt;br /&gt;
Type=Application&amp;lt;br&amp;gt;&lt;br /&gt;
Exec=gnome-terminal&amp;lt;br&amp;gt;&lt;br /&gt;
Hidden=false&amp;lt;br&amp;gt;&lt;br /&gt;
NoDisplay=false&amp;lt;br&amp;gt;&lt;br /&gt;
X-GNOME-Autostart-enabled=true&amp;lt;br&amp;gt;&lt;br /&gt;
Name[en_US]=GNOME Terminal&amp;lt;br&amp;gt;&lt;br /&gt;
Name=GNOME Terminal&amp;lt;br&amp;gt;&lt;br /&gt;
Comment[en_US]=Just to get things started...&amp;lt;br&amp;gt;&lt;br /&gt;
Comment=Just to get things started...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
gsc@host:~$  cat ~/.config/autostart/qjackctl.desktop &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Desktop Entry]&amp;lt;br&amp;gt;&lt;br /&gt;
Type=Application&amp;lt;br&amp;gt;&lt;br /&gt;
Exec=sh -c &amp;quot;PATH=/packages/openvideopro/bin:$PATH LD_LIBRARY_PATH=/packages/openvideopro/lib64 /packages/openvideopro/bin/qjackctl&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Hidden=false&amp;lt;br&amp;gt;&lt;br /&gt;
NoDisplay=false&amp;lt;br&amp;gt;&lt;br /&gt;
X-GNOME-Autostart-enabled=true&amp;lt;br&amp;gt;&lt;br /&gt;
Name[en_US]=qjackctl&amp;lt;br&amp;gt;&lt;br /&gt;
Name=qjackctl&amp;lt;br&amp;gt;&lt;br /&gt;
Comment[en_US]=Launch openvideopro qjackctl / -GChriss&amp;lt;br&amp;gt;&lt;br /&gt;
Comment=Launch openvideopro qjackctl / -GChriss&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
sudo updatedb&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Stress-test CPU temperature stability (often necessary, proceed at own risk):&amp;lt;br&amp;gt;&lt;br /&gt;
burnMMX &amp;amp; burnMMX &amp;amp; burnMMX &amp;amp; burnMMX&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
network-manager can sometimes be flaky, issue on an as-needed basis:&amp;lt;br&amp;gt;&lt;br /&gt;
service network-manager restart&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Start JACK either via command-line or 'Start' button in QjackCtl, launch GStreamer pipeline, then renice pipeline to -18 or so.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/GST_cookbook/Trisquel6</id>
		<title>GST cookbook/Trisquel6</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/GST_cookbook/Trisquel6"/>
				<updated>2013-05-01T21:03:38Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: +checkinstall to apt-get install list: needed for pidgin&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Trisquel Release 6.0 (toutatis) GStreamer Build Instructions&amp;lt;br&amp;gt;&lt;br /&gt;
Tested on a Lenovo x201i by GChriss / 15-April-2013 &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Prepare live USB key as documented:&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://cdimage.trisquel.info/trisquel-images/trisquel_6.0_amd64.iso.torrent&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
transmission-gtk trisquel_6.0_amd64.iso.torrent &amp;amp;&amp;lt;br&amp;gt;&lt;br /&gt;
dd if=/path/to/trisquel_6.0_amd64.iso of=/dev/sdX bs=8M&amp;lt;br&amp;gt;&lt;br /&gt;
sync&amp;lt;br&amp;gt;&lt;br /&gt;
cd /media/trisquel\ 6.0\ amd64/&amp;lt;br&amp;gt;&lt;br /&gt;
md5sum -c md5sum.txt&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Boot USB key in BIOS -&amp;gt; Install to disk -&amp;gt; Manual partition&amp;lt;br&amp;gt;&lt;br /&gt;
Use a smaller '/' partition (~20GB), ~2GB swap space, the remainder as '/home', all primary partitions&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Run through install prompts and reboot&amp;lt;br&amp;gt;&lt;br /&gt;
Works out-of-box: backlight, suspend, audio, USB, 10/100 Ethernet, graphics acceleration, Atheros AR5418 Wireless Network Adapter (168c:0024 -- BIOS modification required)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Trisquel Menu -&amp;gt; System Settings -&amp;gt; Disable screensaver, screen dimming, suspend-on-lid-close, sound effects, window animations&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Open Terminal:&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Get this stuff outta here...&amp;lt;br&amp;gt;&lt;br /&gt;
/etc/init.d/apparmor stop&amp;lt;br&amp;gt;&lt;br /&gt;
update-rc.d -f apparmor remove&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get --purge remove apparmor apparmor-utils libapparmor-perl libapparmor1 gnash libjack-jackd2-0 pidgin-data gstreamer0.10-tools gnome-app-install&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get update&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;echo &amp;quot;linux-image-generic hold&amp;quot; | dpkg --set-selections&amp;lt;br&amp;gt;&lt;br /&gt;
(To undo: echo &amp;quot;linux-image-generic install&amp;quot; | dpkg --set-selections )&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get dist-upgrade&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get install fakeroot kernel-package libncurses5-dev libqt3-mt-dev bzip2 wget build-essential checkinstall autoconf libtool libglib2.0-dev bison flex libxml2-dev alsa-tools libasound2-dev vim mlocate libxv-dev libxmu-dev libxi-dev libsamplerate0-dev libsndfile1-dev git-core curl lm-sensors  openssh-server iasl automake libsdl1.2-dev libgtk2.0-dev libglib2.0-dev libglade2-dev libffi-dev pciutils-dev cu sysfsutils mkvtoolnix mkvtoolnix-gui subversion cpuburn indicator-multiload indicator-cpufreq qt4-dev-tools intltool libjson0-dev libudev-dev libfftw3-dev libspeexdsp-dev gnome-doc-utils libgconf2-dev libv4l-dev libgnome-media-profiles-dev libgtkmm-3.0-dev libcanberra-gtk3-dev&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
chmod 0755 /usr/bin/cpufreq-selector&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Create this file and add the line that follows:&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/modprobe.d/thinkpad_acpi.conf &amp;lt;br&amp;gt;&lt;br /&gt;
options thinkpad_acpi fan_control=1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/rc.local --&amp;gt; add the following:&amp;lt;br&amp;gt;&lt;br /&gt;
chmod 666 /proc/acpi/ibm/fan&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
exit&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
indicator-multiload &amp;amp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional but helpful step for realtime audio processing&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
cd /usr/src&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://linux-libre.fsfla.org/pub/linux-libre/releases/LATEST-3.8.N/linux-libre-3.8.6-gnu.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf linux-libre-3.8.6-gnu.tar.bz2&amp;lt;br&amp;gt;&lt;br /&gt;
cd linux-3.8.6/&amp;lt;br&amp;gt;&lt;br /&gt;
cp /boot/config-3.2.0-38-generic .config&amp;lt;br&amp;gt;&lt;br /&gt;
make oldconfig -&amp;gt; hold down enter key to accept defaults&amp;lt;br&amp;gt;&lt;br /&gt;
make gconfig&amp;lt;br&amp;gt;&lt;br /&gt;
'CONFIG_PREEMPT=y' + ALSA built as modules, 'CONFIG_HZ_100=y'&amp;lt;br&amp;gt;&lt;br /&gt;
Consider adding Easycap: CONFIG_MEDIA_ANALOG_TV_SUPPORT=y + CONFIG_VIDEO_STK1160=m &amp;lt;br&amp;gt;&lt;br /&gt;
CONCURRENCY_LEVEL=4 fakeroot make deb-pkg &amp;amp;&amp;gt;gsc_make-deb-pkg.log&amp;lt;br&amp;gt;&lt;br /&gt;
dpkg -i ../*.deb&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
reboot and check for PREEMPT in 'uname -a':&amp;lt;br&amp;gt;&lt;br /&gt;
Linux x201 3.8.6-gnu #1 SMP PREEMPT Sat Apr 13 02:07:48 EDT 2013 x86_64 x86_64 x86_64 GNU/Linux&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
mkdir -p /packages/openvideopro &amp;amp;&amp;amp; mkdir -p /packages/openvideopro/lib &amp;amp;&amp;amp; mkdir -p /packages/openvideopro/bin&amp;lt;br&amp;gt;&lt;br /&gt;
mkdir -p /packages/openvideopro/lib/pkgconfig&amp;lt;br&amp;gt;&lt;br /&gt;
chown -R gchriss:users /packages&amp;lt;br&amp;gt;&lt;br /&gt;
exit&amp;lt;br&amp;gt;&lt;br /&gt;
rm -Rf ~/.gstreamer-0.10&amp;lt;br&amp;gt;&lt;br /&gt;
vi ~/.bashrc -&amp;gt; add the following:&amp;lt;br&amp;gt;&lt;br /&gt;
export GST_PLUGIN_SYSTEM_PATH=&amp;quot;/packages/openvideopro/lib&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
export GST_PLUGIN_PATH=&amp;quot;/packages/openvideopro/lib&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
export PKG_CONFIG_PATH=/packages/openvideopro/lib/pkgconfig&amp;lt;br&amp;gt;&lt;br /&gt;
export PATH=/packages/openvideopro/bin:$PATH&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://repo.or.cz/nasm.git nasm_14april2013 &amp;amp;&amp;amp; cd nasm_14april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./autogen.sh --no-configure &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
YASM is optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://github.com/yasm/yasm.git yasm_14april2013 &amp;amp;&amp;amp; cd yasm_14april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./autogen.sh --no-configure &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://code.entropywave.com/git/orc.git orc_14april2013 &amp;amp;&amp;amp; cd orc_14april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./autogen.sh &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://jackaudio.org/downloads/jack-audio-connection-kit-0.121.3.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf jack-audio-connection-kit-0.121.3.tar.gz &amp;amp;&amp;amp; cd jack-audio-connection-kit-0.121.3&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-optimize --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/security/limits.conf -&amp;gt; add the following line:&amp;lt;br&amp;gt;&lt;br /&gt;
@audio          -       rtprio          99&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/security/limits.d/audio.conf -&amp;gt; create file with the following line:&amp;lt;br&amp;gt;&lt;br /&gt;
@audio - rtprio 95&amp;lt;br&amp;gt;&lt;br /&gt;
@audio - memlock unlimited&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
usermod -a -G audio gchriss --&amp;gt; subsitute 'gchriss' for your username&amp;lt;br&amp;gt;&lt;br /&gt;
exit&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
At this point UI volume controls are missing/non-functional, but alsamixer works.&amp;lt;br&amp;gt;&lt;br /&gt;
Build pulseaudio if needed, but otherwise optional:&amp;lt;br&amp;gt;&lt;br /&gt;
rm -rf  ~/.pulse* /tmp/.esd*&amp;lt;br&amp;gt;&lt;br /&gt;
sudo -rf /tmp/pulse*&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://freedesktop.org/software/pulseaudio/releases/pulseaudio-3.0.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf pulseaudio-3.0.tar.xz&amp;lt;br&amp;gt;&lt;br /&gt;
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/packages/openvideopro/lib64/pkgconfig ./configure --prefix=/packages/openvideopro  &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
sudo make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
mkdir -p /packages/openvideopro/var/run/pulse &amp;amp;&amp;amp;  mkdir -p /packages/openvideopro/var/lib/pulse&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Also optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-0.10.36.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf gstreamer-0.10.36.tar.gz &amp;amp;&amp;amp; cd gstreamer-0.10.36&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-0.10.36.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf gst-plugins-base-0.10.36.tar.gz &amp;amp;&amp;amp; cd gst-plugins-base-0.10.36&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-0.10.31.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf gst-plugins-good-0.10.31.tar.gz &amp;amp;&amp;amp; cd gst-plugins-good-0.10.31&amp;lt;br&amp;gt;&lt;br /&gt;
See: http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=9f2aa8d47f835ea155aaf635f618c0fc1ca87012&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt; Remove line containing 'vbuffer.input' in 'sys/v4l2/gstv4l2bufferpool.c'&amp;lt;br&amp;gt;&lt;br /&gt;
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/packages/openvideopro/lib64/pkgconfig  ./configure --enable-experimental --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_configure.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget https://launchpad.net/gnome-media/main/2.91.2/+download/gnome-media-2.91.2.tar.bz2&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf gnome-media-2.91.2.tar.bz2 &amp;amp;&amp;amp; cd gnome-media-2.91.2&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro  &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
TODO: Figure out how to rebuild UI volume controls (e.g., keyboard volume buttons)&amp;lt;br&amp;gt;&lt;br /&gt;
TODO: The following builds but fails to connect to pulseaudio... debug needed?&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://git.0pointer.de/pavucontrol pavucontrol_15april2013 &amp;amp;&amp;amp; cd pavucontrol_15april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./bootstrap.sh &amp;amp;&amp;gt;gsc_bootstrap.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
TODO: Rebuild Totem + PiTiVi&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/ogg/libogg-1.3.0.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf libogg-1.3.0.tar.gz &amp;amp;&amp;amp; cd libogg-1.3.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.3.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf libvorbis-1.3.3.tar.gz &amp;amp;&amp;amp; cd libvorbis-1.3.3/&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf libtheora-1.1.1.tar.bz2 &amp;amp;&amp;amp; cd libtheora-1.1.1&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Open abrowser, download:&amp;lt;br&amp;gt;&lt;br /&gt;
http://sourceforge.net/projects/libjpeg-turbo/files/1.2.90%20%281.3beta1%29/libjpeg-turbo-1.2.90.tar.gz/download&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; tar -xvzf libjpeg-turbo-1.2.90.tar.gz &amp;amp;&amp;amp; cd libjpeg-turbo-1.2.90&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro --with-jpeg8 &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://dl.matroska.org/downloads/libebml/libebml-1.2.2.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf libebml-1.2.2.tar.bz2 &amp;amp;&amp;amp; cd libebml-1.2.2&amp;lt;br&amp;gt;&lt;br /&gt;
make -C make/linux install_staticlib install_headers prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://dl.matroska.org/downloads/libmatroska/libmatroska-1.3.0.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf libmatroska-1.3.0.tar.bz2 &amp;amp;&amp;amp; cd libmatroska-1.3.0/&amp;lt;br&amp;gt;&lt;br /&gt;
CXXFLAGS='-I/packages/openvideopro/include' make -C make/linux install_staticlib install_headers prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/libshout/libshout-2.3.1.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf libshout-2.3.1.tar.gz &amp;amp;&amp;amp; cd libshout-2.3.1&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.gnome.org/pub/gnome/sources/glib/2.34/glib-2.34.3.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf glib-2.34.3.tar.xz &amp;amp;&amp;amp; cd glib-2.34.3&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
'make check' failures are &amp;quot;OK&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.27.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf alsa-lib-1.0.27.tar.bz2 &amp;amp;&amp;amp; cd alsa-lib-1.0.27&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.0.6.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gstreamer-1.0.6.tar.xz &amp;amp;&amp;amp; cd gstreamer-1.0.6&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-failing-tests --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make check &amp;amp;&amp;gt;gsc_check.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.0.6.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gst-plugins-base-1.0.6.tar.xz &amp;amp;&amp;amp; cd gst-plugins-base-1.0.6&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make check &amp;amp;&amp;gt;gsc_check.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.0.6.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gst-plugins-good-1.0.6.tar.xz &amp;amp;&amp;amp; cd gst-plugins-good-1.0.6&amp;lt;br&amp;gt;&lt;br /&gt;
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/packages/openvideopro/lib64/pkgconfig ./configure --enable-experimental --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_configure.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional but really helpful:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.sourceforge.net/qjackctl/qjackctl-0.3.10.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf qjackctl-0.3.10.tar.gz &amp;amp;&amp;amp; cd qjackctl-0.3.10&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro --with-jack=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===&amp;lt;br&amp;gt;&lt;br /&gt;
Create the following block entries for automatic execution @ user login&amp;lt;br&amp;gt;&lt;br /&gt;
The first two entries are specific to managing Thinkpad-series laptops&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
gsc@host:~$  cat ~/.config/autostart/cpufreq-selector.desktop &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Desktop Entry]&amp;lt;br&amp;gt;&lt;br /&gt;
Type=Application&amp;lt;br&amp;gt;&lt;br /&gt;
Exec=sh -c &amp;quot;/usr/bin/cpufreq-selector -c 0 -g performance &amp;amp; /usr/bin/cpufreq-selector -c 1 -g performance &amp;amp; /usr/bin/cpufreq-selector -c 2 -g performance &amp;amp; /usr/bin/cpufreq-selector -c 3 -g performance&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Hidden=false&amp;lt;br&amp;gt;&lt;br /&gt;
NoDisplay=false&amp;lt;br&amp;gt;&lt;br /&gt;
X-GNOME-Autostart-enabled=true&amp;lt;br&amp;gt;&lt;br /&gt;
Name[en_US]=cpu-freq-selector&amp;lt;br&amp;gt;&lt;br /&gt;
Name=cpufreq-selector&amp;lt;br&amp;gt;&lt;br /&gt;
Comment[en_US]=Set 2.4GHz (x4)&amp;lt;br&amp;gt;&lt;br /&gt;
Comment=Set 2.4GHz (x4)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
gsc@host:~$ cat ~/.config/autostart/echo.desktop &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Desktop Entry]&amp;lt;br&amp;gt;&lt;br /&gt;
Type=Application&amp;lt;br&amp;gt;&lt;br /&gt;
Exec=sh -c &amp;quot;echo level 7 &amp;gt; /proc/acpi/ibm/fan&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Hidden=false&amp;lt;br&amp;gt;&lt;br /&gt;
NoDisplay=false&amp;lt;br&amp;gt;&lt;br /&gt;
X-GNOME-Autostart-enabled=true&amp;lt;br&amp;gt;&lt;br /&gt;
Name[en_US]=Spin up x201i Fan&amp;lt;br&amp;gt;&lt;br /&gt;
Name=Spin up x201i Fan&amp;lt;br&amp;gt;&lt;br /&gt;
Comment[en_US]=Substitute 'disengaged' for '7' for max speed&amp;lt;br&amp;gt;&lt;br /&gt;
Comment=Substitute 'disengaged' for '7' for max speed&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
gsc@host:~$ cat ~/.config/autostart/gnome-terminal.desktop &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Desktop Entry]&amp;lt;br&amp;gt;&lt;br /&gt;
Type=Application&amp;lt;br&amp;gt;&lt;br /&gt;
Exec=gnome-terminal&amp;lt;br&amp;gt;&lt;br /&gt;
Hidden=false&amp;lt;br&amp;gt;&lt;br /&gt;
NoDisplay=false&amp;lt;br&amp;gt;&lt;br /&gt;
X-GNOME-Autostart-enabled=true&amp;lt;br&amp;gt;&lt;br /&gt;
Name[en_US]=GNOME Terminal&amp;lt;br&amp;gt;&lt;br /&gt;
Name=GNOME Terminal&amp;lt;br&amp;gt;&lt;br /&gt;
Comment[en_US]=Just to get things started...&amp;lt;br&amp;gt;&lt;br /&gt;
Comment=Just to get things started...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
gsc@host:~$  cat ~/.config/autostart/qjackctl.desktop &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Desktop Entry]&amp;lt;br&amp;gt;&lt;br /&gt;
Type=Application&amp;lt;br&amp;gt;&lt;br /&gt;
Exec=sh -c &amp;quot;PATH=/packages/openvideopro/bin:$PATH LD_LIBRARY_PATH=/packages/openvideopro/lib64 /packages/openvideopro/bin/qjackctl&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Hidden=false&amp;lt;br&amp;gt;&lt;br /&gt;
NoDisplay=false&amp;lt;br&amp;gt;&lt;br /&gt;
X-GNOME-Autostart-enabled=true&amp;lt;br&amp;gt;&lt;br /&gt;
Name[en_US]=qjackctl&amp;lt;br&amp;gt;&lt;br /&gt;
Name=qjackctl&amp;lt;br&amp;gt;&lt;br /&gt;
Comment[en_US]=Launch openvideopro qjackctl / -GChriss&amp;lt;br&amp;gt;&lt;br /&gt;
Comment=Launch openvideopro qjackctl / -GChriss&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
sudo updatedb&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Stress-test CPU temperature stability (often necessary, proceed at own risk):&amp;lt;br&amp;gt;&lt;br /&gt;
burnMMX &amp;amp; burnMMX &amp;amp; burnMMX &amp;amp; burnMMX&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
network-manager can sometimes be flaky, issue on an as-needed basis:&amp;lt;br&amp;gt;&lt;br /&gt;
service network-manager restart&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Start JACK either via command-line or 'Start' button in QjackCtl, launch GStreamer pipeline, then renice pipeline to -18 or so.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/GST_cookbook/Trisquel6</id>
		<title>GST cookbook/Trisquel6</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/GST_cookbook/Trisquel6"/>
				<updated>2013-05-01T21:01:38Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: addition of to-be-rebuilt gstreamer plugins to apt-get remove list&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Trisquel Release 6.0 (toutatis) GStreamer Build Instructions&amp;lt;br&amp;gt;&lt;br /&gt;
Tested on a Lenovo x201i by GChriss / 15-April-2013 &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Prepare live USB key as documented:&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://cdimage.trisquel.info/trisquel-images/trisquel_6.0_amd64.iso.torrent&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
transmission-gtk trisquel_6.0_amd64.iso.torrent &amp;amp;&amp;lt;br&amp;gt;&lt;br /&gt;
dd if=/path/to/trisquel_6.0_amd64.iso of=/dev/sdX bs=8M&amp;lt;br&amp;gt;&lt;br /&gt;
sync&amp;lt;br&amp;gt;&lt;br /&gt;
cd /media/trisquel\ 6.0\ amd64/&amp;lt;br&amp;gt;&lt;br /&gt;
md5sum -c md5sum.txt&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Boot USB key in BIOS -&amp;gt; Install to disk -&amp;gt; Manual partition&amp;lt;br&amp;gt;&lt;br /&gt;
Use a smaller '/' partition (~20GB), ~2GB swap space, the remainder as '/home', all primary partitions&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Run through install prompts and reboot&amp;lt;br&amp;gt;&lt;br /&gt;
Works out-of-box: backlight, suspend, audio, USB, 10/100 Ethernet, graphics acceleration, Atheros AR5418 Wireless Network Adapter (168c:0024 -- BIOS modification required)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Trisquel Menu -&amp;gt; System Settings -&amp;gt; Disable screensaver, screen dimming, suspend-on-lid-close, sound effects, window animations&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Open Terminal:&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Get this stuff outta here...&amp;lt;br&amp;gt;&lt;br /&gt;
/etc/init.d/apparmor stop&amp;lt;br&amp;gt;&lt;br /&gt;
update-rc.d -f apparmor remove&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get --purge remove apparmor apparmor-utils libapparmor-perl libapparmor1 gnash libjack-jackd2-0 pidgin-data gstreamer0.10-tools gnome-app-install&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get update&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;echo &amp;quot;linux-image-generic hold&amp;quot; | dpkg --set-selections&amp;lt;br&amp;gt;&lt;br /&gt;
(To undo: echo &amp;quot;linux-image-generic install&amp;quot; | dpkg --set-selections )&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get dist-upgrade&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get install fakeroot kernel-package libncurses5-dev libqt3-mt-dev bzip2 wget build-essential autoconf libtool libglib2.0-dev bison flex libxml2-dev alsa-tools libasound2-dev vim mlocate libxv-dev libxmu-dev libxi-dev libsamplerate0-dev libsndfile1-dev git-core curl lm-sensors  openssh-server iasl automake libsdl1.2-dev libgtk2.0-dev libglib2.0-dev libglade2-dev libffi-dev pciutils-dev cu sysfsutils mkvtoolnix mkvtoolnix-gui subversion cpuburn indicator-multiload indicator-cpufreq qt4-dev-tools intltool libjson0-dev libudev-dev libfftw3-dev libspeexdsp-dev gnome-doc-utils libgconf2-dev libv4l-dev libgnome-media-profiles-dev libgtkmm-3.0-dev libcanberra-gtk3-dev&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
chmod 0755 /usr/bin/cpufreq-selector&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Create this file and add the line that follows:&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/modprobe.d/thinkpad_acpi.conf &amp;lt;br&amp;gt;&lt;br /&gt;
options thinkpad_acpi fan_control=1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/rc.local --&amp;gt; add the following:&amp;lt;br&amp;gt;&lt;br /&gt;
chmod 666 /proc/acpi/ibm/fan&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
exit&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
indicator-multiload &amp;amp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional but helpful step for realtime audio processing&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
cd /usr/src&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://linux-libre.fsfla.org/pub/linux-libre/releases/LATEST-3.8.N/linux-libre-3.8.6-gnu.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf linux-libre-3.8.6-gnu.tar.bz2&amp;lt;br&amp;gt;&lt;br /&gt;
cd linux-3.8.6/&amp;lt;br&amp;gt;&lt;br /&gt;
cp /boot/config-3.2.0-38-generic .config&amp;lt;br&amp;gt;&lt;br /&gt;
make oldconfig -&amp;gt; hold down enter key to accept defaults&amp;lt;br&amp;gt;&lt;br /&gt;
make gconfig&amp;lt;br&amp;gt;&lt;br /&gt;
'CONFIG_PREEMPT=y' + ALSA built as modules, 'CONFIG_HZ_100=y'&amp;lt;br&amp;gt;&lt;br /&gt;
Consider adding Easycap: CONFIG_MEDIA_ANALOG_TV_SUPPORT=y + CONFIG_VIDEO_STK1160=m &amp;lt;br&amp;gt;&lt;br /&gt;
CONCURRENCY_LEVEL=4 fakeroot make deb-pkg &amp;amp;&amp;gt;gsc_make-deb-pkg.log&amp;lt;br&amp;gt;&lt;br /&gt;
dpkg -i ../*.deb&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
reboot and check for PREEMPT in 'uname -a':&amp;lt;br&amp;gt;&lt;br /&gt;
Linux x201 3.8.6-gnu #1 SMP PREEMPT Sat Apr 13 02:07:48 EDT 2013 x86_64 x86_64 x86_64 GNU/Linux&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
mkdir -p /packages/openvideopro &amp;amp;&amp;amp; mkdir -p /packages/openvideopro/lib &amp;amp;&amp;amp; mkdir -p /packages/openvideopro/bin&amp;lt;br&amp;gt;&lt;br /&gt;
mkdir -p /packages/openvideopro/lib/pkgconfig&amp;lt;br&amp;gt;&lt;br /&gt;
chown -R gchriss:users /packages&amp;lt;br&amp;gt;&lt;br /&gt;
exit&amp;lt;br&amp;gt;&lt;br /&gt;
rm -Rf ~/.gstreamer-0.10&amp;lt;br&amp;gt;&lt;br /&gt;
vi ~/.bashrc -&amp;gt; add the following:&amp;lt;br&amp;gt;&lt;br /&gt;
export GST_PLUGIN_SYSTEM_PATH=&amp;quot;/packages/openvideopro/lib&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
export GST_PLUGIN_PATH=&amp;quot;/packages/openvideopro/lib&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
export PKG_CONFIG_PATH=/packages/openvideopro/lib/pkgconfig&amp;lt;br&amp;gt;&lt;br /&gt;
export PATH=/packages/openvideopro/bin:$PATH&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://repo.or.cz/nasm.git nasm_14april2013 &amp;amp;&amp;amp; cd nasm_14april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./autogen.sh --no-configure &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
YASM is optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://github.com/yasm/yasm.git yasm_14april2013 &amp;amp;&amp;amp; cd yasm_14april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./autogen.sh --no-configure &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://code.entropywave.com/git/orc.git orc_14april2013 &amp;amp;&amp;amp; cd orc_14april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./autogen.sh &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://jackaudio.org/downloads/jack-audio-connection-kit-0.121.3.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf jack-audio-connection-kit-0.121.3.tar.gz &amp;amp;&amp;amp; cd jack-audio-connection-kit-0.121.3&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-optimize --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/security/limits.conf -&amp;gt; add the following line:&amp;lt;br&amp;gt;&lt;br /&gt;
@audio          -       rtprio          99&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/security/limits.d/audio.conf -&amp;gt; create file with the following line:&amp;lt;br&amp;gt;&lt;br /&gt;
@audio - rtprio 95&amp;lt;br&amp;gt;&lt;br /&gt;
@audio - memlock unlimited&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
usermod -a -G audio gchriss --&amp;gt; subsitute 'gchriss' for your username&amp;lt;br&amp;gt;&lt;br /&gt;
exit&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
At this point UI volume controls are missing/non-functional, but alsamixer works.&amp;lt;br&amp;gt;&lt;br /&gt;
Build pulseaudio if needed, but otherwise optional:&amp;lt;br&amp;gt;&lt;br /&gt;
rm -rf  ~/.pulse* /tmp/.esd*&amp;lt;br&amp;gt;&lt;br /&gt;
sudo -rf /tmp/pulse*&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://freedesktop.org/software/pulseaudio/releases/pulseaudio-3.0.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf pulseaudio-3.0.tar.xz&amp;lt;br&amp;gt;&lt;br /&gt;
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/packages/openvideopro/lib64/pkgconfig ./configure --prefix=/packages/openvideopro  &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
sudo make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
mkdir -p /packages/openvideopro/var/run/pulse &amp;amp;&amp;amp;  mkdir -p /packages/openvideopro/var/lib/pulse&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Also optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-0.10.36.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf gstreamer-0.10.36.tar.gz &amp;amp;&amp;amp; cd gstreamer-0.10.36&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-0.10.36.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf gst-plugins-base-0.10.36.tar.gz &amp;amp;&amp;amp; cd gst-plugins-base-0.10.36&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-0.10.31.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf gst-plugins-good-0.10.31.tar.gz &amp;amp;&amp;amp; cd gst-plugins-good-0.10.31&amp;lt;br&amp;gt;&lt;br /&gt;
See: http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=9f2aa8d47f835ea155aaf635f618c0fc1ca87012&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt; Remove line containing 'vbuffer.input' in 'sys/v4l2/gstv4l2bufferpool.c'&amp;lt;br&amp;gt;&lt;br /&gt;
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/packages/openvideopro/lib64/pkgconfig  ./configure --enable-experimental --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_configure.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget https://launchpad.net/gnome-media/main/2.91.2/+download/gnome-media-2.91.2.tar.bz2&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf gnome-media-2.91.2.tar.bz2 &amp;amp;&amp;amp; cd gnome-media-2.91.2&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro  &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
TODO: Figure out how to rebuild UI volume controls (e.g., keyboard volume buttons)&amp;lt;br&amp;gt;&lt;br /&gt;
TODO: The following builds but fails to connect to pulseaudio... debug needed?&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://git.0pointer.de/pavucontrol pavucontrol_15april2013 &amp;amp;&amp;amp; cd pavucontrol_15april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./bootstrap.sh &amp;amp;&amp;gt;gsc_bootstrap.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
TODO: Rebuild Totem + PiTiVi&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/ogg/libogg-1.3.0.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf libogg-1.3.0.tar.gz &amp;amp;&amp;amp; cd libogg-1.3.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.3.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf libvorbis-1.3.3.tar.gz &amp;amp;&amp;amp; cd libvorbis-1.3.3/&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf libtheora-1.1.1.tar.bz2 &amp;amp;&amp;amp; cd libtheora-1.1.1&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Open abrowser, download:&amp;lt;br&amp;gt;&lt;br /&gt;
http://sourceforge.net/projects/libjpeg-turbo/files/1.2.90%20%281.3beta1%29/libjpeg-turbo-1.2.90.tar.gz/download&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; tar -xvzf libjpeg-turbo-1.2.90.tar.gz &amp;amp;&amp;amp; cd libjpeg-turbo-1.2.90&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro --with-jpeg8 &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://dl.matroska.org/downloads/libebml/libebml-1.2.2.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf libebml-1.2.2.tar.bz2 &amp;amp;&amp;amp; cd libebml-1.2.2&amp;lt;br&amp;gt;&lt;br /&gt;
make -C make/linux install_staticlib install_headers prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://dl.matroska.org/downloads/libmatroska/libmatroska-1.3.0.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf libmatroska-1.3.0.tar.bz2 &amp;amp;&amp;amp; cd libmatroska-1.3.0/&amp;lt;br&amp;gt;&lt;br /&gt;
CXXFLAGS='-I/packages/openvideopro/include' make -C make/linux install_staticlib install_headers prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/libshout/libshout-2.3.1.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf libshout-2.3.1.tar.gz &amp;amp;&amp;amp; cd libshout-2.3.1&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.gnome.org/pub/gnome/sources/glib/2.34/glib-2.34.3.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf glib-2.34.3.tar.xz &amp;amp;&amp;amp; cd glib-2.34.3&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
'make check' failures are &amp;quot;OK&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.27.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf alsa-lib-1.0.27.tar.bz2 &amp;amp;&amp;amp; cd alsa-lib-1.0.27&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.0.6.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gstreamer-1.0.6.tar.xz &amp;amp;&amp;amp; cd gstreamer-1.0.6&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-failing-tests --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make check &amp;amp;&amp;gt;gsc_check.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.0.6.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gst-plugins-base-1.0.6.tar.xz &amp;amp;&amp;amp; cd gst-plugins-base-1.0.6&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make check &amp;amp;&amp;gt;gsc_check.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.0.6.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gst-plugins-good-1.0.6.tar.xz &amp;amp;&amp;amp; cd gst-plugins-good-1.0.6&amp;lt;br&amp;gt;&lt;br /&gt;
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/packages/openvideopro/lib64/pkgconfig ./configure --enable-experimental --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_configure.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional but really helpful:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.sourceforge.net/qjackctl/qjackctl-0.3.10.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf qjackctl-0.3.10.tar.gz &amp;amp;&amp;amp; cd qjackctl-0.3.10&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro --with-jack=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===&amp;lt;br&amp;gt;&lt;br /&gt;
Create the following block entries for automatic execution @ user login&amp;lt;br&amp;gt;&lt;br /&gt;
The first two entries are specific to managing Thinkpad-series laptops&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
gsc@host:~$  cat ~/.config/autostart/cpufreq-selector.desktop &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Desktop Entry]&amp;lt;br&amp;gt;&lt;br /&gt;
Type=Application&amp;lt;br&amp;gt;&lt;br /&gt;
Exec=sh -c &amp;quot;/usr/bin/cpufreq-selector -c 0 -g performance &amp;amp; /usr/bin/cpufreq-selector -c 1 -g performance &amp;amp; /usr/bin/cpufreq-selector -c 2 -g performance &amp;amp; /usr/bin/cpufreq-selector -c 3 -g performance&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Hidden=false&amp;lt;br&amp;gt;&lt;br /&gt;
NoDisplay=false&amp;lt;br&amp;gt;&lt;br /&gt;
X-GNOME-Autostart-enabled=true&amp;lt;br&amp;gt;&lt;br /&gt;
Name[en_US]=cpu-freq-selector&amp;lt;br&amp;gt;&lt;br /&gt;
Name=cpufreq-selector&amp;lt;br&amp;gt;&lt;br /&gt;
Comment[en_US]=Set 2.4GHz (x4)&amp;lt;br&amp;gt;&lt;br /&gt;
Comment=Set 2.4GHz (x4)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
gsc@host:~$ cat ~/.config/autostart/echo.desktop &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Desktop Entry]&amp;lt;br&amp;gt;&lt;br /&gt;
Type=Application&amp;lt;br&amp;gt;&lt;br /&gt;
Exec=sh -c &amp;quot;echo level 7 &amp;gt; /proc/acpi/ibm/fan&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Hidden=false&amp;lt;br&amp;gt;&lt;br /&gt;
NoDisplay=false&amp;lt;br&amp;gt;&lt;br /&gt;
X-GNOME-Autostart-enabled=true&amp;lt;br&amp;gt;&lt;br /&gt;
Name[en_US]=Spin up x201i Fan&amp;lt;br&amp;gt;&lt;br /&gt;
Name=Spin up x201i Fan&amp;lt;br&amp;gt;&lt;br /&gt;
Comment[en_US]=Substitute 'disengaged' for '7' for max speed&amp;lt;br&amp;gt;&lt;br /&gt;
Comment=Substitute 'disengaged' for '7' for max speed&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
gsc@host:~$ cat ~/.config/autostart/gnome-terminal.desktop &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Desktop Entry]&amp;lt;br&amp;gt;&lt;br /&gt;
Type=Application&amp;lt;br&amp;gt;&lt;br /&gt;
Exec=gnome-terminal&amp;lt;br&amp;gt;&lt;br /&gt;
Hidden=false&amp;lt;br&amp;gt;&lt;br /&gt;
NoDisplay=false&amp;lt;br&amp;gt;&lt;br /&gt;
X-GNOME-Autostart-enabled=true&amp;lt;br&amp;gt;&lt;br /&gt;
Name[en_US]=GNOME Terminal&amp;lt;br&amp;gt;&lt;br /&gt;
Name=GNOME Terminal&amp;lt;br&amp;gt;&lt;br /&gt;
Comment[en_US]=Just to get things started...&amp;lt;br&amp;gt;&lt;br /&gt;
Comment=Just to get things started...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
gsc@host:~$  cat ~/.config/autostart/qjackctl.desktop &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Desktop Entry]&amp;lt;br&amp;gt;&lt;br /&gt;
Type=Application&amp;lt;br&amp;gt;&lt;br /&gt;
Exec=sh -c &amp;quot;PATH=/packages/openvideopro/bin:$PATH LD_LIBRARY_PATH=/packages/openvideopro/lib64 /packages/openvideopro/bin/qjackctl&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Hidden=false&amp;lt;br&amp;gt;&lt;br /&gt;
NoDisplay=false&amp;lt;br&amp;gt;&lt;br /&gt;
X-GNOME-Autostart-enabled=true&amp;lt;br&amp;gt;&lt;br /&gt;
Name[en_US]=qjackctl&amp;lt;br&amp;gt;&lt;br /&gt;
Name=qjackctl&amp;lt;br&amp;gt;&lt;br /&gt;
Comment[en_US]=Launch openvideopro qjackctl / -GChriss&amp;lt;br&amp;gt;&lt;br /&gt;
Comment=Launch openvideopro qjackctl / -GChriss&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
sudo updatedb&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Stress-test CPU temperature stability (often necessary, proceed at own risk):&amp;lt;br&amp;gt;&lt;br /&gt;
burnMMX &amp;amp; burnMMX &amp;amp; burnMMX &amp;amp; burnMMX&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
network-manager can sometimes be flaky, issue on an as-needed basis:&amp;lt;br&amp;gt;&lt;br /&gt;
service network-manager restart&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Start JACK either via command-line or 'Start' button in QjackCtl, launch GStreamer pipeline, then renice pipeline to -18 or so.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/GST_cookbook/Trisquel6</id>
		<title>GST cookbook/Trisquel6</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/GST_cookbook/Trisquel6"/>
				<updated>2013-05-01T20:39:44Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: hold back automatic kernel updates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Trisquel Release 6.0 (toutatis) GStreamer Build Instructions&amp;lt;br&amp;gt;&lt;br /&gt;
Tested on a Lenovo x201i by GChriss / 15-April-2013 &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Prepare live USB key as documented:&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://cdimage.trisquel.info/trisquel-images/trisquel_6.0_amd64.iso.torrent&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
transmission-gtk trisquel_6.0_amd64.iso.torrent &amp;amp;&amp;lt;br&amp;gt;&lt;br /&gt;
dd if=/path/to/trisquel_6.0_amd64.iso of=/dev/sdX bs=8M&amp;lt;br&amp;gt;&lt;br /&gt;
sync&amp;lt;br&amp;gt;&lt;br /&gt;
cd /media/trisquel\ 6.0\ amd64/&amp;lt;br&amp;gt;&lt;br /&gt;
md5sum -c md5sum.txt&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Boot USB key in BIOS -&amp;gt; Install to disk -&amp;gt; Manual partition&amp;lt;br&amp;gt;&lt;br /&gt;
Use a smaller '/' partition (~20GB), ~2GB swap space, the remainder as '/home', all primary partitions&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Run through install prompts and reboot&amp;lt;br&amp;gt;&lt;br /&gt;
Works out-of-box: backlight, suspend, audio, USB, 10/100 Ethernet, graphics acceleration, Atheros AR5418 Wireless Network Adapter (168c:0024 -- BIOS modification required)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Trisquel Menu -&amp;gt; System Settings -&amp;gt; Disable screensaver, screen dimming, suspend-on-lid-close, sound effects, window animations&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Open Terminal:&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Get this stuff outta here...&amp;lt;br&amp;gt;&lt;br /&gt;
/etc/init.d/apparmor stop&amp;lt;br&amp;gt;&lt;br /&gt;
update-rc.d -f apparmor remove&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get --purge remove apparmor apparmor-utils libapparmor-perl libapparmor1 gnash libjack-jackd2-0&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get update&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;echo &amp;quot;linux-image-generic hold&amp;quot; | dpkg --set-selections&amp;lt;br&amp;gt;&lt;br /&gt;
(To undo: echo &amp;quot;linux-image-generic install&amp;quot; | dpkg --set-selections )&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get dist-upgrade&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get install fakeroot kernel-package libncurses5-dev libqt3-mt-dev bzip2 wget build-essential autoconf libtool libglib2.0-dev bison flex libxml2-dev alsa-tools libasound2-dev vim mlocate libxv-dev libxmu-dev libxi-dev libsamplerate0-dev libsndfile1-dev git-core curl lm-sensors  openssh-server iasl automake libsdl1.2-dev libgtk2.0-dev libglib2.0-dev libglade2-dev libffi-dev pciutils-dev cu sysfsutils mkvtoolnix mkvtoolnix-gui subversion cpuburn indicator-multiload indicator-cpufreq qt4-dev-tools intltool libjson0-dev libudev-dev libfftw3-dev libspeexdsp-dev gnome-doc-utils libgconf2-dev libv4l-dev libgnome-media-profiles-dev libgtkmm-3.0-dev libcanberra-gtk3-dev&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
chmod 0755 /usr/bin/cpufreq-selector&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Create this file and add the line that follows:&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/modprobe.d/thinkpad_acpi.conf &amp;lt;br&amp;gt;&lt;br /&gt;
options thinkpad_acpi fan_control=1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/rc.local --&amp;gt; add the following:&amp;lt;br&amp;gt;&lt;br /&gt;
chmod 666 /proc/acpi/ibm/fan&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
exit&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
indicator-multiload &amp;amp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional but helpful step for realtime audio processing&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
cd /usr/src&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://linux-libre.fsfla.org/pub/linux-libre/releases/LATEST-3.8.N/linux-libre-3.8.6-gnu.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf linux-libre-3.8.6-gnu.tar.bz2&amp;lt;br&amp;gt;&lt;br /&gt;
cd linux-3.8.6/&amp;lt;br&amp;gt;&lt;br /&gt;
cp /boot/config-3.2.0-38-generic .config&amp;lt;br&amp;gt;&lt;br /&gt;
make oldconfig -&amp;gt; hold down enter key to accept defaults&amp;lt;br&amp;gt;&lt;br /&gt;
make gconfig&amp;lt;br&amp;gt;&lt;br /&gt;
'CONFIG_PREEMPT=y' + ALSA built as modules, 'CONFIG_HZ_100=y'&amp;lt;br&amp;gt;&lt;br /&gt;
Consider adding Easycap: CONFIG_MEDIA_ANALOG_TV_SUPPORT=y + CONFIG_VIDEO_STK1160=m &amp;lt;br&amp;gt;&lt;br /&gt;
CONCURRENCY_LEVEL=4 fakeroot make deb-pkg &amp;amp;&amp;gt;gsc_make-deb-pkg.log&amp;lt;br&amp;gt;&lt;br /&gt;
dpkg -i ../*.deb&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
reboot and check for PREEMPT in 'uname -a':&amp;lt;br&amp;gt;&lt;br /&gt;
Linux x201 3.8.6-gnu #1 SMP PREEMPT Sat Apr 13 02:07:48 EDT 2013 x86_64 x86_64 x86_64 GNU/Linux&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
mkdir -p /packages/openvideopro &amp;amp;&amp;amp; mkdir -p /packages/openvideopro/lib &amp;amp;&amp;amp; mkdir -p /packages/openvideopro/bin&amp;lt;br&amp;gt;&lt;br /&gt;
mkdir -p /packages/openvideopro/lib/pkgconfig&amp;lt;br&amp;gt;&lt;br /&gt;
chown -R gchriss:users /packages&amp;lt;br&amp;gt;&lt;br /&gt;
exit&amp;lt;br&amp;gt;&lt;br /&gt;
rm -Rf ~/.gstreamer-0.10&amp;lt;br&amp;gt;&lt;br /&gt;
vi ~/.bashrc -&amp;gt; add the following:&amp;lt;br&amp;gt;&lt;br /&gt;
export GST_PLUGIN_SYSTEM_PATH=&amp;quot;/packages/openvideopro/lib&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
export GST_PLUGIN_PATH=&amp;quot;/packages/openvideopro/lib&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
export PKG_CONFIG_PATH=/packages/openvideopro/lib/pkgconfig&amp;lt;br&amp;gt;&lt;br /&gt;
export PATH=/packages/openvideopro/bin:$PATH&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://repo.or.cz/nasm.git nasm_14april2013 &amp;amp;&amp;amp; cd nasm_14april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./autogen.sh --no-configure &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
YASM is optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://github.com/yasm/yasm.git yasm_14april2013 &amp;amp;&amp;amp; cd yasm_14april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./autogen.sh --no-configure &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://code.entropywave.com/git/orc.git orc_14april2013 &amp;amp;&amp;amp; cd orc_14april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./autogen.sh &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://jackaudio.org/downloads/jack-audio-connection-kit-0.121.3.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf jack-audio-connection-kit-0.121.3.tar.gz &amp;amp;&amp;amp; cd jack-audio-connection-kit-0.121.3&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-optimize --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/security/limits.conf -&amp;gt; add the following line:&amp;lt;br&amp;gt;&lt;br /&gt;
@audio          -       rtprio          99&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/security/limits.d/audio.conf -&amp;gt; create file with the following line:&amp;lt;br&amp;gt;&lt;br /&gt;
@audio - rtprio 95&amp;lt;br&amp;gt;&lt;br /&gt;
@audio - memlock unlimited&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
usermod -a -G audio gchriss --&amp;gt; subsitute 'gchriss' for your username&amp;lt;br&amp;gt;&lt;br /&gt;
exit&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
At this point UI volume controls are missing/non-functional, but alsamixer works.&amp;lt;br&amp;gt;&lt;br /&gt;
Build pulseaudio if needed, but otherwise optional:&amp;lt;br&amp;gt;&lt;br /&gt;
rm -rf  ~/.pulse* /tmp/.esd*&amp;lt;br&amp;gt;&lt;br /&gt;
sudo -rf /tmp/pulse*&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://freedesktop.org/software/pulseaudio/releases/pulseaudio-3.0.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf pulseaudio-3.0.tar.xz&amp;lt;br&amp;gt;&lt;br /&gt;
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/packages/openvideopro/lib64/pkgconfig ./configure --prefix=/packages/openvideopro  &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
sudo make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
mkdir -p /packages/openvideopro/var/run/pulse &amp;amp;&amp;amp;  mkdir -p /packages/openvideopro/var/lib/pulse&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Also optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-0.10.36.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf gstreamer-0.10.36.tar.gz &amp;amp;&amp;amp; cd gstreamer-0.10.36&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-0.10.36.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf gst-plugins-base-0.10.36.tar.gz &amp;amp;&amp;amp; cd gst-plugins-base-0.10.36&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-0.10.31.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf gst-plugins-good-0.10.31.tar.gz &amp;amp;&amp;amp; cd gst-plugins-good-0.10.31&amp;lt;br&amp;gt;&lt;br /&gt;
See: http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=9f2aa8d47f835ea155aaf635f618c0fc1ca87012&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt; Remove line containing 'vbuffer.input' in 'sys/v4l2/gstv4l2bufferpool.c'&amp;lt;br&amp;gt;&lt;br /&gt;
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/packages/openvideopro/lib64/pkgconfig  ./configure --enable-experimental --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_configure.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget https://launchpad.net/gnome-media/main/2.91.2/+download/gnome-media-2.91.2.tar.bz2&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf gnome-media-2.91.2.tar.bz2 &amp;amp;&amp;amp; cd gnome-media-2.91.2&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro  &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
TODO: Figure out how to rebuild UI volume controls (e.g., keyboard volume buttons)&amp;lt;br&amp;gt;&lt;br /&gt;
TODO: The following builds but fails to connect to pulseaudio... debug needed?&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://git.0pointer.de/pavucontrol pavucontrol_15april2013 &amp;amp;&amp;amp; cd pavucontrol_15april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./bootstrap.sh &amp;amp;&amp;gt;gsc_bootstrap.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
TODO: Rebuild Totem + PiTiVi&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/ogg/libogg-1.3.0.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf libogg-1.3.0.tar.gz &amp;amp;&amp;amp; cd libogg-1.3.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.3.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf libvorbis-1.3.3.tar.gz &amp;amp;&amp;amp; cd libvorbis-1.3.3/&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf libtheora-1.1.1.tar.bz2 &amp;amp;&amp;amp; cd libtheora-1.1.1&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Open abrowser, download:&amp;lt;br&amp;gt;&lt;br /&gt;
http://sourceforge.net/projects/libjpeg-turbo/files/1.2.90%20%281.3beta1%29/libjpeg-turbo-1.2.90.tar.gz/download&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; tar -xvzf libjpeg-turbo-1.2.90.tar.gz &amp;amp;&amp;amp; cd libjpeg-turbo-1.2.90&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro --with-jpeg8 &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://dl.matroska.org/downloads/libebml/libebml-1.2.2.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf libebml-1.2.2.tar.bz2 &amp;amp;&amp;amp; cd libebml-1.2.2&amp;lt;br&amp;gt;&lt;br /&gt;
make -C make/linux install_staticlib install_headers prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://dl.matroska.org/downloads/libmatroska/libmatroska-1.3.0.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf libmatroska-1.3.0.tar.bz2 &amp;amp;&amp;amp; cd libmatroska-1.3.0/&amp;lt;br&amp;gt;&lt;br /&gt;
CXXFLAGS='-I/packages/openvideopro/include' make -C make/linux install_staticlib install_headers prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/libshout/libshout-2.3.1.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf libshout-2.3.1.tar.gz &amp;amp;&amp;amp; cd libshout-2.3.1&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.gnome.org/pub/gnome/sources/glib/2.34/glib-2.34.3.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf glib-2.34.3.tar.xz &amp;amp;&amp;amp; cd glib-2.34.3&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
'make check' failures are &amp;quot;OK&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.27.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf alsa-lib-1.0.27.tar.bz2 &amp;amp;&amp;amp; cd alsa-lib-1.0.27&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.0.6.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gstreamer-1.0.6.tar.xz &amp;amp;&amp;amp; cd gstreamer-1.0.6&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-failing-tests --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make check &amp;amp;&amp;gt;gsc_check.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.0.6.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gst-plugins-base-1.0.6.tar.xz &amp;amp;&amp;amp; cd gst-plugins-base-1.0.6&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make check &amp;amp;&amp;gt;gsc_check.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.0.6.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gst-plugins-good-1.0.6.tar.xz &amp;amp;&amp;amp; cd gst-plugins-good-1.0.6&amp;lt;br&amp;gt;&lt;br /&gt;
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/packages/openvideopro/lib64/pkgconfig ./configure --enable-experimental --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_configure.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional but really helpful:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.sourceforge.net/qjackctl/qjackctl-0.3.10.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf qjackctl-0.3.10.tar.gz &amp;amp;&amp;amp; cd qjackctl-0.3.10&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro --with-jack=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===&amp;lt;br&amp;gt;&lt;br /&gt;
Create the following block entries for automatic execution @ user login&amp;lt;br&amp;gt;&lt;br /&gt;
The first two entries are specific to managing Thinkpad-series laptops&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
gsc@host:~$  cat ~/.config/autostart/cpufreq-selector.desktop &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Desktop Entry]&amp;lt;br&amp;gt;&lt;br /&gt;
Type=Application&amp;lt;br&amp;gt;&lt;br /&gt;
Exec=sh -c &amp;quot;/usr/bin/cpufreq-selector -c 0 -g performance &amp;amp; /usr/bin/cpufreq-selector -c 1 -g performance &amp;amp; /usr/bin/cpufreq-selector -c 2 -g performance &amp;amp; /usr/bin/cpufreq-selector -c 3 -g performance&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Hidden=false&amp;lt;br&amp;gt;&lt;br /&gt;
NoDisplay=false&amp;lt;br&amp;gt;&lt;br /&gt;
X-GNOME-Autostart-enabled=true&amp;lt;br&amp;gt;&lt;br /&gt;
Name[en_US]=cpu-freq-selector&amp;lt;br&amp;gt;&lt;br /&gt;
Name=cpufreq-selector&amp;lt;br&amp;gt;&lt;br /&gt;
Comment[en_US]=Set 2.4GHz (x4)&amp;lt;br&amp;gt;&lt;br /&gt;
Comment=Set 2.4GHz (x4)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
gsc@host:~$ cat ~/.config/autostart/echo.desktop &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Desktop Entry]&amp;lt;br&amp;gt;&lt;br /&gt;
Type=Application&amp;lt;br&amp;gt;&lt;br /&gt;
Exec=sh -c &amp;quot;echo level 7 &amp;gt; /proc/acpi/ibm/fan&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Hidden=false&amp;lt;br&amp;gt;&lt;br /&gt;
NoDisplay=false&amp;lt;br&amp;gt;&lt;br /&gt;
X-GNOME-Autostart-enabled=true&amp;lt;br&amp;gt;&lt;br /&gt;
Name[en_US]=Spin up x201i Fan&amp;lt;br&amp;gt;&lt;br /&gt;
Name=Spin up x201i Fan&amp;lt;br&amp;gt;&lt;br /&gt;
Comment[en_US]=Substitute 'disengaged' for '7' for max speed&amp;lt;br&amp;gt;&lt;br /&gt;
Comment=Substitute 'disengaged' for '7' for max speed&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
gsc@host:~$ cat ~/.config/autostart/gnome-terminal.desktop &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Desktop Entry]&amp;lt;br&amp;gt;&lt;br /&gt;
Type=Application&amp;lt;br&amp;gt;&lt;br /&gt;
Exec=gnome-terminal&amp;lt;br&amp;gt;&lt;br /&gt;
Hidden=false&amp;lt;br&amp;gt;&lt;br /&gt;
NoDisplay=false&amp;lt;br&amp;gt;&lt;br /&gt;
X-GNOME-Autostart-enabled=true&amp;lt;br&amp;gt;&lt;br /&gt;
Name[en_US]=GNOME Terminal&amp;lt;br&amp;gt;&lt;br /&gt;
Name=GNOME Terminal&amp;lt;br&amp;gt;&lt;br /&gt;
Comment[en_US]=Just to get things started...&amp;lt;br&amp;gt;&lt;br /&gt;
Comment=Just to get things started...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
gsc@host:~$  cat ~/.config/autostart/qjackctl.desktop &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Desktop Entry]&amp;lt;br&amp;gt;&lt;br /&gt;
Type=Application&amp;lt;br&amp;gt;&lt;br /&gt;
Exec=sh -c &amp;quot;PATH=/packages/openvideopro/bin:$PATH LD_LIBRARY_PATH=/packages/openvideopro/lib64 /packages/openvideopro/bin/qjackctl&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Hidden=false&amp;lt;br&amp;gt;&lt;br /&gt;
NoDisplay=false&amp;lt;br&amp;gt;&lt;br /&gt;
X-GNOME-Autostart-enabled=true&amp;lt;br&amp;gt;&lt;br /&gt;
Name[en_US]=qjackctl&amp;lt;br&amp;gt;&lt;br /&gt;
Name=qjackctl&amp;lt;br&amp;gt;&lt;br /&gt;
Comment[en_US]=Launch openvideopro qjackctl / -GChriss&amp;lt;br&amp;gt;&lt;br /&gt;
Comment=Launch openvideopro qjackctl / -GChriss&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
sudo updatedb&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Stress-test CPU temperature stability (often necessary, proceed at own risk):&amp;lt;br&amp;gt;&lt;br /&gt;
burnMMX &amp;amp; burnMMX &amp;amp; burnMMX &amp;amp; burnMMX&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
network-manager can sometimes be flaky, issue on an as-needed basis:&amp;lt;br&amp;gt;&lt;br /&gt;
service network-manager restart&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Start JACK either via command-line or 'Start' button in QjackCtl, launch GStreamer pipeline, then renice pipeline to -18 or so.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/GST_cookbook/Trisquel6</id>
		<title>GST cookbook/Trisquel6</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/GST_cookbook/Trisquel6"/>
				<updated>2013-04-16T15:23:50Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: add Easycap kernel .config options&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Trisquel Release 6.0 (toutatis) GStreamer Build Instructions&amp;lt;br&amp;gt;&lt;br /&gt;
Tested on a Lenovo x201i by GChriss / 15-April-2013 &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Prepare live USB key as documented:&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://cdimage.trisquel.info/trisquel-images/trisquel_6.0_amd64.iso.torrent&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
transmission-gtk trisquel_6.0_amd64.iso.torrent &amp;amp;&amp;lt;br&amp;gt;&lt;br /&gt;
dd if=/path/to/trisquel_6.0_amd64.iso of=/dev/sdX bs=8M&amp;lt;br&amp;gt;&lt;br /&gt;
sync&amp;lt;br&amp;gt;&lt;br /&gt;
cd /media/trisquel\ 6.0\ amd64/&amp;lt;br&amp;gt;&lt;br /&gt;
md5sum -c md5sum.txt&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Boot USB key in BIOS -&amp;gt; Install to disk -&amp;gt; Manual partition&amp;lt;br&amp;gt;&lt;br /&gt;
Use a smaller '/' partition (~20GB), ~2GB swap space, the remainder as '/home', all primary partitions&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Run through install prompts and reboot&amp;lt;br&amp;gt;&lt;br /&gt;
Works out-of-box: backlight, suspend, audio, USB, 10/100 Ethernet, graphics acceleration, Atheros AR5418 Wireless Network Adapter (168c:0024 -- BIOS modification required)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Trisquel Menu -&amp;gt; System Settings -&amp;gt; Disable screensaver, screen dimming, suspend-on-lid-close, sound effects, window animations&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Open Terminal:&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Get this stuff outta here...&amp;lt;br&amp;gt;&lt;br /&gt;
/etc/init.d/apparmor stop&amp;lt;br&amp;gt;&lt;br /&gt;
update-rc.d -f apparmor remove&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get --purge remove apparmor apparmor-utils libapparmor-perl libapparmor1 gnash libjack-jackd2-0&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get update&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get dist-upgrade&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get install fakeroot kernel-package libncurses5-dev libqt3-mt-dev bzip2 wget build-essential autoconf libtool libglib2.0-dev bison flex libxml2-dev alsa-tools libasound2-dev vim mlocate libxv-dev libxmu-dev libxi-dev libsamplerate0-dev libsndfile1-dev git-core curl lm-sensors  openssh-server iasl automake libsdl1.2-dev libgtk2.0-dev libglib2.0-dev libglade2-dev libffi-dev pciutils-dev cu sysfsutils mkvtoolnix mkvtoolnix-gui subversion cpuburn indicator-multiload indicator-cpufreq qt4-dev-tools intltool libjson0-dev libudev-dev libfftw3-dev libspeexdsp-dev gnome-doc-utils libgconf2-dev libv4l-dev libgnome-media-profiles-dev libgtkmm-3.0-dev libcanberra-gtk3-dev&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
chmod 0755 /usr/bin/cpufreq-selector&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Create this file and add the line that follows:&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/modprobe.d/thinkpad_acpi.conf &amp;lt;br&amp;gt;&lt;br /&gt;
options thinkpad_acpi fan_control=1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/rc.local --&amp;gt; add the following:&amp;lt;br&amp;gt;&lt;br /&gt;
chmod 666 /proc/acpi/ibm/fan&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
exit&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
indicator-multiload &amp;amp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional but helpful step for realtime audio processing&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
cd /usr/src&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://linux-libre.fsfla.org/pub/linux-libre/releases/LATEST-3.8.N/linux-libre-3.8.6-gnu.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf linux-libre-3.8.6-gnu.tar.bz2&amp;lt;br&amp;gt;&lt;br /&gt;
cd linux-3.8.6/&amp;lt;br&amp;gt;&lt;br /&gt;
cp /boot/config-3.2.0-38-generic .config&amp;lt;br&amp;gt;&lt;br /&gt;
make oldconfig -&amp;gt; hold down enter key to accept defaults&amp;lt;br&amp;gt;&lt;br /&gt;
make gconfig&amp;lt;br&amp;gt;&lt;br /&gt;
'CONFIG_PREEMPT=y' + ALSA built as modules, 'CONFIG_HZ_100=y'&amp;lt;br&amp;gt;&lt;br /&gt;
Consider adding Easycap: CONFIG_MEDIA_ANALOG_TV_SUPPORT=y + CONFIG_VIDEO_STK1160=m &amp;lt;br&amp;gt;&lt;br /&gt;
CONCURRENCY_LEVEL=4 fakeroot make deb-pkg &amp;amp;&amp;gt;gsc_make-deb-pkg.log&amp;lt;br&amp;gt;&lt;br /&gt;
dpkg -i ../*.deb&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
reboot and check for PREEMPT in 'uname -a':&amp;lt;br&amp;gt;&lt;br /&gt;
Linux x201 3.8.6-gnu #1 SMP PREEMPT Sat Apr 13 02:07:48 EDT 2013 x86_64 x86_64 x86_64 GNU/Linux&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
mkdir -p /packages/openvideopro &amp;amp;&amp;amp; mkdir -p /packages/openvideopro/lib &amp;amp;&amp;amp; mkdir -p /packages/openvideopro/bin&amp;lt;br&amp;gt;&lt;br /&gt;
mkdir -p /packages/openvideopro/lib/pkgconfig&amp;lt;br&amp;gt;&lt;br /&gt;
chown -R gchriss:users /packages&amp;lt;br&amp;gt;&lt;br /&gt;
exit&amp;lt;br&amp;gt;&lt;br /&gt;
rm -Rf ~/.gstreamer-0.10&amp;lt;br&amp;gt;&lt;br /&gt;
vi ~/.bashrc -&amp;gt; add the following:&amp;lt;br&amp;gt;&lt;br /&gt;
export GST_PLUGIN_SYSTEM_PATH=&amp;quot;/packages/openvideopro/lib&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
export GST_PLUGIN_PATH=&amp;quot;/packages/openvideopro/lib&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
export PKG_CONFIG_PATH=/packages/openvideopro/lib/pkgconfig&amp;lt;br&amp;gt;&lt;br /&gt;
export PATH=/packages/openvideopro/bin:$PATH&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://repo.or.cz/nasm.git nasm_14april2013 &amp;amp;&amp;amp; cd nasm_14april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./autogen.sh --no-configure &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
YASM is optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://github.com/yasm/yasm.git yasm_14april2013 &amp;amp;&amp;amp; cd yasm_14april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./autogen.sh --no-configure &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://code.entropywave.com/git/orc.git orc_14april2013 &amp;amp;&amp;amp; cd orc_14april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./autogen.sh &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://jackaudio.org/downloads/jack-audio-connection-kit-0.121.3.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf jack-audio-connection-kit-0.121.3.tar.gz &amp;amp;&amp;amp; cd jack-audio-connection-kit-0.121.3&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-optimize --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/security/limits.conf -&amp;gt; add the following line:&amp;lt;br&amp;gt;&lt;br /&gt;
@audio          -       rtprio          99&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/security/limits.d/audio.conf -&amp;gt; create file with the following line:&amp;lt;br&amp;gt;&lt;br /&gt;
@audio - rtprio 95&amp;lt;br&amp;gt;&lt;br /&gt;
@audio - memlock unlimited&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
usermod -a -G audio gchriss --&amp;gt; subsitute 'gchriss' for your username&amp;lt;br&amp;gt;&lt;br /&gt;
exit&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
At this point UI volume controls are missing/non-functional, but alsamixer works.&amp;lt;br&amp;gt;&lt;br /&gt;
Build pulseaudio if needed, but otherwise optional:&amp;lt;br&amp;gt;&lt;br /&gt;
rm -rf  ~/.pulse* /tmp/.esd*&amp;lt;br&amp;gt;&lt;br /&gt;
sudo -rf /tmp/pulse*&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://freedesktop.org/software/pulseaudio/releases/pulseaudio-3.0.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf pulseaudio-3.0.tar.xz&amp;lt;br&amp;gt;&lt;br /&gt;
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/packages/openvideopro/lib64/pkgconfig ./configure --prefix=/packages/openvideopro  &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
sudo make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
mkdir -p /packages/openvideopro/var/run/pulse &amp;amp;&amp;amp;  mkdir -p /packages/openvideopro/var/lib/pulse&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Also optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-0.10.36.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf gstreamer-0.10.36.tar.gz &amp;amp;&amp;amp; cd gstreamer-0.10.36&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-0.10.36.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf gst-plugins-base-0.10.36.tar.gz &amp;amp;&amp;amp; cd gst-plugins-base-0.10.36&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-0.10.31.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf gst-plugins-good-0.10.31.tar.gz &amp;amp;&amp;amp; cd gst-plugins-good-0.10.31&amp;lt;br&amp;gt;&lt;br /&gt;
See: http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=9f2aa8d47f835ea155aaf635f618c0fc1ca87012&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt; Remove line containing 'vbuffer.input' in 'sys/v4l2/gstv4l2bufferpool.c'&amp;lt;br&amp;gt;&lt;br /&gt;
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/packages/openvideopro/lib64/pkgconfig  ./configure --enable-experimental --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_configure.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget https://launchpad.net/gnome-media/main/2.91.2/+download/gnome-media-2.91.2.tar.bz2&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf gnome-media-2.91.2.tar.bz2 &amp;amp;&amp;amp; cd gnome-media-2.91.2&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro  &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
TODO: Figure out how to rebuild UI volume controls (e.g., keyboard volume buttons)&amp;lt;br&amp;gt;&lt;br /&gt;
TODO: The following builds but fails to connect to pulseaudio... debug needed?&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://git.0pointer.de/pavucontrol pavucontrol_15april2013 &amp;amp;&amp;amp; cd pavucontrol_15april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./bootstrap.sh &amp;amp;&amp;gt;gsc_bootstrap.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
TODO: Rebuild Totem + PiTiVi&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/ogg/libogg-1.3.0.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf libogg-1.3.0.tar.gz &amp;amp;&amp;amp; cd libogg-1.3.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.3.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf libvorbis-1.3.3.tar.gz &amp;amp;&amp;amp; cd libvorbis-1.3.3/&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf libtheora-1.1.1.tar.bz2 &amp;amp;&amp;amp; cd libtheora-1.1.1&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Open abrowser, download:&amp;lt;br&amp;gt;&lt;br /&gt;
http://sourceforge.net/projects/libjpeg-turbo/files/1.2.90%20%281.3beta1%29/libjpeg-turbo-1.2.90.tar.gz/download&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; tar -xvzf libjpeg-turbo-1.2.90.tar.gz &amp;amp;&amp;amp; cd libjpeg-turbo-1.2.90&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro --with-jpeg8 &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://dl.matroska.org/downloads/libebml/libebml-1.2.2.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf libebml-1.2.2.tar.bz2 &amp;amp;&amp;amp; cd libebml-1.2.2&amp;lt;br&amp;gt;&lt;br /&gt;
make -C make/linux install_staticlib install_headers prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://dl.matroska.org/downloads/libmatroska/libmatroska-1.3.0.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf libmatroska-1.3.0.tar.bz2 &amp;amp;&amp;amp; cd libmatroska-1.3.0/&amp;lt;br&amp;gt;&lt;br /&gt;
CXXFLAGS='-I/packages/openvideopro/include' make -C make/linux install_staticlib install_headers prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/libshout/libshout-2.3.1.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf libshout-2.3.1.tar.gz &amp;amp;&amp;amp; cd libshout-2.3.1&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.gnome.org/pub/gnome/sources/glib/2.34/glib-2.34.3.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf glib-2.34.3.tar.xz &amp;amp;&amp;amp; cd glib-2.34.3&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
'make check' failures are &amp;quot;OK&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.27.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf alsa-lib-1.0.27.tar.bz2 &amp;amp;&amp;amp; cd alsa-lib-1.0.27&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.0.6.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gstreamer-1.0.6.tar.xz &amp;amp;&amp;amp; cd gstreamer-1.0.6&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-failing-tests --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make check &amp;amp;&amp;gt;gsc_check.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.0.6.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gst-plugins-base-1.0.6.tar.xz &amp;amp;&amp;amp; cd gst-plugins-base-1.0.6&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make check &amp;amp;&amp;gt;gsc_check.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.0.6.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gst-plugins-good-1.0.6.tar.xz &amp;amp;&amp;amp; cd gst-plugins-good-1.0.6&amp;lt;br&amp;gt;&lt;br /&gt;
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/packages/openvideopro/lib64/pkgconfig ./configure --enable-experimental --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_configure.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional but really helpful:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.sourceforge.net/qjackctl/qjackctl-0.3.10.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf qjackctl-0.3.10.tar.gz &amp;amp;&amp;amp; cd qjackctl-0.3.10&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro --with-jack=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===&amp;lt;br&amp;gt;&lt;br /&gt;
Create the following block entries for automatic execution @ user login&amp;lt;br&amp;gt;&lt;br /&gt;
The first two entries are specific to managing Thinkpad-series laptops&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
gsc@host:~$  cat ~/.config/autostart/cpufreq-selector.desktop &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Desktop Entry]&amp;lt;br&amp;gt;&lt;br /&gt;
Type=Application&amp;lt;br&amp;gt;&lt;br /&gt;
Exec=sh -c &amp;quot;/usr/bin/cpufreq-selector -c 0 -g performance &amp;amp; /usr/bin/cpufreq-selector -c 1 -g performance &amp;amp; /usr/bin/cpufreq-selector -c 2 -g performance &amp;amp; /usr/bin/cpufreq-selector -c 3 -g performance&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Hidden=false&amp;lt;br&amp;gt;&lt;br /&gt;
NoDisplay=false&amp;lt;br&amp;gt;&lt;br /&gt;
X-GNOME-Autostart-enabled=true&amp;lt;br&amp;gt;&lt;br /&gt;
Name[en_US]=cpu-freq-selector&amp;lt;br&amp;gt;&lt;br /&gt;
Name=cpufreq-selector&amp;lt;br&amp;gt;&lt;br /&gt;
Comment[en_US]=Set 2.4GHz (x4)&amp;lt;br&amp;gt;&lt;br /&gt;
Comment=Set 2.4GHz (x4)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
gsc@host:~$ cat ~/.config/autostart/echo.desktop &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Desktop Entry]&amp;lt;br&amp;gt;&lt;br /&gt;
Type=Application&amp;lt;br&amp;gt;&lt;br /&gt;
Exec=sh -c &amp;quot;echo level 7 &amp;gt; /proc/acpi/ibm/fan&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Hidden=false&amp;lt;br&amp;gt;&lt;br /&gt;
NoDisplay=false&amp;lt;br&amp;gt;&lt;br /&gt;
X-GNOME-Autostart-enabled=true&amp;lt;br&amp;gt;&lt;br /&gt;
Name[en_US]=Spin up x201i Fan&amp;lt;br&amp;gt;&lt;br /&gt;
Name=Spin up x201i Fan&amp;lt;br&amp;gt;&lt;br /&gt;
Comment[en_US]=Substitute 'disengaged' for '7' for max speed&amp;lt;br&amp;gt;&lt;br /&gt;
Comment=Substitute 'disengaged' for '7' for max speed&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
gsc@host:~$ cat ~/.config/autostart/gnome-terminal.desktop &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Desktop Entry]&amp;lt;br&amp;gt;&lt;br /&gt;
Type=Application&amp;lt;br&amp;gt;&lt;br /&gt;
Exec=gnome-terminal&amp;lt;br&amp;gt;&lt;br /&gt;
Hidden=false&amp;lt;br&amp;gt;&lt;br /&gt;
NoDisplay=false&amp;lt;br&amp;gt;&lt;br /&gt;
X-GNOME-Autostart-enabled=true&amp;lt;br&amp;gt;&lt;br /&gt;
Name[en_US]=GNOME Terminal&amp;lt;br&amp;gt;&lt;br /&gt;
Name=GNOME Terminal&amp;lt;br&amp;gt;&lt;br /&gt;
Comment[en_US]=Just to get things started...&amp;lt;br&amp;gt;&lt;br /&gt;
Comment=Just to get things started...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
gsc@host:~$  cat ~/.config/autostart/qjackctl.desktop &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Desktop Entry]&amp;lt;br&amp;gt;&lt;br /&gt;
Type=Application&amp;lt;br&amp;gt;&lt;br /&gt;
Exec=sh -c &amp;quot;PATH=/packages/openvideopro/bin:$PATH LD_LIBRARY_PATH=/packages/openvideopro/lib64 /packages/openvideopro/bin/qjackctl&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Hidden=false&amp;lt;br&amp;gt;&lt;br /&gt;
NoDisplay=false&amp;lt;br&amp;gt;&lt;br /&gt;
X-GNOME-Autostart-enabled=true&amp;lt;br&amp;gt;&lt;br /&gt;
Name[en_US]=qjackctl&amp;lt;br&amp;gt;&lt;br /&gt;
Name=qjackctl&amp;lt;br&amp;gt;&lt;br /&gt;
Comment[en_US]=Launch openvideopro qjackctl / -GChriss&amp;lt;br&amp;gt;&lt;br /&gt;
Comment=Launch openvideopro qjackctl / -GChriss&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
sudo updatedb&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Stress-test CPU temperature stability (often necessary, proceed at own risk):&amp;lt;br&amp;gt;&lt;br /&gt;
burnMMX &amp;amp; burnMMX &amp;amp; burnMMX &amp;amp; burnMMX&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
network-manager can sometimes be flaky, issue on an as-needed basis:&amp;lt;br&amp;gt;&lt;br /&gt;
service network-manager restart&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Start JACK either via command-line or 'Start' button in QjackCtl, launch GStreamer pipeline, then renice pipeline to -18 or so.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/GST_cookbook/Trisquel6</id>
		<title>GST cookbook/Trisquel6</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/GST_cookbook/Trisquel6"/>
				<updated>2013-04-15T15:39:47Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: this is a Lenovo x201i&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Trisquel Release 6.0 (toutatis) GStreamer Build Instructions&amp;lt;br&amp;gt;&lt;br /&gt;
Tested on a Lenovo x201i by GChriss / 15-April-2013 &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Prepare live USB key as documented:&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://cdimage.trisquel.info/trisquel-images/trisquel_6.0_amd64.iso.torrent&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
transmission-gtk trisquel_6.0_amd64.iso.torrent &amp;amp;&amp;lt;br&amp;gt;&lt;br /&gt;
dd if=/path/to/trisquel_6.0_amd64.iso of=/dev/sdX bs=8M&amp;lt;br&amp;gt;&lt;br /&gt;
sync&amp;lt;br&amp;gt;&lt;br /&gt;
cd /media/trisquel\ 6.0\ amd64/&amp;lt;br&amp;gt;&lt;br /&gt;
md5sum -c md5sum.txt&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Boot USB key in BIOS -&amp;gt; Install to disk -&amp;gt; Manual partition&amp;lt;br&amp;gt;&lt;br /&gt;
Use a smaller '/' partition (~20GB), ~2GB swap space, the remainder as '/home', all primary partitions&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Run through install prompts and reboot&amp;lt;br&amp;gt;&lt;br /&gt;
Works out-of-box: backlight, suspend, audio, USB, 10/100 Ethernet, graphics acceleration, Atheros AR5418 Wireless Network Adapter (168c:0024 -- BIOS modification required)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Trisquel Menu -&amp;gt; System Settings -&amp;gt; Disable screensaver, screen dimming, suspend-on-lid-close, sound effects, window animations&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Open Terminal:&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Get this stuff outta here...&amp;lt;br&amp;gt;&lt;br /&gt;
/etc/init.d/apparmor stop&amp;lt;br&amp;gt;&lt;br /&gt;
update-rc.d -f apparmor remove&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get --purge remove apparmor apparmor-utils libapparmor-perl libapparmor1 gnash libjack-jackd2-0&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get update&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get dist-upgrade&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get install fakeroot kernel-package libncurses5-dev libqt3-mt-dev bzip2 wget build-essential autoconf libtool libglib2.0-dev bison flex libxml2-dev alsa-tools libasound2-dev vim mlocate libxv-dev libxmu-dev libxi-dev libsamplerate0-dev libsndfile1-dev git-core curl lm-sensors  openssh-server iasl automake libsdl1.2-dev libgtk2.0-dev libglib2.0-dev libglade2-dev libffi-dev pciutils-dev cu sysfsutils mkvtoolnix mkvtoolnix-gui subversion cpuburn indicator-multiload indicator-cpufreq qt4-dev-tools intltool libjson0-dev libudev-dev libfftw3-dev libspeexdsp-dev gnome-doc-utils libgconf2-dev libv4l-dev libgnome-media-profiles-dev libgtkmm-3.0-dev libcanberra-gtk3-dev&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
chmod 0755 /usr/bin/cpufreq-selector&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Create this file and add the line that follows:&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/modprobe.d/thinkpad_acpi.conf &amp;lt;br&amp;gt;&lt;br /&gt;
options thinkpad_acpi fan_control=1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/rc.local --&amp;gt; add the following:&amp;lt;br&amp;gt;&lt;br /&gt;
chmod 666 /proc/acpi/ibm/fan&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
exit&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
indicator-multiload &amp;amp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional but helpful step for realtime audio processing&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
cd /usr/src&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://linux-libre.fsfla.org/pub/linux-libre/releases/LATEST-3.8.N/linux-libre-3.8.6-gnu.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf linux-libre-3.8.6-gnu.tar.bz2&amp;lt;br&amp;gt;&lt;br /&gt;
cd linux-3.8.6/&amp;lt;br&amp;gt;&lt;br /&gt;
cp /boot/config-3.2.0-38-generic .config&amp;lt;br&amp;gt;&lt;br /&gt;
make oldconfig -&amp;gt; hold down enter key to accept defaults&amp;lt;br&amp;gt;&lt;br /&gt;
make gconfig&amp;lt;br&amp;gt;&lt;br /&gt;
'CONFIG_PREEMPT=y' + ALSA built as modules, 'CONFIG_HZ_100=y'&amp;lt;br&amp;gt;&lt;br /&gt;
CONCURRENCY_LEVEL=4 fakeroot make deb-pkg &amp;amp;&amp;gt;gsc_make-deb-pkg.log&amp;lt;br&amp;gt;&lt;br /&gt;
dpkg -i ../*.deb&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
reboot and check for PREEMPT in 'uname -a':&amp;lt;br&amp;gt;&lt;br /&gt;
Linux x201 3.8.6-gnu #1 SMP PREEMPT Sat Apr 13 02:07:48 EDT 2013 x86_64 x86_64 x86_64 GNU/Linux&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
mkdir -p /packages/openvideopro &amp;amp;&amp;amp; mkdir -p /packages/openvideopro/lib &amp;amp;&amp;amp; mkdir -p /packages/openvideopro/bin&amp;lt;br&amp;gt;&lt;br /&gt;
mkdir -p /packages/openvideopro/lib/pkgconfig&amp;lt;br&amp;gt;&lt;br /&gt;
chown -R gchriss:users /packages&amp;lt;br&amp;gt;&lt;br /&gt;
exit&amp;lt;br&amp;gt;&lt;br /&gt;
rm -Rf ~/.gstreamer-0.10&amp;lt;br&amp;gt;&lt;br /&gt;
vi ~/.bashrc -&amp;gt; add the following:&amp;lt;br&amp;gt;&lt;br /&gt;
export GST_PLUGIN_SYSTEM_PATH=&amp;quot;/packages/openvideopro/lib&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
export GST_PLUGIN_PATH=&amp;quot;/packages/openvideopro/lib&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
export PKG_CONFIG_PATH=/packages/openvideopro/lib/pkgconfig&amp;lt;br&amp;gt;&lt;br /&gt;
export PATH=/packages/openvideopro/bin:$PATH&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://repo.or.cz/nasm.git nasm_14april2013 &amp;amp;&amp;amp; cd nasm_14april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./autogen.sh --no-configure &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
YASM is optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://github.com/yasm/yasm.git yasm_14april2013 &amp;amp;&amp;amp; cd yasm_14april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./autogen.sh --no-configure &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://code.entropywave.com/git/orc.git orc_14april2013 &amp;amp;&amp;amp; cd orc_14april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./autogen.sh &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://jackaudio.org/downloads/jack-audio-connection-kit-0.121.3.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf jack-audio-connection-kit-0.121.3.tar.gz &amp;amp;&amp;amp; cd jack-audio-connection-kit-0.121.3&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-optimize --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/security/limits.conf -&amp;gt; add the following line:&amp;lt;br&amp;gt;&lt;br /&gt;
@audio          -       rtprio          99&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/security/limits.d/audio.conf -&amp;gt; create file with the following line:&amp;lt;br&amp;gt;&lt;br /&gt;
@audio - rtprio 95&amp;lt;br&amp;gt;&lt;br /&gt;
@audio - memlock unlimited&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
usermod -a -G audio gchriss --&amp;gt; subsitute 'gchriss' for your username&amp;lt;br&amp;gt;&lt;br /&gt;
exit&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
At this point UI volume controls are missing/non-functional, but alsamixer works.&amp;lt;br&amp;gt;&lt;br /&gt;
Build pulseaudio if needed, but otherwise optional:&amp;lt;br&amp;gt;&lt;br /&gt;
rm -rf  ~/.pulse* /tmp/.esd*&amp;lt;br&amp;gt;&lt;br /&gt;
sudo -rf /tmp/pulse*&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://freedesktop.org/software/pulseaudio/releases/pulseaudio-3.0.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf pulseaudio-3.0.tar.xz&amp;lt;br&amp;gt;&lt;br /&gt;
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/packages/openvideopro/lib64/pkgconfig ./configure --prefix=/packages/openvideopro  &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
sudo make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
mkdir -p /packages/openvideopro/var/run/pulse &amp;amp;&amp;amp;  mkdir -p /packages/openvideopro/var/lib/pulse&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Also optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-0.10.36.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf gstreamer-0.10.36.tar.gz &amp;amp;&amp;amp; cd gstreamer-0.10.36&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-0.10.36.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf gst-plugins-base-0.10.36.tar.gz &amp;amp;&amp;amp; cd gst-plugins-base-0.10.36&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-0.10.31.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf gst-plugins-good-0.10.31.tar.gz &amp;amp;&amp;amp; cd gst-plugins-good-0.10.31&amp;lt;br&amp;gt;&lt;br /&gt;
See: http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=9f2aa8d47f835ea155aaf635f618c0fc1ca87012&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt; Remove line containing 'vbuffer.input' in 'sys/v4l2/gstv4l2bufferpool.c'&amp;lt;br&amp;gt;&lt;br /&gt;
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/packages/openvideopro/lib64/pkgconfig  ./configure --enable-experimental --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_configure.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget https://launchpad.net/gnome-media/main/2.91.2/+download/gnome-media-2.91.2.tar.bz2&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf gnome-media-2.91.2.tar.bz2 &amp;amp;&amp;amp; cd gnome-media-2.91.2&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro  &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
TODO: Figure out how to rebuild UI volume controls (e.g., keyboard volume buttons)&amp;lt;br&amp;gt;&lt;br /&gt;
TODO: The following builds but fails to connect to pulseaudio... debug needed?&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://git.0pointer.de/pavucontrol pavucontrol_15april2013 &amp;amp;&amp;amp; cd pavucontrol_15april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./bootstrap.sh &amp;amp;&amp;gt;gsc_bootstrap.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
TODO: Rebuild Totem + PiTiVi&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/ogg/libogg-1.3.0.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf libogg-1.3.0.tar.gz &amp;amp;&amp;amp; cd libogg-1.3.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.3.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf libvorbis-1.3.3.tar.gz &amp;amp;&amp;amp; cd libvorbis-1.3.3/&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf libtheora-1.1.1.tar.bz2 &amp;amp;&amp;amp; cd libtheora-1.1.1&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Open abrowser, download:&amp;lt;br&amp;gt;&lt;br /&gt;
http://sourceforge.net/projects/libjpeg-turbo/files/1.2.90%20%281.3beta1%29/libjpeg-turbo-1.2.90.tar.gz/download&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; tar -xvzf libjpeg-turbo-1.2.90.tar.gz &amp;amp;&amp;amp; cd libjpeg-turbo-1.2.90&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro --with-jpeg8 &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://dl.matroska.org/downloads/libebml/libebml-1.2.2.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf libebml-1.2.2.tar.bz2 &amp;amp;&amp;amp; cd libebml-1.2.2&amp;lt;br&amp;gt;&lt;br /&gt;
make -C make/linux install_staticlib install_headers prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://dl.matroska.org/downloads/libmatroska/libmatroska-1.3.0.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf libmatroska-1.3.0.tar.bz2 &amp;amp;&amp;amp; cd libmatroska-1.3.0/&amp;lt;br&amp;gt;&lt;br /&gt;
CXXFLAGS='-I/packages/openvideopro/include' make -C make/linux install_staticlib install_headers prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/libshout/libshout-2.3.1.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf libshout-2.3.1.tar.gz &amp;amp;&amp;amp; cd libshout-2.3.1&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.gnome.org/pub/gnome/sources/glib/2.34/glib-2.34.3.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf glib-2.34.3.tar.xz &amp;amp;&amp;amp; cd glib-2.34.3&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
'make check' failures are &amp;quot;OK&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.27.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf alsa-lib-1.0.27.tar.bz2 &amp;amp;&amp;amp; cd alsa-lib-1.0.27&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.0.6.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gstreamer-1.0.6.tar.xz &amp;amp;&amp;amp; cd gstreamer-1.0.6&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-failing-tests --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make check &amp;amp;&amp;gt;gsc_check.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.0.6.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gst-plugins-base-1.0.6.tar.xz &amp;amp;&amp;amp; cd gst-plugins-base-1.0.6&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make check &amp;amp;&amp;gt;gsc_check.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.0.6.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gst-plugins-good-1.0.6.tar.xz &amp;amp;&amp;amp; cd gst-plugins-good-1.0.6&amp;lt;br&amp;gt;&lt;br /&gt;
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/packages/openvideopro/lib64/pkgconfig ./configure --enable-experimental --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_configure.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional but really helpful:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.sourceforge.net/qjackctl/qjackctl-0.3.10.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf qjackctl-0.3.10.tar.gz &amp;amp;&amp;amp; cd qjackctl-0.3.10&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro --with-jack=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===&amp;lt;br&amp;gt;&lt;br /&gt;
Create the following block entries for automatic execution @ user login&amp;lt;br&amp;gt;&lt;br /&gt;
The first two entries are specific to managing Thinkpad-series laptops&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
gsc@host:~$  cat ~/.config/autostart/cpufreq-selector.desktop &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Desktop Entry]&amp;lt;br&amp;gt;&lt;br /&gt;
Type=Application&amp;lt;br&amp;gt;&lt;br /&gt;
Exec=sh -c &amp;quot;/usr/bin/cpufreq-selector -c 0 -g performance &amp;amp; /usr/bin/cpufreq-selector -c 1 -g performance &amp;amp; /usr/bin/cpufreq-selector -c 2 -g performance &amp;amp; /usr/bin/cpufreq-selector -c 3 -g performance&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Hidden=false&amp;lt;br&amp;gt;&lt;br /&gt;
NoDisplay=false&amp;lt;br&amp;gt;&lt;br /&gt;
X-GNOME-Autostart-enabled=true&amp;lt;br&amp;gt;&lt;br /&gt;
Name[en_US]=cpu-freq-selector&amp;lt;br&amp;gt;&lt;br /&gt;
Name=cpufreq-selector&amp;lt;br&amp;gt;&lt;br /&gt;
Comment[en_US]=Set 2.4GHz (x4)&amp;lt;br&amp;gt;&lt;br /&gt;
Comment=Set 2.4GHz (x4)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
gsc@host:~$ cat ~/.config/autostart/echo.desktop &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Desktop Entry]&amp;lt;br&amp;gt;&lt;br /&gt;
Type=Application&amp;lt;br&amp;gt;&lt;br /&gt;
Exec=sh -c &amp;quot;echo level 7 &amp;gt; /proc/acpi/ibm/fan&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Hidden=false&amp;lt;br&amp;gt;&lt;br /&gt;
NoDisplay=false&amp;lt;br&amp;gt;&lt;br /&gt;
X-GNOME-Autostart-enabled=true&amp;lt;br&amp;gt;&lt;br /&gt;
Name[en_US]=Spin up x201i Fan&amp;lt;br&amp;gt;&lt;br /&gt;
Name=Spin up x201i Fan&amp;lt;br&amp;gt;&lt;br /&gt;
Comment[en_US]=Substitute 'disengaged' for '7' for max speed&amp;lt;br&amp;gt;&lt;br /&gt;
Comment=Substitute 'disengaged' for '7' for max speed&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
gsc@host:~$ cat ~/.config/autostart/gnome-terminal.desktop &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Desktop Entry]&amp;lt;br&amp;gt;&lt;br /&gt;
Type=Application&amp;lt;br&amp;gt;&lt;br /&gt;
Exec=gnome-terminal&amp;lt;br&amp;gt;&lt;br /&gt;
Hidden=false&amp;lt;br&amp;gt;&lt;br /&gt;
NoDisplay=false&amp;lt;br&amp;gt;&lt;br /&gt;
X-GNOME-Autostart-enabled=true&amp;lt;br&amp;gt;&lt;br /&gt;
Name[en_US]=GNOME Terminal&amp;lt;br&amp;gt;&lt;br /&gt;
Name=GNOME Terminal&amp;lt;br&amp;gt;&lt;br /&gt;
Comment[en_US]=Just to get things started...&amp;lt;br&amp;gt;&lt;br /&gt;
Comment=Just to get things started...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
gsc@host:~$  cat ~/.config/autostart/qjackctl.desktop &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Desktop Entry]&amp;lt;br&amp;gt;&lt;br /&gt;
Type=Application&amp;lt;br&amp;gt;&lt;br /&gt;
Exec=sh -c &amp;quot;PATH=/packages/openvideopro/bin:$PATH LD_LIBRARY_PATH=/packages/openvideopro/lib64 /packages/openvideopro/bin/qjackctl&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Hidden=false&amp;lt;br&amp;gt;&lt;br /&gt;
NoDisplay=false&amp;lt;br&amp;gt;&lt;br /&gt;
X-GNOME-Autostart-enabled=true&amp;lt;br&amp;gt;&lt;br /&gt;
Name[en_US]=qjackctl&amp;lt;br&amp;gt;&lt;br /&gt;
Name=qjackctl&amp;lt;br&amp;gt;&lt;br /&gt;
Comment[en_US]=Launch openvideopro qjackctl / -GChriss&amp;lt;br&amp;gt;&lt;br /&gt;
Comment=Launch openvideopro qjackctl / -GChriss&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
sudo updatedb&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Stress-test CPU temperature stability (often necessary, proceed at own risk):&amp;lt;br&amp;gt;&lt;br /&gt;
burnMMX &amp;amp; burnMMX &amp;amp; burnMMX &amp;amp; burnMMX&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
network-manager can sometimes be flaky, issue on an as-needed basis:&amp;lt;br&amp;gt;&lt;br /&gt;
service network-manager restart&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Start JACK either via command-line or 'Start' button in QjackCtl, launch GStreamer pipeline, then renice pipeline to -18 or so.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/GST_cookbook</id>
		<title>GST cookbook</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/GST_cookbook"/>
				<updated>2013-04-15T15:09:06Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: /* Live-stream an Elphel 353L camera... */ add gst-launch-1.0 version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;GStreamer is a powerful multimedia infrastructure for applications—providing a number of programming language constructs and bindings—but also provides easy-to-use rapid prototyping tools to test new multimedia pipelines.  Additionally, Gstreamer usually has good support for Xiph-related formats.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, it can be rather difficult to figure out an appropriate pipeline without a starting point.  This page is a collection of gst-launch pipelines that can be used on an as-needed basis.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: #ffffff; border: 1px solid #000000; color: black; font-weight: bold; margin: 2em 0 1em; padding: .5em 1em; vertical-align: middle;&amp;quot;&amp;gt;Note that some examples are &amp;quot;high-performance&amp;quot; pipelines which require purpose-built systems.&amp;lt;br&amp;gt;[[GST_cookbook/gNewSense|gNewSense build notes]] | [[GST_cookbook/Trisquel6|Trisquel Build Notes]]&amp;lt;/div&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Encode a .wav to Vorbis:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.wav&amp;quot;  ! wavparse ! audioconvert ! vorbisenc ! oggmux ! filesink location=&amp;quot;OUTPUT.ogg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Dump a Theora video to PNGs:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.ogv&amp;quot; !  oggdemux ! theoradec ! ffmpegcolorspace ! pngenc snapshot=false ! multifilesink location=&amp;quot;OUTPUT%04d.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Transmux a MKV (containing vorbis and theora) to Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.mkv&amp;quot; ! matroskademux name=d ! video/x-theora ! queue ! theoraparse ! oggmux name=mux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot; d. ! audio/x-vorbis ! queue ! vorbisparse ! queue ! mux.&lt;br /&gt;
&lt;br /&gt;
===Encode a y4m to lossless Dirac in Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.y4m&amp;quot; ! decodebin ! schroenc force-profile=vc2_main rate-control=lossless ! oggmux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Pull from a windows media stream, transcode to Ogg/Theora+Vorbis and send to a icecast server:===&lt;br /&gt;
(may require purchasing Fluendo plugins for decoding the encumbered codecs)&lt;br /&gt;
*gst-launch uridecodebin uri=mms://SOURCE.SERVER.COM/path name=d ! queue max-size-time=100000000 ! ffmpegcolorspace ! theoraenc bitrate=800 ! oggmux name=mux ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv d. ! queue max-size-time=100000000 ! audioconvert ! vorbisenc ! mux.&lt;br /&gt;
&lt;br /&gt;
===Capture video from a webcam, encode to an Ogg Theora file, decode and display on screen, write to a file whose name is the current date+time, and stream to an IceCast server===&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! 'video/x-raw-yuv, width=640, height=480' ! videorate ! 'video/x-raw-yuv, framerate=15/1' ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=150 ! oggmux ! tee name=ogged ! queue max-size-bytes=100000000 max-size-time=0 ! oggdemux ! theoradec ! xvimagesink sync=false force-aspect-ratio=true ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=`date +%F_%T`.ogv ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv streamname=YOURSTREAMNAME description=YOURDESCRIPTION genre=YOURGENRE url=YOURSTREAMURL ogged.&lt;br /&gt;
&lt;br /&gt;
===A v4l2 source + ALSA source -&amp;gt; Dual Ogg Theora + Ogg Vorbis Streams -&amp;gt; Icecast ===&lt;br /&gt;
*dov4l -i [0|1] -m NTSC&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src device=/dev/video0 ! queue max-size-bytes=100000000 max-size-time=0 ! deinterlace mode=interlaced ! queue max-size-bytes=100000000 max-size-time=0  ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv,width=360,height=240,pixel-aspect-ratio=1/1 ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=400 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:0,0 latency-time=100 ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! queue max-size-bytes=100000000 max-size-time=0 ! audioamplify amplification=[1-6 or so] ! queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=vorbisaudio ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=server.com port=[80|8000] password=hackme mount=/mountpoint.ogv  vorbisaudio. ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=server.com port=[80|8000] password=hackme mount=/mountpoint.oga&lt;br /&gt;
&lt;br /&gt;
:Note that the above pipeline will slowly lose audio/video synchronization due to hardware-level limitations in audio vs. video capture of media samples.  FireWire and SDI-based capture does not have these limitations.&lt;br /&gt;
&lt;br /&gt;
===Two v4l2 sources combined side-by-side into rectangular video + ALSA -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video0:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video1:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*gst-launch --eos-on-shutdown v4l2src device=/dev/video0 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0  ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videomixer name=mix ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=600 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0  ! shout2send ip=icecast-server.com password=hackme mount=/mountpoint.ogv  v4l2src device=/dev/video1 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 !  queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=5/1 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videobox border-alpha=0 fill=green left=-320 ! mix.&lt;br /&gt;
&lt;br /&gt;
===Create a video with an alpha channel from a sequence of PNG files===&lt;br /&gt;
*gst-launch-0.10 multifilesrc location=images%05d.png caps=&amp;quot;image/png,framerate=1/1,pixel-aspect-ratio=1/1&amp;quot; num-buffers=95 ! pngdec ! videorate ! alphacolor ! &amp;quot;video/x-raw-yuv,format=(fourcc)AYUV&amp;quot; ! matroskamux ! filesink location=images_raw.mkv&lt;br /&gt;
&lt;br /&gt;
===Capture from a 1680x1050 GNOME Desktop, Combine with ALSA -&amp;gt; Ogg Theora + Vorbis -&amp;gt; Icecast===&lt;br /&gt;
*gst-launch  --eos-on-shutdown ximagesrc ! capsfilter caps=video/x-raw-rgb,framerate=3/1,width=1680,height=1050  ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-rgb, width=1056, height=660 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=450 keyframe-auto=false keyframe-force=12 keyframe-freq=12 speed-level=0 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:0,0 ! audio/x-raw-init,rate=44100,channels=1 ! queue max-size-bytes=100000000 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
*Icecast will need to be built from SVN (ver. 2.3.2 fails to relay data due to a bug)&lt;br /&gt;
*Viewers will need better-than-average internet connectivity (around 1.5Mbits/sec)&lt;br /&gt;
*The simplest way to capture audio events is to place a mic next to computer speakers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Live-stream a high-resolution Mac OSX Desktop at 1 FPS===&lt;br /&gt;
*Tested on Version 10.6.8, newer releases not compatible with [https://github.com/davibe/osximagesrc osximagesrc]&lt;br /&gt;
&lt;br /&gt;
gst-launch --eos-on-shutdown osximagesrc ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! videoscale method=4-tap ! video/x-raw-yuv, width=960, height=600 ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=360 keyframe-auto=false keyframe-force=3 keyframe-freq=3 speed-level=0 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=host.com password=hackme mount=/mountpoint.ogv&lt;br /&gt;
&lt;br /&gt;
If the screen resolution is set to mirrored 1024x640 (?), start the following ''then'' plug in the video display cable:&lt;br /&gt;
*gst-launch --eos-on-shutdown osximagesrc ! queue max-size-time=0 max-size-bytes=100000000 ! ffmpegcolorspace ! queue max-size-time=0 max-size-bytes=100000000 ! videocrop right=256 top=32 ! queue max-size-time=0 max-size-bytes=100000000 ! videoscale ! video/x-raw-yuv, width=658, height=486 ! queue max-size-time=0 max-size-bytes=100000000 ! theoraenc bitrate=300 keyframe-auto=false keyframe-force=3 keyframe-freq=3 speed-level=0 drop-frames=false ! queue max-size-time=0 max-size-bytes=100000000 ! oggmux ! queue  max-size-time=0 max-size-bytes=100000000 ! shout2send ip=host.com port=8000 password=hackme mount=/mountpoint.ogv&lt;br /&gt;
&lt;br /&gt;
*Streamed Keynote talks will stream the Presenter's View -- no switching between display mirrors&lt;br /&gt;
*Full-screen Flash video doesn't stream, but doesn't halt the pipeline&lt;br /&gt;
&lt;br /&gt;
===Live-stream an Elphel 353L camera, combine with on-laptop audio capture, save a high-res copy to disk, and view live audio+video on-screen===&lt;br /&gt;
*Tested on an 2.4GHz Core i3 running at ≥2.0GHz.  Both CPU cores should be at ~50% continuously-smooth utilization after the first ~15 seconds; battery-only power or overheating may throttle the CPU leading to dropped frames.&lt;br /&gt;
*Set the camera to 2592x1120 @ 18FPS.  Adjust camera controls to ensure the camera achieves this framerate.&lt;br /&gt;
*Kill/renice any resource-competitive applications (file indexing services, Firefox, Audacity, etc.)&lt;br /&gt;
*qjackctl &amp;amp;  → Start JACK in realtime priority&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
*gst-launch-'''0.10''' -e &amp;lt;span style=&amp;quot;color:#8B0000&amp;quot;&amp;gt;rtspsrc location=rtsp://192.168.0.9:554 latency=100 ! queue max-size-bytes=100000000 max-size-time=0 ! rtpjpegdepay ! queue max-size-bytes=100000000 max-size-time=0 ! jpegdec ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=18/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=1296, height=560 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=&amp;lt;/span&amp;gt;'''halfres''' ! &amp;lt;span style=&amp;quot;color:#4B0082&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! jpegenc ! queue max-size-bytes=100000000 max-size-time=0 ! matroskamux name=mux&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color:#C71585&amp;quot;&amp;gt;jackaudiosrc connect=1 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=&amp;lt;/span&amp;gt;'''jackaudio''' ! &amp;lt;span style=&amp;quot;color:#C71585&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0&amp;lt;/span&amp;gt; ! &amp;lt;span style=&amp;quot;color:#4B0082&amp;quot;&amp;gt;mux.&amp;lt;/span&amp;gt;{{pad|1em}}'''mux.''' ! &amp;lt;span style=&amp;quot;color:#FFB6C1&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! filesink location=elphel_recording_`date +%F_%T`.mkv&amp;lt;/span&amp;gt;{{pad|1em}}'''halfres.''' ! &amp;lt;span style=&amp;quot;color:#006400&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=648, height=280 ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=450 speed-level=1 ! queue max-size-bytes=100000000 max-size-time=0  ! oggmux name=livestream&amp;lt;/span&amp;gt; '''jackaudio.''' ! &amp;lt;span style=&amp;quot;color:#4682B4&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc  ! queue max-size-bytes=100000000 max-size-time=0&amp;lt;/span&amp;gt; ! &amp;lt;span style=&amp;quot;color:#006400&amp;quot;&amp;gt;livestream.&amp;lt;/span&amp;gt;{{pad|1em}}'''livestream.''' ! &amp;lt;span style=&amp;quot;color:#CD5C5C;&amp;quot;&amp;gt; queue max-size-bytes=0 max-size-time=0 !  shout2send ip=host.com port=[80|8000] password=hackme mount=/mountpoint.ogv&amp;lt;/span&amp;gt;{{pad|1em}}'''halfres.''' ! &amp;lt;span style=&amp;quot;color:#FF8C00;&amp;quot;&amp;gt;videoscale add-borders=true ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! xvimagesink sync=false&amp;lt;/span&amp;gt; jackaudio. ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! queue max-size-bytes=100000000 max-size-time=0 ! alsasink&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
*gst-launch-'''1.0''' -e  rtspsrc location=rtsp://192.168.0.9:554 latency=100 ! queue max-size-bytes=100000000 max-size-time=0 ! rtpjpegdepay ! queue max-size-bytes=100000000 max-size-time=0 ! jpegdec ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw,framerate=18/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw, width=1296, height=560 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=halfres ! queue max-size-bytes=100000000 max-size-time=0 ! jpegenc ! queue max-size-bytes=100000000 max-size-time=0 ! matroskamux name=mux jackaudiosrc connect=1 client-name=&amp;quot;GStreamer Input&amp;quot; ! queue max-size-bytes=100000000 max-size-time=0 !  tee name=jackaudio ! queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=vorbisaudio !  queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=elphel_recording_`date +%s`.mkv sync=false halfres. ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw,width=648, height=280 ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=500 speed-level=1 ! queue max-size-bytes=100000000 max-size-time=0  ! oggmux name=livestream vorbisaudio. !  queue max-size-bytes=100000000 max-size-time=0 ! livestream. livestream. ! queue max-size-bytes=0 max-size-time=0 ! shout2send ip=host.com port=[80|8000] password=hackme mount=/mountpoint.ogv  halfres. ! videoscale add-borders=true ! queue max-size-bytes=100000000 max-size-time=0 ! videoconvert ! queue max-size-bytes=100000000 max-size-time=0 ! xvimagesink sync=false  jackaudio. ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! queue max-size-bytes=100000000 max-size-time=0 ! alsasink&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
*Expect a ~50GB recording for 8hrs. of recording depending on image complexity.  The Matroska recording may be viewed directly in VLC (≥2.0 recommended) and may be transcoded to commonly-used formats ''via'' [http://www.mirovideoconverter.com/ Miro Video Converter] or [http://firefogg.org/ Firefogg].&lt;br /&gt;
:Alternatively: ffmpeg -i elphel_recording.mkv -acodec libfaac -ab 128k -pass 1 -vcodec libx264 -vpre slow -vpre main -b 8000k -threads 8 -f mp4 -y elphel_recording.mp4 &lt;br /&gt;
&lt;br /&gt;
====Same as above, but simultaneously broadcast in H.264 ====&lt;br /&gt;
*Experimental; use latest git checkouts&lt;br /&gt;
*Tested with [http://www.rtmpd.com/ crtmpserver] (works) and [http://momentvideo.org/ Moment Video Server] (in theory)&lt;br /&gt;
:If Moment, remove 'pingTimerTick' 'from moment/rtmp_connection.cpp' to avoid stream resets&lt;br /&gt;
:Test stream availability with [http://dl.dropbox.com/u/2918563/flvplayback.swf this tool.]&lt;br /&gt;
:Toggle 'byte-stream=[true|false]' and '[tcpclientsink|rtmpsink]' as necessary, possibly '[flvmux|mp4mux]' if needed.&lt;br /&gt;
::'rtmpsink' isn't yet compatible with Akamai&lt;br /&gt;
*Substitute 'videotestsrc is-live=true' for 'rtspsrc ... jpegdec' and 'audiotestsrc freq=432' for 'jackaudiosrc connect=1' for testing.&lt;br /&gt;
&lt;br /&gt;
*gst-launch-0.10 -e rtspsrc location=rtsp://192.168.0.9:554 latency=100 ! queue max-size-bytes=100000000 max-size-time=0 ! rtpjpegdepay ! queue max-size-bytes=100000000 max-size-time=0 ! jpegdec ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=18/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=1296, height=560 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=halfres ! queue max-size-bytes=100000000 max-size-time=0 ! jpegenc ! queue max-size-bytes=100000000 max-size-time=0 ! matroskamux name=mkvmux jackaudiosrc connect=1 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=jackaudio ! queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=vorbisaudio ! queue max-size-bytes=100000000 max-size-time=0 ! mkvmux. mkvmux. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=elphel_recording_`date +%F_%T`.mkv  halfres. ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=648, height=280 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=quarterres !  queue max-size-bytes=100000000 max-size-time=0 ! x264enc sliced-threads=true cabac=true intra-refresh=false quantizer=22 rc-lookahead=15 bitrate=600 tune=zerolatency byte-stream=false ! queue max-size-bytes=100000000 max-size-time=0 ! flvmux streamable=true name=flvmux jackaudio. ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! queue max-size-bytes=100000000 max-size-time=0 ! faac ! queue max-size-bytes=100000000 max-size-time=0 ! flvmux.  flvmux. ! queue max-size-bytes=0 max-size-time=0 ! tcpclientsink host=127.0.0.1 port=6666  quarterres. ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=600 speed-level=1 ! queue max-size-bytes=100000000 max-size-time=0  ! oggmux name=livestream jackaudio. ! queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! livestream. livestream. ! queue max-size-bytes=0 max-size-time=0 ! shout2send ip=host.com port=[80|8000] password=hackme mount=/mountpoint.ogv  halfres. ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! xvimagesink sync=false&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;div id=ElphelJP46&amp;gt;Live-stream an Elphel 353L camera set at 'FullHD' JP46, combine with realtime audio, save a high-res copy to disk, and monitor live audio+video on-screen&amp;lt;/div&amp;gt;===&lt;br /&gt;
*[https://media.xiph.org/jp46_cookbook/ Video samples]&lt;br /&gt;
*Setup a high-performance system: tested on Gigabyte GA-MA785GMT-UD2H + (non-overclocked) Phenom II X4 [[GST_cookbook/gNewSense|built using gNewSense.]]  CPU utilization approaches 100%, continuously, across all four 3.2GHz cores.&lt;br /&gt;
*Set the camera to 1920x1088, JPEG Image Quality @ 90%, JP46 color mode&lt;br /&gt;
In separate tabs:&lt;br /&gt;
*jackd -R -d alsa -C -d hw:2 -r 48000 -i 1&lt;br /&gt;
*gst-launch-0.10 -e rtspsrc location=rtsp://192.168.1.50:554 protocols=0x00000001 latency=100 ! rtpjpegdepay ! queue max-size-bytes=1000000000 max-size-time=0 ! videorate force-fps=18 ! queue max-size-bytes=1000000000 max-size-time=0 ! jpegdec max-errors=-1 idct-method=2 ! queue max-size-bytes=1000000000 max-size-time=0 ! jp462bayer threads=4 ! &amp;quot;video/x-raw-bayer, width=(int)1920, height=(int)1088, format=(string)grbg&amp;quot; ! queue max-size-bytes=1000000000 max-size-time=0 ! bayer2rgb2 method=0 ! queue max-size-bytes=1000000000 max-size-time=0 ! ffmpegcolorspace ! &amp;quot;video/x-raw-yuv, format=(fourcc)I420&amp;quot; ! queue max-size-bytes=1000000000 max-size-time=0 ! videobalance saturation=1.9 ! queue max-size-bytes=1000000000 max-size-time=0 ! tee name=fullHD ! queue max-size-bytes=100000000 max-size-time=0 ! jpegenc idct-method=2 ! queue max-size-bytes=100000000 max-size-time=0 ! matroskamux name=mux  jackaudiosrc connect=1 ! queue max-size-time=0 ! audio/x-raw-float,channels=1 ! queue max-size-time=0 ! tee name=jackaudio ! queue max-size-time=0 ! vorbisenc max-bitrate=80000 ! queue max-size-time=0 ! tee name=vorbisaudio ! queue max-size-time=0 ! mux.  mux. ! queue max-size-bytes=1000000000 max-size-time=0 ! filesink location=elphel_recording_`date +%s`.mkv sync=false  fullHD. ! queue max-size-bytes=1000000000 max-size-time=0 ! videoscale ! &amp;quot;video/x-raw-yuv, width=640, height=363, aspect-ratio=(fraction)1/1&amp;quot; ! queue max-size-bytes=1000000000 max-size-time=0 ! tee name=downsample ! queue max-size-bytes=1000000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=1000000000 max-size-time=0 ! ximagesink pixel-aspect-ratio=1/1 sync=false downsample. ! queue max-size-bytes=100000000 max-size-time=0 ! queue max-size-bytes=1000000000 max-size-time=0 ! theoraenc bitrate=550 speed-level=1 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=livestream  vorbisaudio. ! queue max-size-time=0 ! livestream.  livestream. ! queue max-size-bytes=0 max-size-time=0 ! shout2send ip=host.com port=[80|8000] password=hackme mount=/mountpoint.ogv  jackaudio. ! queue max-size-time=0 ! audioconvert ! queue max-size-time=0 ! alsasink&lt;br /&gt;
&lt;br /&gt;
===Dump high-resolution image stills from Matroska containers into a folder===&lt;br /&gt;
*gst-launch filesrc location=recording.mkv ! queue ! matroskademux ! queue ! videorate ! image/jpeg,framerate=1/10 ! queue ! multifilesink location=&amp;quot;image%04d.jpg&amp;quot; sync=false&lt;br /&gt;
&lt;br /&gt;
*Remove any colons input filenames to avoid BASH issues&lt;br /&gt;
*Change the framerate to control the time interval between image stills and number of produced stills&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mix Three Video Sources Side-by-Side-by-Side===&lt;br /&gt;
*gst-launch --eos-on-shutdown videotestsrc pattern=6 is-live=true ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv,width=320,height=240 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0 ! clockoverlay halignment=1 valignment=1 shaded-background=true font-desc=&amp;quot;Sans Bold 80&amp;quot; ypad=80 ! queue max-size-bytes=100000000 max-size-time=0 ! videobox border-alpha=0 fill=green left=-320 ! queue max-size-bytes=100000000 max-size-time=0 ! videomixer name=mix ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! ximagesink sync=false videotestsrc is-live=true ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv,width=320,height=240 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videobox border-alpha=0 fill=blue left=-640 ! queue max-size-bytes=100000000 max-size-time=0 !  mix.  videotestsrc pattern=11 ! &amp;quot;video/x-raw-yuv, width=352, height=240&amp;quot; ! queue max-size-bytes=100000000 max-size-time=0 ! mix.&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/GST_cookbook</id>
		<title>GST cookbook</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/GST_cookbook"/>
				<updated>2013-04-15T14:59:31Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: rebuild intro + include build instruction box&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;GStreamer is a powerful multimedia infrastructure for applications—providing a number of programming language constructs and bindings—but also provides easy-to-use rapid prototyping tools to test new multimedia pipelines.  Additionally, Gstreamer usually has good support for Xiph-related formats.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, it can be rather difficult to figure out an appropriate pipeline without a starting point.  This page is a collection of gst-launch pipelines that can be used on an as-needed basis.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: #ffffff; border: 1px solid #000000; color: black; font-weight: bold; margin: 2em 0 1em; padding: .5em 1em; vertical-align: middle;&amp;quot;&amp;gt;Note that some examples are &amp;quot;high-performance&amp;quot; pipelines which require purpose-built systems.&amp;lt;br&amp;gt;[[GST_cookbook/gNewSense|gNewSense build notes]] | [[GST_cookbook/Trisquel6|Trisquel Build Notes]]&amp;lt;/div&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Encode a .wav to Vorbis:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.wav&amp;quot;  ! wavparse ! audioconvert ! vorbisenc ! oggmux ! filesink location=&amp;quot;OUTPUT.ogg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Dump a Theora video to PNGs:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.ogv&amp;quot; !  oggdemux ! theoradec ! ffmpegcolorspace ! pngenc snapshot=false ! multifilesink location=&amp;quot;OUTPUT%04d.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Transmux a MKV (containing vorbis and theora) to Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.mkv&amp;quot; ! matroskademux name=d ! video/x-theora ! queue ! theoraparse ! oggmux name=mux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot; d. ! audio/x-vorbis ! queue ! vorbisparse ! queue ! mux.&lt;br /&gt;
&lt;br /&gt;
===Encode a y4m to lossless Dirac in Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.y4m&amp;quot; ! decodebin ! schroenc force-profile=vc2_main rate-control=lossless ! oggmux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Pull from a windows media stream, transcode to Ogg/Theora+Vorbis and send to a icecast server:===&lt;br /&gt;
(may require purchasing Fluendo plugins for decoding the encumbered codecs)&lt;br /&gt;
*gst-launch uridecodebin uri=mms://SOURCE.SERVER.COM/path name=d ! queue max-size-time=100000000 ! ffmpegcolorspace ! theoraenc bitrate=800 ! oggmux name=mux ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv d. ! queue max-size-time=100000000 ! audioconvert ! vorbisenc ! mux.&lt;br /&gt;
&lt;br /&gt;
===Capture video from a webcam, encode to an Ogg Theora file, decode and display on screen, write to a file whose name is the current date+time, and stream to an IceCast server===&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! 'video/x-raw-yuv, width=640, height=480' ! videorate ! 'video/x-raw-yuv, framerate=15/1' ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=150 ! oggmux ! tee name=ogged ! queue max-size-bytes=100000000 max-size-time=0 ! oggdemux ! theoradec ! xvimagesink sync=false force-aspect-ratio=true ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=`date +%F_%T`.ogv ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv streamname=YOURSTREAMNAME description=YOURDESCRIPTION genre=YOURGENRE url=YOURSTREAMURL ogged.&lt;br /&gt;
&lt;br /&gt;
===A v4l2 source + ALSA source -&amp;gt; Dual Ogg Theora + Ogg Vorbis Streams -&amp;gt; Icecast ===&lt;br /&gt;
*dov4l -i [0|1] -m NTSC&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src device=/dev/video0 ! queue max-size-bytes=100000000 max-size-time=0 ! deinterlace mode=interlaced ! queue max-size-bytes=100000000 max-size-time=0  ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv,width=360,height=240,pixel-aspect-ratio=1/1 ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=400 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:0,0 latency-time=100 ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! queue max-size-bytes=100000000 max-size-time=0 ! audioamplify amplification=[1-6 or so] ! queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=vorbisaudio ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=server.com port=[80|8000] password=hackme mount=/mountpoint.ogv  vorbisaudio. ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=server.com port=[80|8000] password=hackme mount=/mountpoint.oga&lt;br /&gt;
&lt;br /&gt;
:Note that the above pipeline will slowly lose audio/video synchronization due to hardware-level limitations in audio vs. video capture of media samples.  FireWire and SDI-based capture does not have these limitations.&lt;br /&gt;
&lt;br /&gt;
===Two v4l2 sources combined side-by-side into rectangular video + ALSA -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video0:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video1:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*gst-launch --eos-on-shutdown v4l2src device=/dev/video0 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0  ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videomixer name=mix ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=600 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0  ! shout2send ip=icecast-server.com password=hackme mount=/mountpoint.ogv  v4l2src device=/dev/video1 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 !  queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=5/1 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videobox border-alpha=0 fill=green left=-320 ! mix.&lt;br /&gt;
&lt;br /&gt;
===Create a video with an alpha channel from a sequence of PNG files===&lt;br /&gt;
*gst-launch-0.10 multifilesrc location=images%05d.png caps=&amp;quot;image/png,framerate=1/1,pixel-aspect-ratio=1/1&amp;quot; num-buffers=95 ! pngdec ! videorate ! alphacolor ! &amp;quot;video/x-raw-yuv,format=(fourcc)AYUV&amp;quot; ! matroskamux ! filesink location=images_raw.mkv&lt;br /&gt;
&lt;br /&gt;
===Capture from a 1680x1050 GNOME Desktop, Combine with ALSA -&amp;gt; Ogg Theora + Vorbis -&amp;gt; Icecast===&lt;br /&gt;
*gst-launch  --eos-on-shutdown ximagesrc ! capsfilter caps=video/x-raw-rgb,framerate=3/1,width=1680,height=1050  ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-rgb, width=1056, height=660 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=450 keyframe-auto=false keyframe-force=12 keyframe-freq=12 speed-level=0 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:0,0 ! audio/x-raw-init,rate=44100,channels=1 ! queue max-size-bytes=100000000 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
*Icecast will need to be built from SVN (ver. 2.3.2 fails to relay data due to a bug)&lt;br /&gt;
*Viewers will need better-than-average internet connectivity (around 1.5Mbits/sec)&lt;br /&gt;
*The simplest way to capture audio events is to place a mic next to computer speakers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Live-stream a high-resolution Mac OSX Desktop at 1 FPS===&lt;br /&gt;
*Tested on Version 10.6.8, newer releases not compatible with [https://github.com/davibe/osximagesrc osximagesrc]&lt;br /&gt;
&lt;br /&gt;
gst-launch --eos-on-shutdown osximagesrc ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! videoscale method=4-tap ! video/x-raw-yuv, width=960, height=600 ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=360 keyframe-auto=false keyframe-force=3 keyframe-freq=3 speed-level=0 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=host.com password=hackme mount=/mountpoint.ogv&lt;br /&gt;
&lt;br /&gt;
If the screen resolution is set to mirrored 1024x640 (?), start the following ''then'' plug in the video display cable:&lt;br /&gt;
*gst-launch --eos-on-shutdown osximagesrc ! queue max-size-time=0 max-size-bytes=100000000 ! ffmpegcolorspace ! queue max-size-time=0 max-size-bytes=100000000 ! videocrop right=256 top=32 ! queue max-size-time=0 max-size-bytes=100000000 ! videoscale ! video/x-raw-yuv, width=658, height=486 ! queue max-size-time=0 max-size-bytes=100000000 ! theoraenc bitrate=300 keyframe-auto=false keyframe-force=3 keyframe-freq=3 speed-level=0 drop-frames=false ! queue max-size-time=0 max-size-bytes=100000000 ! oggmux ! queue  max-size-time=0 max-size-bytes=100000000 ! shout2send ip=host.com port=8000 password=hackme mount=/mountpoint.ogv&lt;br /&gt;
&lt;br /&gt;
*Streamed Keynote talks will stream the Presenter's View -- no switching between display mirrors&lt;br /&gt;
*Full-screen Flash video doesn't stream, but doesn't halt the pipeline&lt;br /&gt;
&lt;br /&gt;
===Live-stream an Elphel 353L camera, combine with on-laptop audio capture, save a high-res copy to disk, and view live video on-screen===&lt;br /&gt;
*Tested on an 2.4GHz Core i3 running at ≥2.0GHz.  Both CPU cores should be at ~50% continuously-smooth utilization after the first ~15 seconds; battery-only power or overheating may throttle the CPU thus leading to dropped samples.&lt;br /&gt;
*Set the camera to 2592x1120 @ 18FPS.  Adjust camera controls to ensure the camera achieves this framerate.&lt;br /&gt;
*Kill/renice any resource-competitive applications (file indexing services, Firefox, Audacity, etc.)&lt;br /&gt;
*qjackctl &amp;amp;  → Start JACK in realtime priority&lt;br /&gt;
&lt;br /&gt;
*gst-launch -e &amp;lt;span style=&amp;quot;color:#8B0000&amp;quot;&amp;gt;rtspsrc location=rtsp://192.168.0.9:554 latency=100 ! queue max-size-bytes=100000000 max-size-time=0 ! rtpjpegdepay ! queue max-size-bytes=100000000 max-size-time=0 ! jpegdec ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=18/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=1296, height=560 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=&amp;lt;/span&amp;gt;'''halfres''' ! &amp;lt;span style=&amp;quot;color:#4B0082&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! jpegenc ! queue max-size-bytes=100000000 max-size-time=0 ! matroskamux name=mux&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color:#C71585&amp;quot;&amp;gt;jackaudiosrc connect=1 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=&amp;lt;/span&amp;gt;'''jackaudio''' ! &amp;lt;span style=&amp;quot;color:#C71585&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0&amp;lt;/span&amp;gt; ! &amp;lt;span style=&amp;quot;color:#4B0082&amp;quot;&amp;gt;mux.&amp;lt;/span&amp;gt;{{pad|1em}}'''mux.''' ! &amp;lt;span style=&amp;quot;color:#FFB6C1&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! filesink location=elphel_recording_`date +%F_%T`.mkv&amp;lt;/span&amp;gt;{{pad|1em}}'''halfres.''' ! &amp;lt;span style=&amp;quot;color:#006400&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=648, height=280 ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=450 speed-level=1 ! queue max-size-bytes=100000000 max-size-time=0  ! oggmux name=livestream&amp;lt;/span&amp;gt; '''jackaudio.''' ! &amp;lt;span style=&amp;quot;color:#4682B4&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc  ! queue max-size-bytes=100000000 max-size-time=0&amp;lt;/span&amp;gt; ! &amp;lt;span style=&amp;quot;color:#006400&amp;quot;&amp;gt;livestream.&amp;lt;/span&amp;gt;{{pad|1em}}'''livestream.''' ! &amp;lt;span style=&amp;quot;color:#CD5C5C;&amp;quot;&amp;gt; queue max-size-bytes=0 max-size-time=0 !  shout2send ip=host.com port=[80|8000] password=hackme mount=/mountpoint.ogv&amp;lt;/span&amp;gt;{{pad|1em}}'''halfres.''' ! &amp;lt;span style=&amp;quot;color:#FF8C00;&amp;quot;&amp;gt;videoscale add-borders=true ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! xvimagesink sync=false&amp;lt;/span&amp;gt;&lt;br /&gt;
*Expect a ~50GB recording for 8hrs. of recording depending on image complexity (''e.g.'', filming a night sky vs. a waterfall).  The Matroska recording may be viewed directly in VLC (≥2.0 recommended) and may be transcoded to commonly-used formats ''via'' [http://www.mirovideoconverter.com/ Miro Video Converter] or [http://firefogg.org/ Firefogg].&lt;br /&gt;
:Alternatively: ffmpeg -i elphel_recording.mkv -acodec libfaac -ab 128k -pass 1 -vcodec libx264 -vpre slow -vpre main -b 8000k -threads 8 -f mp4 -y elphel_recording.mp4 &lt;br /&gt;
&lt;br /&gt;
====Same as above, but simultaneously broadcast in H.264 ====&lt;br /&gt;
*Experimental; use latest git checkouts&lt;br /&gt;
*Tested with [http://www.rtmpd.com/ crtmpserver] (works) and [http://momentvideo.org/ Moment Video Server] (in theory)&lt;br /&gt;
:If Moment, remove 'pingTimerTick' 'from moment/rtmp_connection.cpp' to avoid stream resets&lt;br /&gt;
:Test stream availability with [http://dl.dropbox.com/u/2918563/flvplayback.swf this tool.]&lt;br /&gt;
:Toggle 'byte-stream=[true|false]' and '[tcpclientsink|rtmpsink]' as necessary, possibly '[flvmux|mp4mux]' if needed.&lt;br /&gt;
::'rtmpsink' isn't yet compatible with Akamai&lt;br /&gt;
*Substitute 'videotestsrc is-live=true' for 'rtspsrc ... jpegdec' and 'audiotestsrc freq=432' for 'jackaudiosrc connect=1' for testing.&lt;br /&gt;
&lt;br /&gt;
*gst-launch-0.10 -e rtspsrc location=rtsp://192.168.0.9:554 latency=100 ! queue max-size-bytes=100000000 max-size-time=0 ! rtpjpegdepay ! queue max-size-bytes=100000000 max-size-time=0 ! jpegdec ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=18/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=1296, height=560 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=halfres ! queue max-size-bytes=100000000 max-size-time=0 ! jpegenc ! queue max-size-bytes=100000000 max-size-time=0 ! matroskamux name=mkvmux jackaudiosrc connect=1 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=jackaudio ! queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=vorbisaudio ! queue max-size-bytes=100000000 max-size-time=0 ! mkvmux. mkvmux. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=elphel_recording_`date +%F_%T`.mkv  halfres. ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=648, height=280 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=quarterres !  queue max-size-bytes=100000000 max-size-time=0 ! x264enc sliced-threads=true cabac=true intra-refresh=false quantizer=22 rc-lookahead=15 bitrate=600 tune=zerolatency byte-stream=false ! queue max-size-bytes=100000000 max-size-time=0 ! flvmux streamable=true name=flvmux jackaudio. ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! queue max-size-bytes=100000000 max-size-time=0 ! faac ! queue max-size-bytes=100000000 max-size-time=0 ! flvmux.  flvmux. ! queue max-size-bytes=0 max-size-time=0 ! tcpclientsink host=127.0.0.1 port=6666  quarterres. ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=600 speed-level=1 ! queue max-size-bytes=100000000 max-size-time=0  ! oggmux name=livestream jackaudio. ! queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! livestream. livestream. ! queue max-size-bytes=0 max-size-time=0 ! shout2send ip=host.com port=[80|8000] password=hackme mount=/mountpoint.ogv  halfres. ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! xvimagesink sync=false&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;div id=ElphelJP46&amp;gt;Live-stream an Elphel 353L camera set at 'FullHD' JP46, combine with realtime audio, save a high-res copy to disk, and monitor live audio+video on-screen&amp;lt;/div&amp;gt;===&lt;br /&gt;
*[https://media.xiph.org/jp46_cookbook/ Video samples]&lt;br /&gt;
*Setup a high-performance system: tested on Gigabyte GA-MA785GMT-UD2H + (non-overclocked) Phenom II X4 [[GST_cookbook/gNewSense|built using gNewSense.]]  CPU utilization approaches 100%, continuously, across all four 3.2GHz cores.&lt;br /&gt;
*Set the camera to 1920x1088, JPEG Image Quality @ 90%, JP46 color mode&lt;br /&gt;
In separate tabs:&lt;br /&gt;
*jackd -R -d alsa -C -d hw:2 -r 48000 -i 1&lt;br /&gt;
*gst-launch-0.10 -e rtspsrc location=rtsp://192.168.1.50:554 protocols=0x00000001 latency=100 ! rtpjpegdepay ! queue max-size-bytes=1000000000 max-size-time=0 ! videorate force-fps=18 ! queue max-size-bytes=1000000000 max-size-time=0 ! jpegdec max-errors=-1 idct-method=2 ! queue max-size-bytes=1000000000 max-size-time=0 ! jp462bayer threads=4 ! &amp;quot;video/x-raw-bayer, width=(int)1920, height=(int)1088, format=(string)grbg&amp;quot; ! queue max-size-bytes=1000000000 max-size-time=0 ! bayer2rgb2 method=0 ! queue max-size-bytes=1000000000 max-size-time=0 ! ffmpegcolorspace ! &amp;quot;video/x-raw-yuv, format=(fourcc)I420&amp;quot; ! queue max-size-bytes=1000000000 max-size-time=0 ! videobalance saturation=1.9 ! queue max-size-bytes=1000000000 max-size-time=0 ! tee name=fullHD ! queue max-size-bytes=100000000 max-size-time=0 ! jpegenc idct-method=2 ! queue max-size-bytes=100000000 max-size-time=0 ! matroskamux name=mux  jackaudiosrc connect=1 ! queue max-size-time=0 ! audio/x-raw-float,channels=1 ! queue max-size-time=0 ! tee name=jackaudio ! queue max-size-time=0 ! vorbisenc max-bitrate=80000 ! queue max-size-time=0 ! tee name=vorbisaudio ! queue max-size-time=0 ! mux.  mux. ! queue max-size-bytes=1000000000 max-size-time=0 ! filesink location=elphel_recording_`date +%s`.mkv sync=false  fullHD. ! queue max-size-bytes=1000000000 max-size-time=0 ! videoscale ! &amp;quot;video/x-raw-yuv, width=640, height=363, aspect-ratio=(fraction)1/1&amp;quot; ! queue max-size-bytes=1000000000 max-size-time=0 ! tee name=downsample ! queue max-size-bytes=1000000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=1000000000 max-size-time=0 ! ximagesink pixel-aspect-ratio=1/1 sync=false downsample. ! queue max-size-bytes=100000000 max-size-time=0 ! queue max-size-bytes=1000000000 max-size-time=0 ! theoraenc bitrate=550 speed-level=1 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=livestream  vorbisaudio. ! queue max-size-time=0 ! livestream.  livestream. ! queue max-size-bytes=0 max-size-time=0 ! shout2send ip=host.com port=[80|8000] password=hackme mount=/mountpoint.ogv  jackaudio. ! queue max-size-time=0 ! audioconvert ! queue max-size-time=0 ! alsasink&lt;br /&gt;
&lt;br /&gt;
===Dump high-resolution image stills from Matroska containers into a folder===&lt;br /&gt;
*gst-launch filesrc location=recording.mkv ! queue ! matroskademux ! queue ! videorate ! image/jpeg,framerate=1/10 ! queue ! multifilesink location=&amp;quot;image%04d.jpg&amp;quot; sync=false&lt;br /&gt;
&lt;br /&gt;
*Remove any colons input filenames to avoid BASH issues&lt;br /&gt;
*Change the framerate to control the time interval between image stills and number of produced stills&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mix Three Video Sources Side-by-Side-by-Side===&lt;br /&gt;
*gst-launch --eos-on-shutdown videotestsrc pattern=6 is-live=true ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv,width=320,height=240 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0 ! clockoverlay halignment=1 valignment=1 shaded-background=true font-desc=&amp;quot;Sans Bold 80&amp;quot; ypad=80 ! queue max-size-bytes=100000000 max-size-time=0 ! videobox border-alpha=0 fill=green left=-320 ! queue max-size-bytes=100000000 max-size-time=0 ! videomixer name=mix ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! ximagesink sync=false videotestsrc is-live=true ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv,width=320,height=240 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videobox border-alpha=0 fill=blue left=-640 ! queue max-size-bytes=100000000 max-size-time=0 !  mix.  videotestsrc pattern=11 ! &amp;quot;video/x-raw-yuv, width=352, height=240&amp;quot; ! queue max-size-bytes=100000000 max-size-time=0 ! mix.&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/GST_cookbook/Trisquel6</id>
		<title>GST cookbook/Trisquel6</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/GST_cookbook/Trisquel6"/>
				<updated>2013-04-15T14:37:09Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: add Trisquel build notes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Trisquel Release 6.0 (toutatis) GStreamer Build Instructions&amp;lt;br&amp;gt;&lt;br /&gt;
Tested on 15-April-2013 by GChriss&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Prepare live USB key as documented:&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://cdimage.trisquel.info/trisquel-images/trisquel_6.0_amd64.iso.torrent&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
transmission-gtk trisquel_6.0_amd64.iso.torrent &amp;amp;&amp;lt;br&amp;gt;&lt;br /&gt;
dd if=/path/to/trisquel_6.0_amd64.iso of=/dev/sdX bs=8M&amp;lt;br&amp;gt;&lt;br /&gt;
sync&amp;lt;br&amp;gt;&lt;br /&gt;
cd /media/trisquel\ 6.0\ amd64/&amp;lt;br&amp;gt;&lt;br /&gt;
md5sum -c md5sum.txt&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Boot USB key in BIOS -&amp;gt; Install to disk -&amp;gt; Manual partition&amp;lt;br&amp;gt;&lt;br /&gt;
Use a smaller '/' partition (~20GB), ~2GB swap space, the remainder as '/home', all primary partitions&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Run through install prompts and reboot&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Trisquel Menu -&amp;gt; System Settings -&amp;gt; Disable screensaver, screen dimming, suspend-on-lid-close, sound effects, window animations&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Open Terminal:&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Get this stuff outta here...&amp;lt;br&amp;gt;&lt;br /&gt;
/etc/init.d/apparmor stop&amp;lt;br&amp;gt;&lt;br /&gt;
update-rc.d -f apparmor remove&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get --purge remove apparmor apparmor-utils libapparmor-perl libapparmor1 gnash libjack-jackd2-0&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get update&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get dist-upgrade&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
apt-get install fakeroot kernel-package libncurses5-dev libqt3-mt-dev bzip2 wget build-essential autoconf libtool libglib2.0-dev bison flex libxml2-dev alsa-tools libasound2-dev vim mlocate libxv-dev libxmu-dev libxi-dev libsamplerate0-dev libsndfile1-dev git-core curl lm-sensors  openssh-server iasl automake libsdl1.2-dev libgtk2.0-dev libglib2.0-dev libglade2-dev libffi-dev pciutils-dev cu sysfsutils mkvtoolnix mkvtoolnix-gui subversion cpuburn indicator-multiload indicator-cpufreq qt4-dev-tools intltool libjson0-dev libudev-dev libfftw3-dev libspeexdsp-dev gnome-doc-utils libgconf2-dev libv4l-dev libgnome-media-profiles-dev libgtkmm-3.0-dev libcanberra-gtk3-dev&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
chmod 0755 /usr/bin/cpufreq-selector&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Create this file and add the line that follows:&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/modprobe.d/thinkpad_acpi.conf &amp;lt;br&amp;gt;&lt;br /&gt;
options thinkpad_acpi fan_control=1&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/rc.local --&amp;gt; add the following:&amp;lt;br&amp;gt;&lt;br /&gt;
chmod 666 /proc/acpi/ibm/fan&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
exit&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
indicator-multiload &amp;amp;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional but helpful step for realtime audio processing&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
cd /usr/src&amp;lt;br&amp;gt;&lt;br /&gt;
wget &amp;quot;http://linux-libre.fsfla.org/pub/linux-libre/releases/LATEST-3.8.N/linux-libre-3.8.6-gnu.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf linux-libre-3.8.6-gnu.tar.bz2&amp;lt;br&amp;gt;&lt;br /&gt;
cd linux-3.8.6/&amp;lt;br&amp;gt;&lt;br /&gt;
cp /boot/config-3.2.0-38-generic .config&amp;lt;br&amp;gt;&lt;br /&gt;
make oldconfig -&amp;gt; hold down enter key to accept defaults&amp;lt;br&amp;gt;&lt;br /&gt;
make gconfig&amp;lt;br&amp;gt;&lt;br /&gt;
'CONFIG_PREEMPT=y' + ALSA built as modules, 'CONFIG_HZ_100=y'&amp;lt;br&amp;gt;&lt;br /&gt;
CONCURRENCY_LEVEL=4 fakeroot make deb-pkg &amp;amp;&amp;gt;gsc_make-deb-pkg.log&amp;lt;br&amp;gt;&lt;br /&gt;
dpkg -i ../*.deb&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
reboot and check for PREEMPT in 'uname -a':&amp;lt;br&amp;gt;&lt;br /&gt;
Linux x201 3.8.6-gnu #1 SMP PREEMPT Sat Apr 13 02:07:48 EDT 2013 x86_64 x86_64 x86_64 GNU/Linux&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
mkdir -p /packages/openvideopro &amp;amp;&amp;amp; mkdir -p /packages/openvideopro/lib &amp;amp;&amp;amp; mkdir -p /packages/openvideopro/bin&amp;lt;br&amp;gt;&lt;br /&gt;
mkdir -p /packages/openvideopro/lib/pkgconfig&amp;lt;br&amp;gt;&lt;br /&gt;
chown -R gchriss:users /packages&amp;lt;br&amp;gt;&lt;br /&gt;
exit&amp;lt;br&amp;gt;&lt;br /&gt;
rm -Rf ~/.gstreamer-0.10&amp;lt;br&amp;gt;&lt;br /&gt;
vi ~/.bashrc -&amp;gt; add the following:&amp;lt;br&amp;gt;&lt;br /&gt;
export GST_PLUGIN_SYSTEM_PATH=&amp;quot;/packages/openvideopro/lib&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
export GST_PLUGIN_PATH=&amp;quot;/packages/openvideopro/lib&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
export PKG_CONFIG_PATH=/packages/openvideopro/lib/pkgconfig&amp;lt;br&amp;gt;&lt;br /&gt;
export PATH=/packages/openvideopro/bin:$PATH&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://repo.or.cz/nasm.git nasm_14april2013 &amp;amp;&amp;amp; cd nasm_14april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./autogen.sh --no-configure &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
YASM is optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://github.com/yasm/yasm.git yasm_14april2013 &amp;amp;&amp;amp; cd yasm_14april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./autogen.sh --no-configure &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://code.entropywave.com/git/orc.git orc_14april2013 &amp;amp;&amp;amp; cd orc_14april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./autogen.sh &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://jackaudio.org/downloads/jack-audio-connection-kit-0.121.3.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf jack-audio-connection-kit-0.121.3.tar.gz &amp;amp;&amp;amp; cd jack-audio-connection-kit-0.121.3&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-optimize --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/security/limits.conf -&amp;gt; add the following line:&amp;lt;br&amp;gt;&lt;br /&gt;
@audio          -       rtprio          99&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
vi /etc/security/limits.d/audio.conf -&amp;gt; create file with the following line:&amp;lt;br&amp;gt;&lt;br /&gt;
@audio - rtprio 95&amp;lt;br&amp;gt;&lt;br /&gt;
@audio - memlock unlimited&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
usermod -a -G audio gchriss --&amp;gt; subsitute 'gchriss' for your username&amp;lt;br&amp;gt;&lt;br /&gt;
exit&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
At this point UI volume controls are missing/non-functional, but alsamixer works.&amp;lt;br&amp;gt;&lt;br /&gt;
Build pulseaudio if needed, but otherwise optional:&amp;lt;br&amp;gt;&lt;br /&gt;
rm -rf  ~/.pulse* /tmp/.esd*&amp;lt;br&amp;gt;&lt;br /&gt;
sudo -rf /tmp/pulse*&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://freedesktop.org/software/pulseaudio/releases/pulseaudio-3.0.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf pulseaudio-3.0.tar.xz&amp;lt;br&amp;gt;&lt;br /&gt;
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/packages/openvideopro/lib64/pkgconfig ./configure --prefix=/packages/openvideopro  &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
sudo make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
mkdir -p /packages/openvideopro/var/run/pulse &amp;amp;&amp;amp;  mkdir -p /packages/openvideopro/var/lib/pulse&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Also optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-0.10.36.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf gstreamer-0.10.36.tar.gz &amp;amp;&amp;amp; cd gstreamer-0.10.36&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-0.10.36.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf gst-plugins-base-0.10.36.tar.gz &amp;amp;&amp;amp; cd gst-plugins-base-0.10.36&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-0.10.31.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf gst-plugins-good-0.10.31.tar.gz &amp;amp;&amp;amp; cd gst-plugins-good-0.10.31&amp;lt;br&amp;gt;&lt;br /&gt;
See: http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=9f2aa8d47f835ea155aaf635f618c0fc1ca87012&amp;lt;br&amp;gt;&lt;br /&gt;
--&amp;gt; Remove line containing 'vbuffer.input' in 'sys/v4l2/gstv4l2bufferpool.c'&amp;lt;br&amp;gt;&lt;br /&gt;
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/packages/openvideopro/lib64/pkgconfig  ./configure --enable-experimental --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_configure.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget https://launchpad.net/gnome-media/main/2.91.2/+download/gnome-media-2.91.2.tar.bz2&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf gnome-media-2.91.2.tar.bz2 &amp;amp;&amp;amp; cd gnome-media-2.91.2&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro  &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
TODO: Figure out how to rebuild UI volume controls (e.g., keyboard volume buttons)&amp;lt;br&amp;gt;&lt;br /&gt;
TODO: The following builds but fails to connect to pulseaudio... debug needed?&amp;lt;br&amp;gt;&lt;br /&gt;
git clone git://git.0pointer.de/pavucontrol pavucontrol_15april2013 &amp;amp;&amp;amp; cd pavucontrol_15april2013&amp;lt;br&amp;gt;&lt;br /&gt;
./bootstrap.sh &amp;amp;&amp;gt;gsc_bootstrap.log&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
TODO: Rebuild Totem + PiTiVi&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/ogg/libogg-1.3.0.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf libogg-1.3.0.tar.gz &amp;amp;&amp;amp; cd libogg-1.3.0&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.3.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf libvorbis-1.3.3.tar.gz &amp;amp;&amp;amp; cd libvorbis-1.3.3/&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf libtheora-1.1.1.tar.bz2 &amp;amp;&amp;amp; cd libtheora-1.1.1&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Open abrowser, download:&amp;lt;br&amp;gt;&lt;br /&gt;
http://sourceforge.net/projects/libjpeg-turbo/files/1.2.90%20%281.3beta1%29/libjpeg-turbo-1.2.90.tar.gz/download&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; tar -xvzf libjpeg-turbo-1.2.90.tar.gz &amp;amp;&amp;amp; cd libjpeg-turbo-1.2.90&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro --with-jpeg8 &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://dl.matroska.org/downloads/libebml/libebml-1.2.2.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf libebml-1.2.2.tar.bz2 &amp;amp;&amp;amp; cd libebml-1.2.2&amp;lt;br&amp;gt;&lt;br /&gt;
make -C make/linux install_staticlib install_headers prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://dl.matroska.org/downloads/libmatroska/libmatroska-1.3.0.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf libmatroska-1.3.0.tar.bz2 &amp;amp;&amp;amp; cd libmatroska-1.3.0/&amp;lt;br&amp;gt;&lt;br /&gt;
CXXFLAGS='-I/packages/openvideopro/include' make -C make/linux install_staticlib install_headers prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/libshout/libshout-2.3.1.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf libshout-2.3.1.tar.gz &amp;amp;&amp;amp; cd libshout-2.3.1&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://ftp.gnome.org/pub/gnome/sources/glib/2.34/glib-2.34.3.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf glib-2.34.3.tar.xz &amp;amp;&amp;amp; cd glib-2.34.3&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
'make check' failures are &amp;quot;OK&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.27.tar.bz2&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvjf alsa-lib-1.0.27.tar.bz2 &amp;amp;&amp;amp; cd alsa-lib-1.0.27&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.0.6.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gstreamer-1.0.6.tar.xz &amp;amp;&amp;amp; cd gstreamer-1.0.6&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-failing-tests --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make check &amp;amp;&amp;gt;gsc_check.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.0.6.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gst-plugins-base-1.0.6.tar.xz &amp;amp;&amp;amp; cd gst-plugins-base-1.0.6&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make check &amp;amp;&amp;gt;gsc_check.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.0.6.tar.xz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvJf gst-plugins-good-1.0.6.tar.xz &amp;amp;&amp;amp; cd gst-plugins-good-1.0.6&amp;lt;br&amp;gt;&lt;br /&gt;
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/packages/openvideopro/lib64/pkgconfig ./configure --enable-experimental --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_configure.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Optional but really helpful:&amp;lt;br&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.sourceforge.net/qjackctl/qjackctl-0.3.10.tar.gz&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
tar -xvzf qjackctl-0.3.10.tar.gz &amp;amp;&amp;amp; cd qjackctl-0.3.10&amp;lt;br&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro --with-jack=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===&amp;lt;br&amp;gt;&lt;br /&gt;
Create the following block entries for automatic execution @ user login&amp;lt;br&amp;gt;&lt;br /&gt;
The first two entries are specific to managing Thinkpad-series laptops&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
gsc@host:~$  cat ~/.config/autostart/cpufreq-selector.desktop &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Desktop Entry]&amp;lt;br&amp;gt;&lt;br /&gt;
Type=Application&amp;lt;br&amp;gt;&lt;br /&gt;
Exec=sh -c &amp;quot;/usr/bin/cpufreq-selector -c 0 -g performance &amp;amp; /usr/bin/cpufreq-selector -c 1 -g performance &amp;amp; /usr/bin/cpufreq-selector -c 2 -g performance &amp;amp; /usr/bin/cpufreq-selector -c 3 -g performance&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Hidden=false&amp;lt;br&amp;gt;&lt;br /&gt;
NoDisplay=false&amp;lt;br&amp;gt;&lt;br /&gt;
X-GNOME-Autostart-enabled=true&amp;lt;br&amp;gt;&lt;br /&gt;
Name[en_US]=cpu-freq-selector&amp;lt;br&amp;gt;&lt;br /&gt;
Name=cpufreq-selector&amp;lt;br&amp;gt;&lt;br /&gt;
Comment[en_US]=Set 2.4GHz (x4)&amp;lt;br&amp;gt;&lt;br /&gt;
Comment=Set 2.4GHz (x4)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
gsc@host:~$ cat ~/.config/autostart/echo.desktop &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Desktop Entry]&amp;lt;br&amp;gt;&lt;br /&gt;
Type=Application&amp;lt;br&amp;gt;&lt;br /&gt;
Exec=sh -c &amp;quot;echo level 7 &amp;gt; /proc/acpi/ibm/fan&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Hidden=false&amp;lt;br&amp;gt;&lt;br /&gt;
NoDisplay=false&amp;lt;br&amp;gt;&lt;br /&gt;
X-GNOME-Autostart-enabled=true&amp;lt;br&amp;gt;&lt;br /&gt;
Name[en_US]=Spin up x201i Fan&amp;lt;br&amp;gt;&lt;br /&gt;
Name=Spin up x201i Fan&amp;lt;br&amp;gt;&lt;br /&gt;
Comment[en_US]=Substitute 'disengaged' for '7' for max speed&amp;lt;br&amp;gt;&lt;br /&gt;
Comment=Substitute 'disengaged' for '7' for max speed&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
gsc@host:~$ cat ~/.config/autostart/gnome-terminal.desktop &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Desktop Entry]&amp;lt;br&amp;gt;&lt;br /&gt;
Type=Application&amp;lt;br&amp;gt;&lt;br /&gt;
Exec=gnome-terminal&amp;lt;br&amp;gt;&lt;br /&gt;
Hidden=false&amp;lt;br&amp;gt;&lt;br /&gt;
NoDisplay=false&amp;lt;br&amp;gt;&lt;br /&gt;
X-GNOME-Autostart-enabled=true&amp;lt;br&amp;gt;&lt;br /&gt;
Name[en_US]=GNOME Terminal&amp;lt;br&amp;gt;&lt;br /&gt;
Name=GNOME Terminal&amp;lt;br&amp;gt;&lt;br /&gt;
Comment[en_US]=Just to get things started...&amp;lt;br&amp;gt;&lt;br /&gt;
Comment=Just to get things started...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
gsc@host:~$  cat ~/.config/autostart/qjackctl.desktop &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[Desktop Entry]&amp;lt;br&amp;gt;&lt;br /&gt;
Type=Application&amp;lt;br&amp;gt;&lt;br /&gt;
Exec=sh -c &amp;quot;PATH=/packages/openvideopro/bin:$PATH LD_LIBRARY_PATH=/packages/openvideopro/lib64 /packages/openvideopro/bin/qjackctl&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
Hidden=false&amp;lt;br&amp;gt;&lt;br /&gt;
NoDisplay=false&amp;lt;br&amp;gt;&lt;br /&gt;
X-GNOME-Autostart-enabled=true&amp;lt;br&amp;gt;&lt;br /&gt;
Name[en_US]=qjackctl&amp;lt;br&amp;gt;&lt;br /&gt;
Name=qjackctl&amp;lt;br&amp;gt;&lt;br /&gt;
Comment[en_US]=Launch openvideopro qjackctl / -GChriss&amp;lt;br&amp;gt;&lt;br /&gt;
Comment=Launch openvideopro qjackctl / -GChriss&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
sudo updatedb&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Stress-test CPU temperature stability (often necessary, proceed at own risk):&amp;lt;br&amp;gt;&lt;br /&gt;
burnMMX &amp;amp; burnMMX &amp;amp; burnMMX &amp;amp; burnMMX&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
network-manager can sometimes be flaky, issue on an as-needed basis:&amp;lt;br&amp;gt;&lt;br /&gt;
service network-manager restart&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Start JACK either via command-line or 'Start' button in QjackCtl, launch GStreamer pipeline, then renice pipeline to -18 or so.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/GST_cookbook</id>
		<title>GST cookbook</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/GST_cookbook"/>
				<updated>2013-03-24T13:50:12Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: /* A v4l2 source + ALSA source -&amp;gt; Ogg Theora -&amp;gt; IceCast */ substitute a better pipeline for the same task&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In addition to being a powerful multimedia infrastructure for applications Gstreamer is also a useful tool for general manipulations of multimedia data.  By invoking gst-launch from the command-line with a custom pipeline many useful processing steps are possible.&lt;br /&gt;
&lt;br /&gt;
Gstreamer also usually has good support for Xiph-related formats. &lt;br /&gt;
&lt;br /&gt;
Unfortunately, it can be rather difficult to figure out an appropriate pipeline without a starting point.&lt;br /&gt;
&lt;br /&gt;
Here are some useful examples: &amp;lt;!-- Don't complain about the selection of examples, I started this simply by grepping my shell history. Feel free to submit more and/or improve the existing ones --gmaxwell --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Encode a .wav to Vorbis:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.wav&amp;quot;  ! wavparse ! audioconvert ! vorbisenc ! oggmux ! filesink location=&amp;quot;OUTPUT.ogg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Dump a Theora video to PNGs:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.ogv&amp;quot; !  oggdemux ! theoradec ! ffmpegcolorspace ! pngenc snapshot=false ! multifilesink location=&amp;quot;OUTPUT%04d.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Transmux a MKV (containing vorbis and theora) to Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.mkv&amp;quot; ! matroskademux name=d ! video/x-theora ! queue ! theoraparse ! oggmux name=mux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot; d. ! audio/x-vorbis ! queue ! vorbisparse ! queue ! mux.&lt;br /&gt;
&lt;br /&gt;
===Encode a y4m to lossless Dirac in Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.y4m&amp;quot; ! decodebin ! schroenc force-profile=vc2_main rate-control=lossless ! oggmux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Pull from a windows media stream, transcode to Ogg/Theora+Vorbis and send to a icecast server:===&lt;br /&gt;
(may require purchasing Fluendo plugins for decoding the encumbered codecs)&lt;br /&gt;
*gst-launch uridecodebin uri=mms://SOURCE.SERVER.COM/path name=d ! queue max-size-time=100000000 ! ffmpegcolorspace ! theoraenc bitrate=800 ! oggmux name=mux ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv d. ! queue max-size-time=100000000 ! audioconvert ! vorbisenc ! mux.&lt;br /&gt;
&lt;br /&gt;
===Capture video from a webcam, encode to an Ogg Theora file, decode and display on screen, write to a file whose name is the current date+time, and stream to an IceCast server===&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! 'video/x-raw-yuv, width=640, height=480' ! videorate ! 'video/x-raw-yuv, framerate=15/1' ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=150 ! oggmux ! tee name=ogged ! queue max-size-bytes=100000000 max-size-time=0 ! oggdemux ! theoradec ! xvimagesink sync=false force-aspect-ratio=true ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=`date +%F_%T`.ogv ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv streamname=YOURSTREAMNAME description=YOURDESCRIPTION genre=YOURGENRE url=YOURSTREAMURL ogged.&lt;br /&gt;
&lt;br /&gt;
===A v4l2 source + ALSA source -&amp;gt; Dual Ogg Theora + Ogg Vorbis Streams -&amp;gt; Icecast ===&lt;br /&gt;
*dov4l -i [0|1] -m NTSC&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src device=/dev/video0 ! queue max-size-bytes=100000000 max-size-time=0 ! deinterlace mode=interlaced ! queue max-size-bytes=100000000 max-size-time=0  ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv,width=360,height=240,pixel-aspect-ratio=1/1 ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=400 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:0,0 latency-time=100 ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! queue max-size-bytes=100000000 max-size-time=0 ! audioamplify amplification=[1-6 or so] ! queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=vorbisaudio ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=server.com port=[80|8000] password=hackme mount=/mountpoint.ogv  vorbisaudio. ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=server.com port=[80|8000] password=hackme mount=/mountpoint.oga&lt;br /&gt;
&lt;br /&gt;
:Note that the above pipeline will slowly lose audio/video synchronization due to hardware-level limitations in audio vs. video capture of media samples.  FireWire and SDI-based capture does not have these limitations.&lt;br /&gt;
&lt;br /&gt;
===Two v4l2 sources combined side-by-side into rectangular video + ALSA -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video0:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video1:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*gst-launch --eos-on-shutdown v4l2src device=/dev/video0 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0  ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videomixer name=mix ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=600 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0  ! shout2send ip=icecast-server.com password=hackme mount=/mountpoint.ogv  v4l2src device=/dev/video1 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 !  queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=5/1 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videobox border-alpha=0 fill=green left=-320 ! mix.&lt;br /&gt;
&lt;br /&gt;
===Create a video with an alpha channel from a sequence of PNG files===&lt;br /&gt;
*gst-launch-0.10 multifilesrc location=images%05d.png caps=&amp;quot;image/png,framerate=1/1,pixel-aspect-ratio=1/1&amp;quot; num-buffers=95 ! pngdec ! videorate ! alphacolor ! &amp;quot;video/x-raw-yuv,format=(fourcc)AYUV&amp;quot; ! matroskamux ! filesink location=images_raw.mkv&lt;br /&gt;
&lt;br /&gt;
===Capture from a 1680x1050 GNOME Desktop, Combine with ALSA -&amp;gt; Ogg Theora + Vorbis -&amp;gt; Icecast===&lt;br /&gt;
*gst-launch  --eos-on-shutdown ximagesrc ! capsfilter caps=video/x-raw-rgb,framerate=3/1,width=1680,height=1050  ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-rgb, width=1056, height=660 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=450 keyframe-auto=false keyframe-force=12 keyframe-freq=12 speed-level=0 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:0,0 ! audio/x-raw-init,rate=44100,channels=1 ! queue max-size-bytes=100000000 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
*Icecast will need to be built from SVN (ver. 2.3.2 fails to relay data due to a bug)&lt;br /&gt;
*Viewers will need better-than-average internet connectivity (around 1.5Mbits/sec)&lt;br /&gt;
*The simplest way to capture audio events is to place a mic next to computer speakers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Live-stream a high-resolution Mac OSX Desktop at 1 FPS===&lt;br /&gt;
*Tested on Version 10.6.8, newer releases not compatible with [https://github.com/davibe/osximagesrc osximagesrc]&lt;br /&gt;
&lt;br /&gt;
gst-launch --eos-on-shutdown osximagesrc ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! videoscale method=4-tap ! video/x-raw-yuv, width=960, height=600 ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=360 keyframe-auto=false keyframe-force=3 keyframe-freq=3 speed-level=0 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=host.com password=hackme mount=/mountpoint.ogv&lt;br /&gt;
&lt;br /&gt;
If the screen resolution is set to mirrored 1024x640 (?), start the following ''then'' plug in the video display cable:&lt;br /&gt;
*gst-launch --eos-on-shutdown osximagesrc ! queue max-size-time=0 max-size-bytes=100000000 ! ffmpegcolorspace ! queue max-size-time=0 max-size-bytes=100000000 ! videocrop right=256 top=32 ! queue max-size-time=0 max-size-bytes=100000000 ! videoscale ! video/x-raw-yuv, width=658, height=486 ! queue max-size-time=0 max-size-bytes=100000000 ! theoraenc bitrate=300 keyframe-auto=false keyframe-force=3 keyframe-freq=3 speed-level=0 drop-frames=false ! queue max-size-time=0 max-size-bytes=100000000 ! oggmux ! queue  max-size-time=0 max-size-bytes=100000000 ! shout2send ip=host.com port=8000 password=hackme mount=/mountpoint.ogv&lt;br /&gt;
&lt;br /&gt;
*Streamed Keynote talks will stream the Presenter's View -- no switching between display mirrors&lt;br /&gt;
*Full-screen Flash video doesn't stream, but doesn't halt the pipeline&lt;br /&gt;
&lt;br /&gt;
===Live-stream an Elphel 353L camera, combine with on-laptop audio capture, save a high-res copy to disk, and view live video on-screen===&lt;br /&gt;
*Tested on an 2.4GHz Core i3 running at ≥2.0GHz.  Both CPU cores should be at ~50% continuously-smooth utilization after the first ~15 seconds; battery-only power or overheating may throttle the CPU thus leading to dropped samples.&lt;br /&gt;
*Set the camera to 2592x1120 @ 18FPS.  Adjust camera controls to ensure the camera achieves this framerate.&lt;br /&gt;
*Kill/renice any resource-competitive applications (file indexing services, Firefox, Audacity, etc.)&lt;br /&gt;
*qjackctl &amp;amp;  → Start JACK in realtime priority&lt;br /&gt;
&lt;br /&gt;
*gst-launch -e &amp;lt;span style=&amp;quot;color:#8B0000&amp;quot;&amp;gt;rtspsrc location=rtsp://192.168.0.9:554 latency=100 ! queue max-size-bytes=100000000 max-size-time=0 ! rtpjpegdepay ! queue max-size-bytes=100000000 max-size-time=0 ! jpegdec ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=18/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=1296, height=560 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=&amp;lt;/span&amp;gt;'''halfres''' ! &amp;lt;span style=&amp;quot;color:#4B0082&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! jpegenc ! queue max-size-bytes=100000000 max-size-time=0 ! matroskamux name=mux&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color:#C71585&amp;quot;&amp;gt;jackaudiosrc connect=1 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=&amp;lt;/span&amp;gt;'''jackaudio''' ! &amp;lt;span style=&amp;quot;color:#C71585&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0&amp;lt;/span&amp;gt; ! &amp;lt;span style=&amp;quot;color:#4B0082&amp;quot;&amp;gt;mux.&amp;lt;/span&amp;gt;{{pad|1em}}'''mux.''' ! &amp;lt;span style=&amp;quot;color:#FFB6C1&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! filesink location=elphel_recording_`date +%F_%T`.mkv&amp;lt;/span&amp;gt;{{pad|1em}}'''halfres.''' ! &amp;lt;span style=&amp;quot;color:#006400&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=648, height=280 ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=450 speed-level=1 ! queue max-size-bytes=100000000 max-size-time=0  ! oggmux name=livestream&amp;lt;/span&amp;gt; '''jackaudio.''' ! &amp;lt;span style=&amp;quot;color:#4682B4&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc  ! queue max-size-bytes=100000000 max-size-time=0&amp;lt;/span&amp;gt; ! &amp;lt;span style=&amp;quot;color:#006400&amp;quot;&amp;gt;livestream.&amp;lt;/span&amp;gt;{{pad|1em}}'''livestream.''' ! &amp;lt;span style=&amp;quot;color:#CD5C5C;&amp;quot;&amp;gt; queue max-size-bytes=0 max-size-time=0 !  shout2send ip=host.com port=[80|8000] password=hackme mount=/mountpoint.ogv&amp;lt;/span&amp;gt;{{pad|1em}}'''halfres.''' ! &amp;lt;span style=&amp;quot;color:#FF8C00;&amp;quot;&amp;gt;videoscale add-borders=true ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! xvimagesink sync=false&amp;lt;/span&amp;gt;&lt;br /&gt;
*Expect a ~50GB recording for 8hrs. of recording depending on image complexity (''e.g.'', filming a night sky vs. a waterfall).  The Matroska recording may be viewed directly in VLC (≥2.0 recommended) and may be transcoded to commonly-used formats ''via'' [http://www.mirovideoconverter.com/ Miro Video Converter] or [http://firefogg.org/ Firefogg].&lt;br /&gt;
:Alternatively: ffmpeg -i elphel_recording.mkv -acodec libfaac -ab 128k -pass 1 -vcodec libx264 -vpre slow -vpre main -b 8000k -threads 8 -f mp4 -y elphel_recording.mp4 &lt;br /&gt;
&lt;br /&gt;
====Same as above, but simultaneously broadcast in H.264 ====&lt;br /&gt;
*Experimental; use latest git checkouts&lt;br /&gt;
*Tested with [http://www.rtmpd.com/ crtmpserver] (works) and [http://momentvideo.org/ Moment Video Server] (in theory)&lt;br /&gt;
:If Moment, remove 'pingTimerTick' 'from moment/rtmp_connection.cpp' to avoid stream resets&lt;br /&gt;
:Test stream availability with [http://dl.dropbox.com/u/2918563/flvplayback.swf this tool.]&lt;br /&gt;
:Toggle 'byte-stream=[true|false]' and '[tcpclientsink|rtmpsink]' as necessary, possibly '[flvmux|mp4mux]' if needed.&lt;br /&gt;
::'rtmpsink' isn't yet compatible with Akamai&lt;br /&gt;
*Substitute 'videotestsrc is-live=true' for 'rtspsrc ... jpegdec' and 'audiotestsrc freq=432' for 'jackaudiosrc connect=1' for testing.&lt;br /&gt;
&lt;br /&gt;
*gst-launch-0.10 -e rtspsrc location=rtsp://192.168.0.9:554 latency=100 ! queue max-size-bytes=100000000 max-size-time=0 ! rtpjpegdepay ! queue max-size-bytes=100000000 max-size-time=0 ! jpegdec ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=18/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=1296, height=560 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=halfres ! queue max-size-bytes=100000000 max-size-time=0 ! jpegenc ! queue max-size-bytes=100000000 max-size-time=0 ! matroskamux name=mkvmux jackaudiosrc connect=1 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=jackaudio ! queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=vorbisaudio ! queue max-size-bytes=100000000 max-size-time=0 ! mkvmux. mkvmux. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=elphel_recording_`date +%F_%T`.mkv  halfres. ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=648, height=280 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=quarterres !  queue max-size-bytes=100000000 max-size-time=0 ! x264enc sliced-threads=true cabac=true intra-refresh=false quantizer=22 rc-lookahead=15 bitrate=600 tune=zerolatency byte-stream=false ! queue max-size-bytes=100000000 max-size-time=0 ! flvmux streamable=true name=flvmux jackaudio. ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! queue max-size-bytes=100000000 max-size-time=0 ! faac ! queue max-size-bytes=100000000 max-size-time=0 ! flvmux.  flvmux. ! queue max-size-bytes=0 max-size-time=0 ! tcpclientsink host=127.0.0.1 port=6666  quarterres. ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=600 speed-level=1 ! queue max-size-bytes=100000000 max-size-time=0  ! oggmux name=livestream jackaudio. ! queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! livestream. livestream. ! queue max-size-bytes=0 max-size-time=0 ! shout2send ip=host.com port=[80|8000] password=hackme mount=/mountpoint.ogv  halfres. ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! xvimagesink sync=false&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;div id=ElphelJP46&amp;gt;Live-stream an Elphel 353L camera set at 'FullHD' JP46, combine with realtime audio, save a high-res copy to disk, and monitor live audio+video on-screen&amp;lt;/div&amp;gt;===&lt;br /&gt;
*[https://media.xiph.org/jp46_cookbook/ Video samples]&lt;br /&gt;
*Setup a high-performance system: tested on Gigabyte GA-MA785GMT-UD2H + (non-overclocked) Phenom II X4 [[GST_cookbook/gNewSense|built using gNewSense.]]  CPU utilization approaches 100%, continuously, across all four 3.2GHz cores.&lt;br /&gt;
*Set the camera to 1920x1088, JPEG Image Quality @ 90%, JP46 color mode&lt;br /&gt;
In separate tabs:&lt;br /&gt;
*jackd -R -d alsa -C -d hw:2 -r 48000 -i 1&lt;br /&gt;
*gst-launch-0.10 -e rtspsrc location=rtsp://192.168.1.50:554 protocols=0x00000001 latency=100 ! rtpjpegdepay ! queue max-size-bytes=1000000000 max-size-time=0 ! videorate force-fps=18 ! queue max-size-bytes=1000000000 max-size-time=0 ! jpegdec max-errors=-1 idct-method=2 ! queue max-size-bytes=1000000000 max-size-time=0 ! jp462bayer threads=4 ! &amp;quot;video/x-raw-bayer, width=(int)1920, height=(int)1088, format=(string)grbg&amp;quot; ! queue max-size-bytes=1000000000 max-size-time=0 ! bayer2rgb2 method=0 ! queue max-size-bytes=1000000000 max-size-time=0 ! ffmpegcolorspace ! &amp;quot;video/x-raw-yuv, format=(fourcc)I420&amp;quot; ! queue max-size-bytes=1000000000 max-size-time=0 ! videobalance saturation=1.9 ! queue max-size-bytes=1000000000 max-size-time=0 ! tee name=fullHD ! queue max-size-bytes=100000000 max-size-time=0 ! jpegenc idct-method=2 ! queue max-size-bytes=100000000 max-size-time=0 ! matroskamux name=mux  jackaudiosrc connect=1 ! queue max-size-time=0 ! audio/x-raw-float,channels=1 ! queue max-size-time=0 ! tee name=jackaudio ! queue max-size-time=0 ! vorbisenc max-bitrate=80000 ! queue max-size-time=0 ! tee name=vorbisaudio ! queue max-size-time=0 ! mux.  mux. ! queue max-size-bytes=1000000000 max-size-time=0 ! filesink location=elphel_recording_`date +%s`.mkv sync=false  fullHD. ! queue max-size-bytes=1000000000 max-size-time=0 ! videoscale ! &amp;quot;video/x-raw-yuv, width=640, height=363, aspect-ratio=(fraction)1/1&amp;quot; ! queue max-size-bytes=1000000000 max-size-time=0 ! tee name=downsample ! queue max-size-bytes=1000000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=1000000000 max-size-time=0 ! ximagesink pixel-aspect-ratio=1/1 sync=false downsample. ! queue max-size-bytes=100000000 max-size-time=0 ! queue max-size-bytes=1000000000 max-size-time=0 ! theoraenc bitrate=550 speed-level=1 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=livestream  vorbisaudio. ! queue max-size-time=0 ! livestream.  livestream. ! queue max-size-bytes=0 max-size-time=0 ! shout2send ip=host.com port=[80|8000] password=hackme mount=/mountpoint.ogv  jackaudio. ! queue max-size-time=0 ! audioconvert ! queue max-size-time=0 ! alsasink&lt;br /&gt;
&lt;br /&gt;
===Dump high-resolution image stills from Matroska containers into a folder===&lt;br /&gt;
*gst-launch filesrc location=recording.mkv ! queue ! matroskademux ! queue ! videorate ! image/jpeg,framerate=1/10 ! queue ! multifilesink location=&amp;quot;image%04d.jpg&amp;quot; sync=false&lt;br /&gt;
&lt;br /&gt;
*Remove any colons input filenames to avoid BASH issues&lt;br /&gt;
*Change the framerate to control the time interval between image stills and number of produced stills&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mix Three Video Sources Side-by-Side-by-Side===&lt;br /&gt;
*gst-launch --eos-on-shutdown videotestsrc pattern=6 is-live=true ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv,width=320,height=240 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0 ! clockoverlay halignment=1 valignment=1 shaded-background=true font-desc=&amp;quot;Sans Bold 80&amp;quot; ypad=80 ! queue max-size-bytes=100000000 max-size-time=0 ! videobox border-alpha=0 fill=green left=-320 ! queue max-size-bytes=100000000 max-size-time=0 ! videomixer name=mix ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! ximagesink sync=false videotestsrc is-live=true ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv,width=320,height=240 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videobox border-alpha=0 fill=blue left=-640 ! queue max-size-bytes=100000000 max-size-time=0 !  mix.  videotestsrc pattern=11 ! &amp;quot;video/x-raw-yuv, width=352, height=240&amp;quot; ! queue max-size-bytes=100000000 max-size-time=0 ! mix.&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/GST_cookbook</id>
		<title>GST cookbook</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/GST_cookbook"/>
				<updated>2013-03-18T22:03:12Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: /* Live-stream an Elphel 353L camera set at 'FullHD' JP46*/ + link to video samples&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In addition to being a powerful multimedia infrastructure for applications Gstreamer is also a useful tool for general manipulations of multimedia data.  By invoking gst-launch from the command-line with a custom pipeline many useful processing steps are possible.&lt;br /&gt;
&lt;br /&gt;
Gstreamer also usually has good support for Xiph-related formats. &lt;br /&gt;
&lt;br /&gt;
Unfortunately, it can be rather difficult to figure out an appropriate pipeline without a starting point.&lt;br /&gt;
&lt;br /&gt;
Here are some useful examples: &amp;lt;!-- Don't complain about the selection of examples, I started this simply by grepping my shell history. Feel free to submit more and/or improve the existing ones --gmaxwell --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Encode a .wav to Vorbis:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.wav&amp;quot;  ! wavparse ! audioconvert ! vorbisenc ! oggmux ! filesink location=&amp;quot;OUTPUT.ogg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Dump a Theora video to PNGs:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.ogv&amp;quot; !  oggdemux ! theoradec ! ffmpegcolorspace ! pngenc snapshot=false ! multifilesink location=&amp;quot;OUTPUT%04d.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Transmux a MKV (containing vorbis and theora) to Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.mkv&amp;quot; ! matroskademux name=d ! video/x-theora ! queue ! theoraparse ! oggmux name=mux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot; d. ! audio/x-vorbis ! queue ! vorbisparse ! queue ! mux.&lt;br /&gt;
&lt;br /&gt;
===Encode a y4m to lossless Dirac in Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.y4m&amp;quot; ! decodebin ! schroenc force-profile=vc2_main rate-control=lossless ! oggmux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Pull from a windows media stream, transcode to Ogg/Theora+Vorbis and send to a icecast server:===&lt;br /&gt;
(may require purchasing Fluendo plugins for decoding the encumbered codecs)&lt;br /&gt;
*gst-launch uridecodebin uri=mms://SOURCE.SERVER.COM/path name=d ! queue max-size-time=100000000 ! ffmpegcolorspace ! theoraenc bitrate=800 ! oggmux name=mux ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv d. ! queue max-size-time=100000000 ! audioconvert ! vorbisenc ! mux.&lt;br /&gt;
&lt;br /&gt;
===Capture video from a webcam, encode to an Ogg Theora file, decode and display on screen, write to a file whose name is the current date+time, and stream to an IceCast server===&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! 'video/x-raw-yuv, width=640, height=480' ! videorate ! 'video/x-raw-yuv, framerate=15/1' ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=150 ! oggmux ! tee name=ogged ! queue max-size-bytes=100000000 max-size-time=0 ! oggdemux ! theoradec ! xvimagesink sync=false force-aspect-ratio=true ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=`date +%F_%T`.ogv ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv streamname=YOURSTREAMNAME description=YOURDESCRIPTION genre=YOURGENRE url=YOURSTREAMURL ogged.&lt;br /&gt;
&lt;br /&gt;
===A v4l2 source + ALSA source -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*dov4l -i [0|1] -m NTSC&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! videoscale ! video/x-raw-yuv,width=320,height=240,framerate=30000/1001,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=400 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
:Note that the above pipeline will slowly lose audio/video synchronization due to hardware-level limitations in audio vs. video capture of media samples.  FireWire and SDI-based capture does not have these limitations.&lt;br /&gt;
&lt;br /&gt;
===Two v4l2 sources combined side-by-side into rectangular video + ALSA -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video0:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video1:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*gst-launch --eos-on-shutdown v4l2src device=/dev/video0 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0  ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videomixer name=mix ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=600 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0  ! shout2send ip=icecast-server.com password=hackme mount=/mountpoint.ogv  v4l2src device=/dev/video1 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 !  queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=5/1 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videobox border-alpha=0 fill=green left=-320 ! mix.&lt;br /&gt;
&lt;br /&gt;
===Create a video with an alpha channel from a sequence of PNG files===&lt;br /&gt;
*gst-launch-0.10 multifilesrc location=images%05d.png caps=&amp;quot;image/png,framerate=1/1,pixel-aspect-ratio=1/1&amp;quot; num-buffers=95 ! pngdec ! videorate ! alphacolor ! &amp;quot;video/x-raw-yuv,format=(fourcc)AYUV&amp;quot; ! matroskamux ! filesink location=images_raw.mkv&lt;br /&gt;
&lt;br /&gt;
===Capture from a 1680x1050 GNOME Desktop, Combine with ALSA -&amp;gt; Ogg Theora + Vorbis -&amp;gt; Icecast===&lt;br /&gt;
*gst-launch  --eos-on-shutdown ximagesrc ! capsfilter caps=video/x-raw-rgb,framerate=3/1,width=1680,height=1050  ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-rgb, width=1056, height=660 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=450 keyframe-auto=false keyframe-force=12 keyframe-freq=12 speed-level=0 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:0,0 ! audio/x-raw-init,rate=44100,channels=1 ! queue max-size-bytes=100000000 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
*Icecast will need to be built from SVN (ver. 2.3.2 fails to relay data due to a bug)&lt;br /&gt;
*Viewers will need better-than-average internet connectivity (around 1.5Mbits/sec)&lt;br /&gt;
*The simplest way to capture audio events is to place a mic next to computer speakers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Live-stream a high-resolution Mac OSX Desktop at 1 FPS===&lt;br /&gt;
*Tested on Version 10.6.8, newer releases not compatible with [https://github.com/davibe/osximagesrc osximagesrc]&lt;br /&gt;
&lt;br /&gt;
gst-launch --eos-on-shutdown osximagesrc ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! videoscale method=4-tap ! video/x-raw-yuv, width=960, height=600 ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=360 keyframe-auto=false keyframe-force=3 keyframe-freq=3 speed-level=0 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=host.com password=hackme mount=/mountpoint.ogv&lt;br /&gt;
&lt;br /&gt;
If the screen resolution is set to mirrored 1024x640 (?), start the following ''then'' plug in the video display cable:&lt;br /&gt;
*gst-launch --eos-on-shutdown osximagesrc ! queue max-size-time=0 max-size-bytes=100000000 ! ffmpegcolorspace ! queue max-size-time=0 max-size-bytes=100000000 ! videocrop right=256 top=32 ! queue max-size-time=0 max-size-bytes=100000000 ! videoscale ! video/x-raw-yuv, width=658, height=486 ! queue max-size-time=0 max-size-bytes=100000000 ! theoraenc bitrate=300 keyframe-auto=false keyframe-force=3 keyframe-freq=3 speed-level=0 drop-frames=false ! queue max-size-time=0 max-size-bytes=100000000 ! oggmux ! queue  max-size-time=0 max-size-bytes=100000000 ! shout2send ip=host.com port=8000 password=hackme mount=/mountpoint.ogv&lt;br /&gt;
&lt;br /&gt;
*Streamed Keynote talks will stream the Presenter's View -- no switching between display mirrors&lt;br /&gt;
*Full-screen Flash video doesn't stream, but doesn't halt the pipeline&lt;br /&gt;
&lt;br /&gt;
===Live-stream an Elphel 353L camera, combine with on-laptop audio capture, save a high-res copy to disk, and view live video on-screen===&lt;br /&gt;
*Tested on an 2.4GHz Core i3 running at ≥2.0GHz.  Both CPU cores should be at ~50% continuously-smooth utilization after the first ~15 seconds; battery-only power or overheating may throttle the CPU thus leading to dropped samples.&lt;br /&gt;
*Set the camera to 2592x1120 @ 18FPS.  Adjust camera controls to ensure the camera achieves this framerate.&lt;br /&gt;
*Kill/renice any resource-competitive applications (file indexing services, Firefox, Audacity, etc.)&lt;br /&gt;
*qjackctl &amp;amp;  → Start JACK in realtime priority&lt;br /&gt;
&lt;br /&gt;
*gst-launch -e &amp;lt;span style=&amp;quot;color:#8B0000&amp;quot;&amp;gt;rtspsrc location=rtsp://192.168.0.9:554 latency=100 ! queue max-size-bytes=100000000 max-size-time=0 ! rtpjpegdepay ! queue max-size-bytes=100000000 max-size-time=0 ! jpegdec ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=18/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=1296, height=560 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=&amp;lt;/span&amp;gt;'''halfres''' ! &amp;lt;span style=&amp;quot;color:#4B0082&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! jpegenc ! queue max-size-bytes=100000000 max-size-time=0 ! matroskamux name=mux&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color:#C71585&amp;quot;&amp;gt;jackaudiosrc connect=1 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=&amp;lt;/span&amp;gt;'''jackaudio''' ! &amp;lt;span style=&amp;quot;color:#C71585&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0&amp;lt;/span&amp;gt; ! &amp;lt;span style=&amp;quot;color:#4B0082&amp;quot;&amp;gt;mux.&amp;lt;/span&amp;gt;{{pad|1em}}'''mux.''' ! &amp;lt;span style=&amp;quot;color:#FFB6C1&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! filesink location=elphel_recording_`date +%F_%T`.mkv&amp;lt;/span&amp;gt;{{pad|1em}}'''halfres.''' ! &amp;lt;span style=&amp;quot;color:#006400&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=648, height=280 ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=450 speed-level=1 ! queue max-size-bytes=100000000 max-size-time=0  ! oggmux name=livestream&amp;lt;/span&amp;gt; '''jackaudio.''' ! &amp;lt;span style=&amp;quot;color:#4682B4&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc  ! queue max-size-bytes=100000000 max-size-time=0&amp;lt;/span&amp;gt; ! &amp;lt;span style=&amp;quot;color:#006400&amp;quot;&amp;gt;livestream.&amp;lt;/span&amp;gt;{{pad|1em}}'''livestream.''' ! &amp;lt;span style=&amp;quot;color:#CD5C5C;&amp;quot;&amp;gt; queue max-size-bytes=0 max-size-time=0 !  shout2send ip=host.com port=[80|8000] password=hackme mount=/mountpoint.ogv&amp;lt;/span&amp;gt;{{pad|1em}}'''halfres.''' ! &amp;lt;span style=&amp;quot;color:#FF8C00;&amp;quot;&amp;gt;videoscale add-borders=true ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! xvimagesink sync=false&amp;lt;/span&amp;gt;&lt;br /&gt;
*Expect a ~50GB recording for 8hrs. of recording depending on image complexity (''e.g.'', filming a night sky vs. a waterfall).  The Matroska recording may be viewed directly in VLC (≥2.0 recommended) and may be transcoded to commonly-used formats ''via'' [http://www.mirovideoconverter.com/ Miro Video Converter] or [http://firefogg.org/ Firefogg].&lt;br /&gt;
:Alternatively: ffmpeg -i elphel_recording.mkv -acodec libfaac -ab 128k -pass 1 -vcodec libx264 -vpre slow -vpre main -b 8000k -threads 8 -f mp4 -y elphel_recording.mp4 &lt;br /&gt;
&lt;br /&gt;
====Same as above, but simultaneously broadcast in H.264 ====&lt;br /&gt;
*Experimental; use latest git checkouts&lt;br /&gt;
*Tested with [http://www.rtmpd.com/ crtmpserver] (works) and [http://momentvideo.org/ Moment Video Server] (in theory)&lt;br /&gt;
:If Moment, remove 'pingTimerTick' 'from moment/rtmp_connection.cpp' to avoid stream resets&lt;br /&gt;
:Test stream availability with [http://dl.dropbox.com/u/2918563/flvplayback.swf this tool.]&lt;br /&gt;
:Toggle 'byte-stream=[true|false]' and '[tcpclientsink|rtmpsink]' as necessary, possibly '[flvmux|mp4mux]' if needed.&lt;br /&gt;
::'rtmpsink' isn't yet compatible with Akamai&lt;br /&gt;
*Substitute 'videotestsrc is-live=true' for 'rtspsrc ... jpegdec' and 'audiotestsrc freq=432' for 'jackaudiosrc connect=1' for testing.&lt;br /&gt;
&lt;br /&gt;
*gst-launch-0.10 -e rtspsrc location=rtsp://192.168.0.9:554 latency=100 ! queue max-size-bytes=100000000 max-size-time=0 ! rtpjpegdepay ! queue max-size-bytes=100000000 max-size-time=0 ! jpegdec ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=18/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=1296, height=560 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=halfres ! queue max-size-bytes=100000000 max-size-time=0 ! jpegenc ! queue max-size-bytes=100000000 max-size-time=0 ! matroskamux name=mkvmux jackaudiosrc connect=1 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=jackaudio ! queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=vorbisaudio ! queue max-size-bytes=100000000 max-size-time=0 ! mkvmux. mkvmux. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=elphel_recording_`date +%F_%T`.mkv  halfres. ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=648, height=280 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=quarterres !  queue max-size-bytes=100000000 max-size-time=0 ! x264enc sliced-threads=true cabac=true intra-refresh=false quantizer=22 rc-lookahead=15 bitrate=600 tune=zerolatency byte-stream=false ! queue max-size-bytes=100000000 max-size-time=0 ! flvmux streamable=true name=flvmux jackaudio. ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! queue max-size-bytes=100000000 max-size-time=0 ! faac ! queue max-size-bytes=100000000 max-size-time=0 ! flvmux.  flvmux. ! queue max-size-bytes=0 max-size-time=0 ! tcpclientsink host=127.0.0.1 port=6666  quarterres. ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=600 speed-level=1 ! queue max-size-bytes=100000000 max-size-time=0  ! oggmux name=livestream jackaudio. ! queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! livestream. livestream. ! queue max-size-bytes=0 max-size-time=0 ! shout2send ip=host.com port=[80|8000] password=hackme mount=/mountpoint.ogv  halfres. ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! xvimagesink sync=false&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;div id=ElphelJP46&amp;gt;Live-stream an Elphel 353L camera set at 'FullHD' JP46, combine with realtime audio, save a high-res copy to disk, and monitor live audio+video on-screen&amp;lt;/div&amp;gt;===&lt;br /&gt;
*[https://media.xiph.org/jp46_cookbook/ Video samples]&lt;br /&gt;
*Setup a high-performance system: tested on Gigabyte GA-MA785GMT-UD2H + (non-overclocked) Phenom II X4 [[GST_cookbook/gNewSense|built using gNewSense.]]  CPU utilization approaches 100%, continuously, across all four 3.2GHz cores.&lt;br /&gt;
*Set the camera to 1920x1088, JPEG Image Quality @ 90%, JP46 color mode&lt;br /&gt;
In separate tabs:&lt;br /&gt;
*jackd -R -d alsa -C -d hw:2 -r 48000 -i 1&lt;br /&gt;
*gst-launch-0.10 -e rtspsrc location=rtsp://192.168.1.50:554 protocols=0x00000001 latency=100 ! rtpjpegdepay ! queue max-size-bytes=1000000000 max-size-time=0 ! videorate force-fps=18 ! queue max-size-bytes=1000000000 max-size-time=0 ! jpegdec max-errors=-1 idct-method=2 ! queue max-size-bytes=1000000000 max-size-time=0 ! jp462bayer threads=4 ! &amp;quot;video/x-raw-bayer, width=(int)1920, height=(int)1088, format=(string)grbg&amp;quot; ! queue max-size-bytes=1000000000 max-size-time=0 ! bayer2rgb2 method=0 ! queue max-size-bytes=1000000000 max-size-time=0 ! ffmpegcolorspace ! &amp;quot;video/x-raw-yuv, format=(fourcc)I420&amp;quot; ! queue max-size-bytes=1000000000 max-size-time=0 ! videobalance saturation=1.9 ! queue max-size-bytes=1000000000 max-size-time=0 ! tee name=fullHD ! queue max-size-bytes=100000000 max-size-time=0 ! jpegenc idct-method=2 ! queue max-size-bytes=100000000 max-size-time=0 ! matroskamux name=mux  jackaudiosrc connect=1 ! queue max-size-time=0 ! audio/x-raw-float,channels=1 ! queue max-size-time=0 ! tee name=jackaudio ! queue max-size-time=0 ! vorbisenc max-bitrate=80000 ! queue max-size-time=0 ! tee name=vorbisaudio ! queue max-size-time=0 ! mux.  mux. ! queue max-size-bytes=1000000000 max-size-time=0 ! filesink location=elphel_recording_`date +%s`.mkv sync=false  fullHD. ! queue max-size-bytes=1000000000 max-size-time=0 ! videoscale ! &amp;quot;video/x-raw-yuv, width=640, height=363, aspect-ratio=(fraction)1/1&amp;quot; ! queue max-size-bytes=1000000000 max-size-time=0 ! tee name=downsample ! queue max-size-bytes=1000000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=1000000000 max-size-time=0 ! ximagesink pixel-aspect-ratio=1/1 sync=false downsample. ! queue max-size-bytes=100000000 max-size-time=0 ! queue max-size-bytes=1000000000 max-size-time=0 ! theoraenc bitrate=550 speed-level=1 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=livestream  vorbisaudio. ! queue max-size-time=0 ! livestream.  livestream. ! queue max-size-bytes=0 max-size-time=0 ! shout2send ip=host.com port=[80|8000] password=hackme mount=/mountpoint.ogv  jackaudio. ! queue max-size-time=0 ! audioconvert ! queue max-size-time=0 ! alsasink&lt;br /&gt;
&lt;br /&gt;
===Dump high-resolution image stills from Matroska containers into a folder===&lt;br /&gt;
*gst-launch filesrc location=recording.mkv ! queue ! matroskademux ! queue ! videorate ! image/jpeg,framerate=1/10 ! queue ! multifilesink location=&amp;quot;image%04d.jpg&amp;quot; sync=false&lt;br /&gt;
&lt;br /&gt;
*Remove any colons input filenames to avoid BASH issues&lt;br /&gt;
*Change the framerate to control the time interval between image stills and number of produced stills&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mix Three Video Sources Side-by-Side-by-Side===&lt;br /&gt;
*gst-launch --eos-on-shutdown videotestsrc pattern=6 is-live=true ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv,width=320,height=240 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0 ! clockoverlay halignment=1 valignment=1 shaded-background=true font-desc=&amp;quot;Sans Bold 80&amp;quot; ypad=80 ! queue max-size-bytes=100000000 max-size-time=0 ! videobox border-alpha=0 fill=green left=-320 ! queue max-size-bytes=100000000 max-size-time=0 ! videomixer name=mix ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! ximagesink sync=false videotestsrc is-live=true ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv,width=320,height=240 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videobox border-alpha=0 fill=blue left=-640 ! queue max-size-bytes=100000000 max-size-time=0 !  mix.  videotestsrc pattern=11 ! &amp;quot;video/x-raw-yuv, width=352, height=240&amp;quot; ! queue max-size-bytes=100000000 max-size-time=0 ! mix.&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/GST_cookbook</id>
		<title>GST cookbook</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/GST_cookbook"/>
				<updated>2013-03-18T15:48:06Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: /* Live-stream an Elphel 353L camera set at 'FullHD' JP46 // */ try adding a named anchor for external linking&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In addition to being a powerful multimedia infrastructure for applications Gstreamer is also a useful tool for general manipulations of multimedia data.  By invoking gst-launch from the command-line with a custom pipeline many useful processing steps are possible.&lt;br /&gt;
&lt;br /&gt;
Gstreamer also usually has good support for Xiph-related formats. &lt;br /&gt;
&lt;br /&gt;
Unfortunately, it can be rather difficult to figure out an appropriate pipeline without a starting point.&lt;br /&gt;
&lt;br /&gt;
Here are some useful examples: &amp;lt;!-- Don't complain about the selection of examples, I started this simply by grepping my shell history. Feel free to submit more and/or improve the existing ones --gmaxwell --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Encode a .wav to Vorbis:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.wav&amp;quot;  ! wavparse ! audioconvert ! vorbisenc ! oggmux ! filesink location=&amp;quot;OUTPUT.ogg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Dump a Theora video to PNGs:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.ogv&amp;quot; !  oggdemux ! theoradec ! ffmpegcolorspace ! pngenc snapshot=false ! multifilesink location=&amp;quot;OUTPUT%04d.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Transmux a MKV (containing vorbis and theora) to Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.mkv&amp;quot; ! matroskademux name=d ! video/x-theora ! queue ! theoraparse ! oggmux name=mux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot; d. ! audio/x-vorbis ! queue ! vorbisparse ! queue ! mux.&lt;br /&gt;
&lt;br /&gt;
===Encode a y4m to lossless Dirac in Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.y4m&amp;quot; ! decodebin ! schroenc force-profile=vc2_main rate-control=lossless ! oggmux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Pull from a windows media stream, transcode to Ogg/Theora+Vorbis and send to a icecast server:===&lt;br /&gt;
(may require purchasing Fluendo plugins for decoding the encumbered codecs)&lt;br /&gt;
*gst-launch uridecodebin uri=mms://SOURCE.SERVER.COM/path name=d ! queue max-size-time=100000000 ! ffmpegcolorspace ! theoraenc bitrate=800 ! oggmux name=mux ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv d. ! queue max-size-time=100000000 ! audioconvert ! vorbisenc ! mux.&lt;br /&gt;
&lt;br /&gt;
===Capture video from a webcam, encode to an Ogg Theora file, decode and display on screen, write to a file whose name is the current date+time, and stream to an IceCast server===&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! 'video/x-raw-yuv, width=640, height=480' ! videorate ! 'video/x-raw-yuv, framerate=15/1' ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=150 ! oggmux ! tee name=ogged ! queue max-size-bytes=100000000 max-size-time=0 ! oggdemux ! theoradec ! xvimagesink sync=false force-aspect-ratio=true ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=`date +%F_%T`.ogv ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv streamname=YOURSTREAMNAME description=YOURDESCRIPTION genre=YOURGENRE url=YOURSTREAMURL ogged.&lt;br /&gt;
&lt;br /&gt;
===A v4l2 source + ALSA source -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*dov4l -i [0|1] -m NTSC&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! videoscale ! video/x-raw-yuv,width=320,height=240,framerate=30000/1001,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=400 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
:Note that the above pipeline will slowly lose audio/video synchronization due to hardware-level limitations in audio vs. video capture of media samples.  FireWire and SDI-based capture does not have these limitations.&lt;br /&gt;
&lt;br /&gt;
===Two v4l2 sources combined side-by-side into rectangular video + ALSA -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video0:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video1:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*gst-launch --eos-on-shutdown v4l2src device=/dev/video0 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0  ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videomixer name=mix ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=600 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0  ! shout2send ip=icecast-server.com password=hackme mount=/mountpoint.ogv  v4l2src device=/dev/video1 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 !  queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=5/1 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videobox border-alpha=0 fill=green left=-320 ! mix.&lt;br /&gt;
&lt;br /&gt;
===Create a video with an alpha channel from a sequence of PNG files===&lt;br /&gt;
*gst-launch-0.10 multifilesrc location=images%05d.png caps=&amp;quot;image/png,framerate=1/1,pixel-aspect-ratio=1/1&amp;quot; num-buffers=95 ! pngdec ! videorate ! alphacolor ! &amp;quot;video/x-raw-yuv,format=(fourcc)AYUV&amp;quot; ! matroskamux ! filesink location=images_raw.mkv&lt;br /&gt;
&lt;br /&gt;
===Capture from a 1680x1050 GNOME Desktop, Combine with ALSA -&amp;gt; Ogg Theora + Vorbis -&amp;gt; Icecast===&lt;br /&gt;
*gst-launch  --eos-on-shutdown ximagesrc ! capsfilter caps=video/x-raw-rgb,framerate=3/1,width=1680,height=1050  ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-rgb, width=1056, height=660 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=450 keyframe-auto=false keyframe-force=12 keyframe-freq=12 speed-level=0 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:0,0 ! audio/x-raw-init,rate=44100,channels=1 ! queue max-size-bytes=100000000 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
*Icecast will need to be built from SVN (ver. 2.3.2 fails to relay data due to a bug)&lt;br /&gt;
*Viewers will need better-than-average internet connectivity (around 1.5Mbits/sec)&lt;br /&gt;
*The simplest way to capture audio events is to place a mic next to computer speakers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Live-stream a high-resolution Mac OSX Desktop at 1 FPS===&lt;br /&gt;
*Tested on Version 10.6.8, newer releases not compatible with [https://github.com/davibe/osximagesrc osximagesrc]&lt;br /&gt;
&lt;br /&gt;
gst-launch --eos-on-shutdown osximagesrc ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! videoscale method=4-tap ! video/x-raw-yuv, width=960, height=600 ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=360 keyframe-auto=false keyframe-force=3 keyframe-freq=3 speed-level=0 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=host.com password=hackme mount=/mountpoint.ogv&lt;br /&gt;
&lt;br /&gt;
If the screen resolution is set to mirrored 1024x640 (?), start the following ''then'' plug in the video display cable:&lt;br /&gt;
*gst-launch --eos-on-shutdown osximagesrc ! queue max-size-time=0 max-size-bytes=100000000 ! ffmpegcolorspace ! queue max-size-time=0 max-size-bytes=100000000 ! videocrop right=256 top=32 ! queue max-size-time=0 max-size-bytes=100000000 ! videoscale ! video/x-raw-yuv, width=658, height=486 ! queue max-size-time=0 max-size-bytes=100000000 ! theoraenc bitrate=300 keyframe-auto=false keyframe-force=3 keyframe-freq=3 speed-level=0 drop-frames=false ! queue max-size-time=0 max-size-bytes=100000000 ! oggmux ! queue  max-size-time=0 max-size-bytes=100000000 ! shout2send ip=host.com port=8000 password=hackme mount=/mountpoint.ogv&lt;br /&gt;
&lt;br /&gt;
*Streamed Keynote talks will stream the Presenter's View -- no switching between display mirrors&lt;br /&gt;
*Full-screen Flash video doesn't stream, but doesn't halt the pipeline&lt;br /&gt;
&lt;br /&gt;
===Live-stream an Elphel 353L camera, combine with on-laptop audio capture, save a high-res copy to disk, and view live video on-screen===&lt;br /&gt;
*Tested on an 2.4GHz Core i3 running at ≥2.0GHz.  Both CPU cores should be at ~50% continuously-smooth utilization after the first ~15 seconds; battery-only power or overheating may throttle the CPU thus leading to dropped samples.&lt;br /&gt;
*Set the camera to 2592x1120 @ 18FPS.  Adjust camera controls to ensure the camera achieves this framerate.&lt;br /&gt;
*Kill/renice any resource-competitive applications (file indexing services, Firefox, Audacity, etc.)&lt;br /&gt;
*qjackctl &amp;amp;  → Start JACK in realtime priority&lt;br /&gt;
&lt;br /&gt;
*gst-launch -e &amp;lt;span style=&amp;quot;color:#8B0000&amp;quot;&amp;gt;rtspsrc location=rtsp://192.168.0.9:554 latency=100 ! queue max-size-bytes=100000000 max-size-time=0 ! rtpjpegdepay ! queue max-size-bytes=100000000 max-size-time=0 ! jpegdec ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=18/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=1296, height=560 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=&amp;lt;/span&amp;gt;'''halfres''' ! &amp;lt;span style=&amp;quot;color:#4B0082&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! jpegenc ! queue max-size-bytes=100000000 max-size-time=0 ! matroskamux name=mux&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color:#C71585&amp;quot;&amp;gt;jackaudiosrc connect=1 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=&amp;lt;/span&amp;gt;'''jackaudio''' ! &amp;lt;span style=&amp;quot;color:#C71585&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0&amp;lt;/span&amp;gt; ! &amp;lt;span style=&amp;quot;color:#4B0082&amp;quot;&amp;gt;mux.&amp;lt;/span&amp;gt;{{pad|1em}}'''mux.''' ! &amp;lt;span style=&amp;quot;color:#FFB6C1&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! filesink location=elphel_recording_`date +%F_%T`.mkv&amp;lt;/span&amp;gt;{{pad|1em}}'''halfres.''' ! &amp;lt;span style=&amp;quot;color:#006400&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=648, height=280 ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=450 speed-level=1 ! queue max-size-bytes=100000000 max-size-time=0  ! oggmux name=livestream&amp;lt;/span&amp;gt; '''jackaudio.''' ! &amp;lt;span style=&amp;quot;color:#4682B4&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc  ! queue max-size-bytes=100000000 max-size-time=0&amp;lt;/span&amp;gt; ! &amp;lt;span style=&amp;quot;color:#006400&amp;quot;&amp;gt;livestream.&amp;lt;/span&amp;gt;{{pad|1em}}'''livestream.''' ! &amp;lt;span style=&amp;quot;color:#CD5C5C;&amp;quot;&amp;gt; queue max-size-bytes=0 max-size-time=0 !  shout2send ip=host.com port=[80|8000] password=hackme mount=/mountpoint.ogv&amp;lt;/span&amp;gt;{{pad|1em}}'''halfres.''' ! &amp;lt;span style=&amp;quot;color:#FF8C00;&amp;quot;&amp;gt;videoscale add-borders=true ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! xvimagesink sync=false&amp;lt;/span&amp;gt;&lt;br /&gt;
*Expect a ~50GB recording for 8hrs. of recording depending on image complexity (''e.g.'', filming a night sky vs. a waterfall).  The Matroska recording may be viewed directly in VLC (≥2.0 recommended) and may be transcoded to commonly-used formats ''via'' [http://www.mirovideoconverter.com/ Miro Video Converter] or [http://firefogg.org/ Firefogg].&lt;br /&gt;
:Alternatively: ffmpeg -i elphel_recording.mkv -acodec libfaac -ab 128k -pass 1 -vcodec libx264 -vpre slow -vpre main -b 8000k -threads 8 -f mp4 -y elphel_recording.mp4 &lt;br /&gt;
&lt;br /&gt;
====Same as above, but simultaneously broadcast in H.264 ====&lt;br /&gt;
*Experimental; use latest git checkouts&lt;br /&gt;
*Tested with [http://www.rtmpd.com/ crtmpserver] (works) and [http://momentvideo.org/ Moment Video Server] (in theory)&lt;br /&gt;
:If Moment, remove 'pingTimerTick' 'from moment/rtmp_connection.cpp' to avoid stream resets&lt;br /&gt;
:Test stream availability with [http://dl.dropbox.com/u/2918563/flvplayback.swf this tool.]&lt;br /&gt;
:Toggle 'byte-stream=[true|false]' and '[tcpclientsink|rtmpsink]' as necessary, possibly '[flvmux|mp4mux]' if needed.&lt;br /&gt;
::'rtmpsink' isn't yet compatible with Akamai&lt;br /&gt;
*Substitute 'videotestsrc is-live=true' for 'rtspsrc ... jpegdec' and 'audiotestsrc freq=432' for 'jackaudiosrc connect=1' for testing.&lt;br /&gt;
&lt;br /&gt;
*gst-launch-0.10 -e rtspsrc location=rtsp://192.168.0.9:554 latency=100 ! queue max-size-bytes=100000000 max-size-time=0 ! rtpjpegdepay ! queue max-size-bytes=100000000 max-size-time=0 ! jpegdec ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=18/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=1296, height=560 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=halfres ! queue max-size-bytes=100000000 max-size-time=0 ! jpegenc ! queue max-size-bytes=100000000 max-size-time=0 ! matroskamux name=mkvmux jackaudiosrc connect=1 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=jackaudio ! queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=vorbisaudio ! queue max-size-bytes=100000000 max-size-time=0 ! mkvmux. mkvmux. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=elphel_recording_`date +%F_%T`.mkv  halfres. ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=648, height=280 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=quarterres !  queue max-size-bytes=100000000 max-size-time=0 ! x264enc sliced-threads=true cabac=true intra-refresh=false quantizer=22 rc-lookahead=15 bitrate=600 tune=zerolatency byte-stream=false ! queue max-size-bytes=100000000 max-size-time=0 ! flvmux streamable=true name=flvmux jackaudio. ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! queue max-size-bytes=100000000 max-size-time=0 ! faac ! queue max-size-bytes=100000000 max-size-time=0 ! flvmux.  flvmux. ! queue max-size-bytes=0 max-size-time=0 ! tcpclientsink host=127.0.0.1 port=6666  quarterres. ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=600 speed-level=1 ! queue max-size-bytes=100000000 max-size-time=0  ! oggmux name=livestream jackaudio. ! queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! livestream. livestream. ! queue max-size-bytes=0 max-size-time=0 ! shout2send ip=host.com port=[80|8000] password=hackme mount=/mountpoint.ogv  halfres. ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! xvimagesink sync=false&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;div id=ElphelJP46&amp;gt;Live-stream an Elphel 353L camera set at 'FullHD' JP46, combine with realtime audio, save a high-res copy to disk, and monitor live audio+video on-screen&amp;lt;/div&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
*Setup a high-performance system: tested on Gigabyte GA-MA785GMT-UD2H + (non-overclocked) Phenom II X4 [[GST_cookbook/gNewSense|built using gNewSense.]]  CPU utilization approaches 100%, continuously, across all four 3.2GHz cores.&lt;br /&gt;
*Set the camera to 1920x1088, JPEG Image Quality @ 90%, JP46 color mode&lt;br /&gt;
In separate tabs:&lt;br /&gt;
*jackd -R -d alsa -C -d hw:2 -r 48000 -i 1&lt;br /&gt;
*gst-launch-0.10 -e rtspsrc location=rtsp://192.168.1.50:554 protocols=0x00000001 latency=100 ! rtpjpegdepay ! queue max-size-bytes=1000000000 max-size-time=0 ! videorate force-fps=18 ! queue max-size-bytes=1000000000 max-size-time=0 ! jpegdec max-errors=-1 idct-method=2 ! queue max-size-bytes=1000000000 max-size-time=0 ! jp462bayer threads=4 ! &amp;quot;video/x-raw-bayer, width=(int)1920, height=(int)1088, format=(string)grbg&amp;quot; ! queue max-size-bytes=1000000000 max-size-time=0 ! bayer2rgb2 method=0 ! queue max-size-bytes=1000000000 max-size-time=0 ! ffmpegcolorspace ! &amp;quot;video/x-raw-yuv, format=(fourcc)I420&amp;quot; ! queue max-size-bytes=1000000000 max-size-time=0 ! videobalance saturation=1.9 ! queue max-size-bytes=1000000000 max-size-time=0 ! tee name=fullHD ! queue max-size-bytes=100000000 max-size-time=0 ! jpegenc idct-method=2 ! queue max-size-bytes=100000000 max-size-time=0 ! matroskamux name=mux  jackaudiosrc connect=1 ! queue max-size-time=0 ! audio/x-raw-float,channels=1 ! queue max-size-time=0 ! tee name=jackaudio ! queue max-size-time=0 ! vorbisenc max-bitrate=80000 ! queue max-size-time=0 ! tee name=vorbisaudio ! queue max-size-time=0 ! mux.  mux. ! queue max-size-bytes=1000000000 max-size-time=0 ! filesink location=elphel_recording_`date +%s`.mkv sync=false  fullHD. ! queue max-size-bytes=1000000000 max-size-time=0 ! videoscale ! &amp;quot;video/x-raw-yuv, width=640, height=363, aspect-ratio=(fraction)1/1&amp;quot; ! queue max-size-bytes=1000000000 max-size-time=0 ! tee name=downsample ! queue max-size-bytes=1000000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=1000000000 max-size-time=0 ! ximagesink pixel-aspect-ratio=1/1 sync=false downsample. ! queue max-size-bytes=100000000 max-size-time=0 ! queue max-size-bytes=1000000000 max-size-time=0 ! theoraenc bitrate=550 speed-level=1 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=livestream  vorbisaudio. ! queue max-size-time=0 ! livestream.  livestream. ! queue max-size-bytes=0 max-size-time=0 ! shout2send ip=host.com port=[80|8000] password=hackme mount=/mountpoint.ogv  jackaudio. ! queue max-size-time=0 ! audioconvert ! queue max-size-time=0 ! alsasink&lt;br /&gt;
&lt;br /&gt;
===Dump high-resolution image stills from Matroska containers into a folder===&lt;br /&gt;
*gst-launch filesrc location=recording.mkv ! queue ! matroskademux ! queue ! videorate ! image/jpeg,framerate=1/10 ! queue ! multifilesink location=&amp;quot;image%04d.jpg&amp;quot; sync=false&lt;br /&gt;
&lt;br /&gt;
*Remove any colons input filenames to avoid BASH issues&lt;br /&gt;
*Change the framerate to control the time interval between image stills and number of produced stills&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mix Three Video Sources Side-by-Side-by-Side===&lt;br /&gt;
*gst-launch --eos-on-shutdown videotestsrc pattern=6 is-live=true ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv,width=320,height=240 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0 ! clockoverlay halignment=1 valignment=1 shaded-background=true font-desc=&amp;quot;Sans Bold 80&amp;quot; ypad=80 ! queue max-size-bytes=100000000 max-size-time=0 ! videobox border-alpha=0 fill=green left=-320 ! queue max-size-bytes=100000000 max-size-time=0 ! videomixer name=mix ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! ximagesink sync=false videotestsrc is-live=true ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv,width=320,height=240 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videobox border-alpha=0 fill=blue left=-640 ! queue max-size-bytes=100000000 max-size-time=0 !  mix.  videotestsrc pattern=11 ! &amp;quot;video/x-raw-yuv, width=352, height=240&amp;quot; ! queue max-size-bytes=100000000 max-size-time=0 ! mix.&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/GST_cookbook</id>
		<title>GST cookbook</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/GST_cookbook"/>
				<updated>2013-03-18T15:42:37Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: move JP4 pipeline + add notes + expand Matroska image dump pipeline&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In addition to being a powerful multimedia infrastructure for applications Gstreamer is also a useful tool for general manipulations of multimedia data.  By invoking gst-launch from the command-line with a custom pipeline many useful processing steps are possible.&lt;br /&gt;
&lt;br /&gt;
Gstreamer also usually has good support for Xiph-related formats. &lt;br /&gt;
&lt;br /&gt;
Unfortunately, it can be rather difficult to figure out an appropriate pipeline without a starting point.&lt;br /&gt;
&lt;br /&gt;
Here are some useful examples: &amp;lt;!-- Don't complain about the selection of examples, I started this simply by grepping my shell history. Feel free to submit more and/or improve the existing ones --gmaxwell --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Encode a .wav to Vorbis:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.wav&amp;quot;  ! wavparse ! audioconvert ! vorbisenc ! oggmux ! filesink location=&amp;quot;OUTPUT.ogg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Dump a Theora video to PNGs:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.ogv&amp;quot; !  oggdemux ! theoradec ! ffmpegcolorspace ! pngenc snapshot=false ! multifilesink location=&amp;quot;OUTPUT%04d.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Transmux a MKV (containing vorbis and theora) to Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.mkv&amp;quot; ! matroskademux name=d ! video/x-theora ! queue ! theoraparse ! oggmux name=mux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot; d. ! audio/x-vorbis ! queue ! vorbisparse ! queue ! mux.&lt;br /&gt;
&lt;br /&gt;
===Encode a y4m to lossless Dirac in Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.y4m&amp;quot; ! decodebin ! schroenc force-profile=vc2_main rate-control=lossless ! oggmux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Pull from a windows media stream, transcode to Ogg/Theora+Vorbis and send to a icecast server:===&lt;br /&gt;
(may require purchasing Fluendo plugins for decoding the encumbered codecs)&lt;br /&gt;
*gst-launch uridecodebin uri=mms://SOURCE.SERVER.COM/path name=d ! queue max-size-time=100000000 ! ffmpegcolorspace ! theoraenc bitrate=800 ! oggmux name=mux ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv d. ! queue max-size-time=100000000 ! audioconvert ! vorbisenc ! mux.&lt;br /&gt;
&lt;br /&gt;
===Capture video from a webcam, encode to an Ogg Theora file, decode and display on screen, write to a file whose name is the current date+time, and stream to an IceCast server===&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! 'video/x-raw-yuv, width=640, height=480' ! videorate ! 'video/x-raw-yuv, framerate=15/1' ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=150 ! oggmux ! tee name=ogged ! queue max-size-bytes=100000000 max-size-time=0 ! oggdemux ! theoradec ! xvimagesink sync=false force-aspect-ratio=true ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=`date +%F_%T`.ogv ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv streamname=YOURSTREAMNAME description=YOURDESCRIPTION genre=YOURGENRE url=YOURSTREAMURL ogged.&lt;br /&gt;
&lt;br /&gt;
===A v4l2 source + ALSA source -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*dov4l -i [0|1] -m NTSC&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! videoscale ! video/x-raw-yuv,width=320,height=240,framerate=30000/1001,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=400 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
:Note that the above pipeline will slowly lose audio/video synchronization due to hardware-level limitations in audio vs. video capture of media samples.  FireWire and SDI-based capture does not have these limitations.&lt;br /&gt;
&lt;br /&gt;
===Two v4l2 sources combined side-by-side into rectangular video + ALSA -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video0:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video1:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*gst-launch --eos-on-shutdown v4l2src device=/dev/video0 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0  ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videomixer name=mix ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=600 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0  ! shout2send ip=icecast-server.com password=hackme mount=/mountpoint.ogv  v4l2src device=/dev/video1 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 !  queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=5/1 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videobox border-alpha=0 fill=green left=-320 ! mix.&lt;br /&gt;
&lt;br /&gt;
===Create a video with an alpha channel from a sequence of PNG files===&lt;br /&gt;
*gst-launch-0.10 multifilesrc location=images%05d.png caps=&amp;quot;image/png,framerate=1/1,pixel-aspect-ratio=1/1&amp;quot; num-buffers=95 ! pngdec ! videorate ! alphacolor ! &amp;quot;video/x-raw-yuv,format=(fourcc)AYUV&amp;quot; ! matroskamux ! filesink location=images_raw.mkv&lt;br /&gt;
&lt;br /&gt;
===Capture from a 1680x1050 GNOME Desktop, Combine with ALSA -&amp;gt; Ogg Theora + Vorbis -&amp;gt; Icecast===&lt;br /&gt;
*gst-launch  --eos-on-shutdown ximagesrc ! capsfilter caps=video/x-raw-rgb,framerate=3/1,width=1680,height=1050  ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-rgb, width=1056, height=660 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=450 keyframe-auto=false keyframe-force=12 keyframe-freq=12 speed-level=0 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:0,0 ! audio/x-raw-init,rate=44100,channels=1 ! queue max-size-bytes=100000000 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
*Icecast will need to be built from SVN (ver. 2.3.2 fails to relay data due to a bug)&lt;br /&gt;
*Viewers will need better-than-average internet connectivity (around 1.5Mbits/sec)&lt;br /&gt;
*The simplest way to capture audio events is to place a mic next to computer speakers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Live-stream a high-resolution Mac OSX Desktop at 1 FPS===&lt;br /&gt;
*Tested on Version 10.6.8, newer releases not compatible with [https://github.com/davibe/osximagesrc osximagesrc]&lt;br /&gt;
&lt;br /&gt;
gst-launch --eos-on-shutdown osximagesrc ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! videoscale method=4-tap ! video/x-raw-yuv, width=960, height=600 ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=360 keyframe-auto=false keyframe-force=3 keyframe-freq=3 speed-level=0 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=host.com password=hackme mount=/mountpoint.ogv&lt;br /&gt;
&lt;br /&gt;
If the screen resolution is set to mirrored 1024x640 (?), start the following ''then'' plug in the video display cable:&lt;br /&gt;
*gst-launch --eos-on-shutdown osximagesrc ! queue max-size-time=0 max-size-bytes=100000000 ! ffmpegcolorspace ! queue max-size-time=0 max-size-bytes=100000000 ! videocrop right=256 top=32 ! queue max-size-time=0 max-size-bytes=100000000 ! videoscale ! video/x-raw-yuv, width=658, height=486 ! queue max-size-time=0 max-size-bytes=100000000 ! theoraenc bitrate=300 keyframe-auto=false keyframe-force=3 keyframe-freq=3 speed-level=0 drop-frames=false ! queue max-size-time=0 max-size-bytes=100000000 ! oggmux ! queue  max-size-time=0 max-size-bytes=100000000 ! shout2send ip=host.com port=8000 password=hackme mount=/mountpoint.ogv&lt;br /&gt;
&lt;br /&gt;
*Streamed Keynote talks will stream the Presenter's View -- no switching between display mirrors&lt;br /&gt;
*Full-screen Flash video doesn't stream, but doesn't halt the pipeline&lt;br /&gt;
&lt;br /&gt;
===Live-stream an Elphel 353L camera, combine with on-laptop audio capture, save a high-res copy to disk, and view live video on-screen===&lt;br /&gt;
*Tested on an 2.4GHz Core i3 running at ≥2.0GHz.  Both CPU cores should be at ~50% continuously-smooth utilization after the first ~15 seconds; battery-only power or overheating may throttle the CPU thus leading to dropped samples.&lt;br /&gt;
*Set the camera to 2592x1120 @ 18FPS.  Adjust camera controls to ensure the camera achieves this framerate.&lt;br /&gt;
*Kill/renice any resource-competitive applications (file indexing services, Firefox, Audacity, etc.)&lt;br /&gt;
*qjackctl &amp;amp;  → Start JACK in realtime priority&lt;br /&gt;
&lt;br /&gt;
*gst-launch -e &amp;lt;span style=&amp;quot;color:#8B0000&amp;quot;&amp;gt;rtspsrc location=rtsp://192.168.0.9:554 latency=100 ! queue max-size-bytes=100000000 max-size-time=0 ! rtpjpegdepay ! queue max-size-bytes=100000000 max-size-time=0 ! jpegdec ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=18/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=1296, height=560 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=&amp;lt;/span&amp;gt;'''halfres''' ! &amp;lt;span style=&amp;quot;color:#4B0082&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! jpegenc ! queue max-size-bytes=100000000 max-size-time=0 ! matroskamux name=mux&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color:#C71585&amp;quot;&amp;gt;jackaudiosrc connect=1 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=&amp;lt;/span&amp;gt;'''jackaudio''' ! &amp;lt;span style=&amp;quot;color:#C71585&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0&amp;lt;/span&amp;gt; ! &amp;lt;span style=&amp;quot;color:#4B0082&amp;quot;&amp;gt;mux.&amp;lt;/span&amp;gt;{{pad|1em}}'''mux.''' ! &amp;lt;span style=&amp;quot;color:#FFB6C1&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! filesink location=elphel_recording_`date +%F_%T`.mkv&amp;lt;/span&amp;gt;{{pad|1em}}'''halfres.''' ! &amp;lt;span style=&amp;quot;color:#006400&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=648, height=280 ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=450 speed-level=1 ! queue max-size-bytes=100000000 max-size-time=0  ! oggmux name=livestream&amp;lt;/span&amp;gt; '''jackaudio.''' ! &amp;lt;span style=&amp;quot;color:#4682B4&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc  ! queue max-size-bytes=100000000 max-size-time=0&amp;lt;/span&amp;gt; ! &amp;lt;span style=&amp;quot;color:#006400&amp;quot;&amp;gt;livestream.&amp;lt;/span&amp;gt;{{pad|1em}}'''livestream.''' ! &amp;lt;span style=&amp;quot;color:#CD5C5C;&amp;quot;&amp;gt; queue max-size-bytes=0 max-size-time=0 !  shout2send ip=host.com port=[80|8000] password=hackme mount=/mountpoint.ogv&amp;lt;/span&amp;gt;{{pad|1em}}'''halfres.''' ! &amp;lt;span style=&amp;quot;color:#FF8C00;&amp;quot;&amp;gt;videoscale add-borders=true ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! xvimagesink sync=false&amp;lt;/span&amp;gt;&lt;br /&gt;
*Expect a ~50GB recording for 8hrs. of recording depending on image complexity (''e.g.'', filming a night sky vs. a waterfall).  The Matroska recording may be viewed directly in VLC (≥2.0 recommended) and may be transcoded to commonly-used formats ''via'' [http://www.mirovideoconverter.com/ Miro Video Converter] or [http://firefogg.org/ Firefogg].&lt;br /&gt;
:Alternatively: ffmpeg -i elphel_recording.mkv -acodec libfaac -ab 128k -pass 1 -vcodec libx264 -vpre slow -vpre main -b 8000k -threads 8 -f mp4 -y elphel_recording.mp4 &lt;br /&gt;
&lt;br /&gt;
====Same as above, but simultaneously broadcast in H.264 ====&lt;br /&gt;
*Experimental; use latest git checkouts&lt;br /&gt;
*Tested with [http://www.rtmpd.com/ crtmpserver] (works) and [http://momentvideo.org/ Moment Video Server] (in theory)&lt;br /&gt;
:If Moment, remove 'pingTimerTick' 'from moment/rtmp_connection.cpp' to avoid stream resets&lt;br /&gt;
:Test stream availability with [http://dl.dropbox.com/u/2918563/flvplayback.swf this tool.]&lt;br /&gt;
:Toggle 'byte-stream=[true|false]' and '[tcpclientsink|rtmpsink]' as necessary, possibly '[flvmux|mp4mux]' if needed.&lt;br /&gt;
::'rtmpsink' isn't yet compatible with Akamai&lt;br /&gt;
*Substitute 'videotestsrc is-live=true' for 'rtspsrc ... jpegdec' and 'audiotestsrc freq=432' for 'jackaudiosrc connect=1' for testing.&lt;br /&gt;
&lt;br /&gt;
*gst-launch-0.10 -e rtspsrc location=rtsp://192.168.0.9:554 latency=100 ! queue max-size-bytes=100000000 max-size-time=0 ! rtpjpegdepay ! queue max-size-bytes=100000000 max-size-time=0 ! jpegdec ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=18/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=1296, height=560 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=halfres ! queue max-size-bytes=100000000 max-size-time=0 ! jpegenc ! queue max-size-bytes=100000000 max-size-time=0 ! matroskamux name=mkvmux jackaudiosrc connect=1 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=jackaudio ! queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=vorbisaudio ! queue max-size-bytes=100000000 max-size-time=0 ! mkvmux. mkvmux. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=elphel_recording_`date +%F_%T`.mkv  halfres. ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=648, height=280 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=quarterres !  queue max-size-bytes=100000000 max-size-time=0 ! x264enc sliced-threads=true cabac=true intra-refresh=false quantizer=22 rc-lookahead=15 bitrate=600 tune=zerolatency byte-stream=false ! queue max-size-bytes=100000000 max-size-time=0 ! flvmux streamable=true name=flvmux jackaudio. ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! queue max-size-bytes=100000000 max-size-time=0 ! faac ! queue max-size-bytes=100000000 max-size-time=0 ! flvmux.  flvmux. ! queue max-size-bytes=0 max-size-time=0 ! tcpclientsink host=127.0.0.1 port=6666  quarterres. ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=600 speed-level=1 ! queue max-size-bytes=100000000 max-size-time=0  ! oggmux name=livestream jackaudio. ! queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! livestream. livestream. ! queue max-size-bytes=0 max-size-time=0 ! shout2send ip=host.com port=[80|8000] password=hackme mount=/mountpoint.ogv  halfres. ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! xvimagesink sync=false&lt;br /&gt;
&lt;br /&gt;
===Live-stream an Elphel 353L camera set at 'FullHD' JP46, combine with realtime audio, save a high-res copy to disk, and monitor live audio+video on-screen===&lt;br /&gt;
*Setup a high-performance system: tested on Gigabyte GA-MA785GMT-UD2H + (non-overclocked) Phenom II X4 [[GST_cookbook/gNewSense|built using gNewSense.]]  CPU utilization approaches 100%, continuously, across all four 3.2GHz cores.&lt;br /&gt;
*Set the camera to 1920x1088, JPEG Image Quality @ 90%, JP46 color mode&lt;br /&gt;
In separate tabs:&lt;br /&gt;
*jackd -R -d alsa -C -d hw:2 -r 48000 -i 1&lt;br /&gt;
*gst-launch-0.10 -e rtspsrc location=rtsp://192.168.1.50:554 protocols=0x00000001 latency=100 ! rtpjpegdepay ! queue max-size-bytes=1000000000 max-size-time=0 ! videorate force-fps=18 ! queue max-size-bytes=1000000000 max-size-time=0 ! jpegdec max-errors=-1 idct-method=2 ! queue max-size-bytes=1000000000 max-size-time=0 ! jp462bayer threads=4 ! &amp;quot;video/x-raw-bayer, width=(int)1920, height=(int)1088, format=(string)grbg&amp;quot; ! queue max-size-bytes=1000000000 max-size-time=0 ! bayer2rgb2 method=0 ! queue max-size-bytes=1000000000 max-size-time=0 ! ffmpegcolorspace ! &amp;quot;video/x-raw-yuv, format=(fourcc)I420&amp;quot; ! queue max-size-bytes=1000000000 max-size-time=0 ! videobalance saturation=1.9 ! queue max-size-bytes=1000000000 max-size-time=0 ! tee name=fullHD ! queue max-size-bytes=100000000 max-size-time=0 ! jpegenc idct-method=2 ! queue max-size-bytes=100000000 max-size-time=0 ! matroskamux name=mux  jackaudiosrc connect=1 ! queue max-size-time=0 ! audio/x-raw-float,channels=1 ! queue max-size-time=0 ! tee name=jackaudio ! queue max-size-time=0 ! vorbisenc max-bitrate=80000 ! queue max-size-time=0 ! tee name=vorbisaudio ! queue max-size-time=0 ! mux.  mux. ! queue max-size-bytes=1000000000 max-size-time=0 ! filesink location=elphel_recording_`date +%s`.mkv sync=false  fullHD. ! queue max-size-bytes=1000000000 max-size-time=0 ! videoscale ! &amp;quot;video/x-raw-yuv, width=640, height=363, aspect-ratio=(fraction)1/1&amp;quot; ! queue max-size-bytes=1000000000 max-size-time=0 ! tee name=downsample ! queue max-size-bytes=1000000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=1000000000 max-size-time=0 ! ximagesink pixel-aspect-ratio=1/1 sync=false downsample. ! queue max-size-bytes=100000000 max-size-time=0 ! queue max-size-bytes=1000000000 max-size-time=0 ! theoraenc bitrate=550 speed-level=1 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=livestream  vorbisaudio. ! queue max-size-time=0 ! livestream.  livestream. ! queue max-size-bytes=0 max-size-time=0 ! shout2send ip=host.com port=[80|8000] password=hackme mount=/mountpoint.ogv  jackaudio. ! queue max-size-time=0 ! audioconvert ! queue max-size-time=0 ! alsasink&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Dump high-resolution image stills from Matroska containers into a folder===&lt;br /&gt;
*gst-launch filesrc location=recording.mkv ! queue ! matroskademux ! queue ! videorate ! image/jpeg,framerate=1/10 ! queue ! multifilesink location=&amp;quot;image%04d.jpg&amp;quot; sync=false&lt;br /&gt;
&lt;br /&gt;
*Remove any colons input filenames to avoid BASH issues&lt;br /&gt;
*Change the framerate to control the time interval between image stills and number of produced stills&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mix Three Video Sources Side-by-Side-by-Side===&lt;br /&gt;
*gst-launch --eos-on-shutdown videotestsrc pattern=6 is-live=true ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv,width=320,height=240 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0 ! clockoverlay halignment=1 valignment=1 shaded-background=true font-desc=&amp;quot;Sans Bold 80&amp;quot; ypad=80 ! queue max-size-bytes=100000000 max-size-time=0 ! videobox border-alpha=0 fill=green left=-320 ! queue max-size-bytes=100000000 max-size-time=0 ! videomixer name=mix ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! ximagesink sync=false videotestsrc is-live=true ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv,width=320,height=240 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videobox border-alpha=0 fill=blue left=-640 ! queue max-size-bytes=100000000 max-size-time=0 !  mix.  videotestsrc pattern=11 ! &amp;quot;video/x-raw-yuv, width=352, height=240&amp;quot; ! queue max-size-bytes=100000000 max-size-time=0 ! mix.&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/GST_cookbook/gNewSense</id>
		<title>GST cookbook/gNewSense</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/GST_cookbook/gNewSense"/>
				<updated>2013-03-18T15:24:05Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: add gNewSense build instructions.  traces of nuts, but a good set overall&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;gNewSense GStreamer 0.10 Build Instructions&amp;lt;br /&amp;gt;&lt;br /&gt;
Tested on 18-March-2013 by GChriss&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Prepare live USB key as documented, double-check boot flag&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Boot USB key in BIOS -&amp;gt; Install to disk -&amp;gt; Manual partition&amp;lt;br /&amp;gt;&lt;br /&gt;
Use a smaller '/' partition (~20GB), ~20GB swap space, the remainder as '/home'&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
reboot&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
apt-get update&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
apt-get dist-upgrade&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
apt-get install fakeroot kernel-package libncurses5-dev libqt3-mt-dev bzip2 wget build-essential autoconf libtool libglib2.0-dev bison flex libxml2-dev alsa-tools libasound2-dev vim mlocate libxmu-dev libxi-dev libsamplerate0-dev libsndfile1-dev git-core curl lm-sensors sensors-applet openssh-server flex bison iasl automake libsdl1.2-dev libgtk2.0-dev libglib2.0-dev libglade2-dev libffi4-dev pciutils-dev cu sysfsutils mkvtoolnix mkvtoolnix-gui subversion cpuburn&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[For realtime GNUSense kernel, optional but helpful for audio quality]&amp;lt;br /&amp;gt;&lt;br /&gt;
http://www.gnewsense.org/Documentation/BuildKernel&amp;lt;br /&amp;gt;&lt;br /&gt;
+apply patch: http://twobit.us/blog/2010/06/debian-lenny-make-kpkg-broken-with-new-kernel/&amp;lt;br /&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br /&amp;gt;&lt;br /&gt;
cd /usr/src&amp;lt;br /&amp;gt;&lt;br /&gt;
wget &amp;quot;http://linux-libre.fsfla.org/pub/linux-libre/releases/LATEST-3.8.N/linux-libre-3.8.1-gnu.tar.bz2&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
tar xvjf linux-libre-3.8.1-gnu.tar.bz2 &amp;lt;br /&amp;gt;&lt;br /&gt;
cd linux-3.8.1/&amp;lt;br /&amp;gt;&lt;br /&gt;
cp /boot/config-2.6.24-32-generic ./.config&amp;lt;br /&amp;gt;&lt;br /&gt;
make oldconfig&amp;lt;br /&amp;gt;&lt;br /&gt;
make gconfig&amp;lt;br /&amp;gt;&lt;br /&gt;
[See attached .config.  'CONFIG_PREEMPT=y' + ALSA built as modules, 'CONFIG_HZ_100=y']&amp;lt;br /&amp;gt;&lt;br /&gt;
CONCURRENCY_LEVEL=4 fakeroot make-kpkg --initrd  kernel_image kernel_headers&amp;lt;br /&amp;gt;&lt;br /&gt;
[See http://www.debian-administration.org/articles/90 ]&amp;lt;br /&amp;gt;&lt;br /&gt;
cd /usr/src/&amp;lt;br /&amp;gt;&lt;br /&gt;
dpkg -i linux-headers-3.8.1-gnu_3.8.1-gnu-10.00.Custom_i386.deb linux-image-3.8.1-gnu_3.8.1-gnu-10.00.Custom_i386.deb&amp;lt;br /&amp;gt;&lt;br /&gt;
chmod 4755 /usr/bin/cpufreq-selector&amp;lt;br /&amp;gt;&lt;br /&gt;
reboot&amp;lt;br /&amp;gt;&lt;br /&gt;
Test GNOME CPU freq applet&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
gsc@host:~$ uname -a&amp;lt;br /&amp;gt;&lt;br /&gt;
Linux host 3.8.1-gnu #1 SMP PREEMPT Sun Mar 3 16:40:14 EST 2013 i686 GNU/Linux&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
sudo su&amp;lt;br /&amp;gt;&lt;br /&gt;
mkdir -p /packages/openvideopro &amp;amp;&amp;amp; mkdir -p /packages/openvideopro/lib &amp;amp;&amp;amp; mkdir -p /packages/openvideopro/bin&amp;lt;br /&amp;gt;&lt;br /&gt;
mkdir -p /packages/openvideopro/lib/pkgconfig&amp;lt;br /&amp;gt;&lt;br /&gt;
chown -R gchriss:users /packages/openvideopro&amp;lt;br /&amp;gt;&lt;br /&gt;
exit&amp;lt;br /&amp;gt;&lt;br /&gt;
rm -Rf ~/.gstreamer-0.10&amp;lt;br /&amp;gt;&lt;br /&gt;
vi ~/.bashrc, add the following:&amp;lt;br /&amp;gt;&lt;br /&gt;
export GST_PLUGIN_SYSTEM_PATH=&amp;quot;/packages/openvideopro/lib&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
export GST_PLUGIN_PATH=&amp;quot;/packages/openvideopro/lib&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
export PKG_CONFIG_PATH=/packages/openvideopro/lib/pkgconfig&amp;lt;br /&amp;gt;&lt;br /&gt;
export PATH=/packages/openvideopro/bin:$PATH&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br /&amp;gt;&lt;br /&gt;
git clone git://repo.or.cz/nasm.git nasm_3march2013&amp;lt;br /&amp;gt;&lt;br /&gt;
cd nasm_3march2013&amp;lt;br /&amp;gt;&lt;br /&gt;
./autogen.sh --no-configure &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br /&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br /&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br /&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[Optional]&amp;lt;br /&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br /&amp;gt;&lt;br /&gt;
git clone git://github.com/yasm/yasm.git &amp;amp;&amp;amp; cd yasm&amp;lt;br /&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br /&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br /&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
git clone git://code.entropywave.com/git/orc.git &amp;amp;&amp;amp; cd orc&amp;lt;br /&amp;gt;&lt;br /&gt;
./autogen.sh  &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br /&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log &amp;lt;br /&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br /&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/ogg/libogg-1.3.0.tar.gz&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
tar -xvzf libogg-1.3.0.tar.gz &amp;amp;&amp;amp; cd libogg-1.3.0&amp;lt;br /&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br /&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br /&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.3.tar.gz&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
tar -xvzf libvorbis-1.3.3.tar.gz &amp;amp;&amp;amp; cd libvorbis-1.3.3/&amp;lt;br /&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br /&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br /&amp;gt;&lt;br /&gt;
export PKG_CONFIG_PATH=/packages/openvideopro/lib/pkgconfig&amp;lt;br /&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_config.log&amp;lt;br /&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.bz2&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
tar -xvjf libtheora-1.1.1.tar  &amp;amp;&amp;amp; cd libtheora-1.1.1&amp;lt;br /&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br /&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_config.log&amp;lt;br /&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Open browser, download:&amp;lt;br /&amp;gt;&lt;br /&gt;
http://sourceforge.net/projects/libjpeg-turbo/files/1.2.90%20%281.3beta1%29/libjpeg-turbo-1.2.90.tar.gz/download&amp;lt;br /&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; tar -xvzf libjpeg-turbo-1.2.90.tar.gz &amp;amp;&amp;amp; cd libjpeg-turbo-1.2.90&amp;lt;br /&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br /&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br /&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
wget &amp;quot;http://dl.matroska.org/downloads/libebml/libebml-1.2.2.tar.bz2&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
tar -xvjf libebml-1.2.2.tar.bz2 &amp;amp; cd libebml-1.2.2&amp;lt;br /&amp;gt;&lt;br /&gt;
make -C make/linux install_staticlib install_headers prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_make.log&amp;lt;br /&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
wget &amp;quot;http://dl.matroska.org/downloads/libmatroska/libmatroska-1.3.0.tar.bz2&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
tar -xvjf libmatroska-1.3.0.tar.bz2 &amp;amp;&amp;amp; cd libmatroska-1.3.0/&amp;lt;br /&amp;gt;&lt;br /&gt;
CXXFLAGS='-I/packages/openvideopro/include' make -C make/linux install_staticlib install_headers prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_make.log&amp;lt;br /&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
wget &amp;quot;http://downloads.xiph.org/releases/libshout/libshout-2.3.1.tar.gz&amp;quot; &amp;amp;&amp;amp; tar -xvzf libshout-2.3.1.tar.gz &amp;amp;&amp;amp; cd libshout-2.3.1&amp;lt;br /&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br /&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br /&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
wget &amp;quot;http://ftp.acc.umu.se/pub/gnome/sources/glib/2.28/glib-2.28.8.tar.bz2&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
tar -xvjf glib-2.28.8.tar.bz2  &amp;amp;&amp;amp; cd glib-2.28.8&amp;lt;br /&amp;gt;&lt;br /&gt;
./configure  --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br /&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br /&amp;gt;&lt;br /&gt;
['make check' failures are &amp;quot;OK&amp;quot;]&amp;lt;br /&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
cd /packages &amp;amp;&amp;amp; wget &amp;quot;ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.26.tar.bz2&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
tar -xvjf alsa-lib-1.0.26.tar.bz2 &amp;amp;&amp;amp; cd alsa-lib-1.0.26&amp;lt;br /&amp;gt;&lt;br /&gt;
./configure --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br /&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br /&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
wget &amp;quot;http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-0.10.36.tar.gz&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
tar -xvzf gstreamer-0.10.36.tar.gz &amp;amp;&amp;amp; cd gstreamer-0.10.36&amp;lt;br /&amp;gt;&lt;br /&gt;
./configure --enable-failing-tests --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br /&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br /&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-0.10.36.tar.gz&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
tar -xvzf gst-plugins-base-0.10.36.tar.gz &amp;amp;&amp;amp; cd gst-plugins-base-0.10.36&amp;lt;br /&amp;gt;&lt;br /&gt;
export CFLAGS='-msse -mmmx -msse2' &amp;amp;&amp;amp; export CXXFLAGS='-msse -mmmx -msse2'&amp;lt;br /&amp;gt;&lt;br /&gt;
./configure --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br /&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_config.log&amp;lt;br /&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
wget &amp;quot;http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-0.10.31.tar.gz&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
export CFLAGS='-msse -mmmx -msse2' &amp;amp;&amp;amp; export CXXFLAGS='-msse -mmmx -msse2'&amp;lt;br /&amp;gt;&lt;br /&gt;
tar -xvzf gst-plugins-good-0.10.31.tar.gz &amp;amp;&amp;amp; cd gst-plugins-good-0.10.31&amp;lt;br /&amp;gt;&lt;br /&gt;
./configure --enable-experimental --enable-orc --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_configure.log&amp;lt;br /&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br /&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br /&amp;gt;&lt;br /&gt;
svn checkout http://gst-plugins-elphel.googlecode.com/svn/trunk/ gst-plugins-elphel &amp;lt;br /&amp;gt;&lt;br /&gt;
cd gst-plugins-elphel/jp462bayer&amp;lt;br /&amp;gt;&lt;br /&gt;
./autogen &amp;amp;&amp;gt;gsc_autogen.log&amp;lt;br /&amp;gt;&lt;br /&gt;
./configure --enable-debug --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br /&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br /&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br /&amp;gt;&lt;br /&gt;
cd ../bayer2rgb2/&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
cd /packages&amp;lt;br /&amp;gt;&lt;br /&gt;
wget &amp;quot;http://jackaudio.org/downloads/jack-audio-connection-kit-0.121.3.tar.gz&amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
tar -xvzf jack-audio-connection-kit-0.121.3.tar.gz &amp;amp;&amp;amp; cd jack-audio-connection-kit-0.121.3&amp;lt;br /&amp;gt;&lt;br /&gt;
vi tools/alsa_in.c, change:&amp;lt;br /&amp;gt;&lt;br /&gt;
delay = snd_pcm_avail( alsa_handle );  ==to==&amp;lt;br /&amp;gt;&lt;br /&gt;
delay = snd_pcm_avail_update( alsa_handle );&amp;lt;br /&amp;gt;&lt;br /&gt;
vi tools/alsa_out.c, change:&amp;lt;br /&amp;gt;&lt;br /&gt;
delay = (num_periods*period_size)-snd_pcm_avail( alsa_handle ) ; ==to==&amp;lt;br /&amp;gt;&lt;br /&gt;
delay = (num_periods*period_size)-snd_pcm_avail_update( alsa_handle ) ;&amp;lt;br /&amp;gt;&lt;br /&gt;
[Breaks alsa_in, alsa_out playback/recording but enables compilation...]&amp;lt;br /&amp;gt;&lt;br /&gt;
./configure --enable-optimize --prefix=/packages/openvideopro &amp;amp;&amp;gt;gsc_config.log&amp;lt;br /&amp;gt;&lt;br /&gt;
make V=1 &amp;amp;&amp;gt;gsc_make.log&amp;lt;br /&amp;gt;&lt;br /&gt;
make install &amp;amp;&amp;gt;gsc_install.log&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
updatedb&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Close any extra windows, file caching services, ''etc.''&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Set CPU cores to &amp;gt;= 3.2GHz&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Stress-test CPU temperature stability (necessary, but proceed at own risk):&amp;lt;br /&amp;gt;&lt;br /&gt;
burnMMX &amp;amp; burnMMX &amp;amp; burnMMX &amp;amp; burnMMX&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Disable screensaver, start JACK, launch GStreamer pipeline, renice pipeline to -18, set color controls via Elphel web interface (adjust brightness to achieve 18FPS, most other controls work).&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
To use Totem from the command line:&amp;lt;br /&amp;gt;&lt;br /&gt;
unset GST_PLUGIN_SYSTEM_PATH &amp;amp;&amp;amp; unset GST_PLUGIN_PATH&amp;lt;br /&amp;gt;&lt;br /&gt;
totem &amp;lt;br /&amp;gt;&lt;br /&gt;
rm -Rf ~/.gstreamer-0.10&amp;lt;br /&amp;gt;&lt;br /&gt;
exit&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/GST_cookbook</id>
		<title>GST cookbook</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/GST_cookbook"/>
				<updated>2013-03-18T12:45:20Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: /* Elphel JP4 FullHD pipeline */ new section (w/o notes)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In addition to being a powerful multimedia infrastructure for applications Gstreamer is also a useful tool for general manipulations of multimedia data.  By invoking gst-launch from the command-line with a custom pipeline many useful processing steps are possible.&lt;br /&gt;
&lt;br /&gt;
Gstreamer also usually has good support for Xiph-related formats. &lt;br /&gt;
&lt;br /&gt;
Unfortunately, it can be rather difficult to figure out an appropriate pipeline without a starting point.&lt;br /&gt;
&lt;br /&gt;
Here are some useful examples: &amp;lt;!-- Don't complain about the selection of examples, I started this simply by grepping my shell history. Feel free to submit more and/or improve the existing ones --gmaxwell --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Encode a .wav to Vorbis:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.wav&amp;quot;  ! wavparse ! audioconvert ! vorbisenc ! oggmux ! filesink location=&amp;quot;OUTPUT.ogg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Dump a Theora video to PNGs:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.ogv&amp;quot; !  oggdemux ! theoradec ! ffmpegcolorspace ! pngenc snapshot=false ! multifilesink location=&amp;quot;OUTPUT%04d.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Transmux a MKV (containing vorbis and theora) to Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.mkv&amp;quot; ! matroskademux name=d ! video/x-theora ! queue ! theoraparse ! oggmux name=mux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot; d. ! audio/x-vorbis ! queue ! vorbisparse ! queue ! mux.&lt;br /&gt;
&lt;br /&gt;
===Encode a y4m to lossless Dirac in Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.y4m&amp;quot; ! decodebin ! schroenc force-profile=vc2_main rate-control=lossless ! oggmux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Pull from a windows media stream, transcode to Ogg/Theora+Vorbis and send to a icecast server:===&lt;br /&gt;
(may require purchasing Fluendo plugins for decoding the encumbered codecs)&lt;br /&gt;
*gst-launch uridecodebin uri=mms://SOURCE.SERVER.COM/path name=d ! queue max-size-time=100000000 ! ffmpegcolorspace ! theoraenc bitrate=800 ! oggmux name=mux ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv d. ! queue max-size-time=100000000 ! audioconvert ! vorbisenc ! mux.&lt;br /&gt;
&lt;br /&gt;
===Capture video from a webcam, encode to an Ogg Theora file, decode and display on screen, write to a file whose name is the current date+time, and stream to an IceCast server===&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! 'video/x-raw-yuv, width=640, height=480' ! videorate ! 'video/x-raw-yuv, framerate=15/1' ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=150 ! oggmux ! tee name=ogged ! queue max-size-bytes=100000000 max-size-time=0 ! oggdemux ! theoradec ! xvimagesink sync=false force-aspect-ratio=true ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=`date +%F_%T`.ogv ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv streamname=YOURSTREAMNAME description=YOURDESCRIPTION genre=YOURGENRE url=YOURSTREAMURL ogged.&lt;br /&gt;
&lt;br /&gt;
===A v4l2 source + ALSA source -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*dov4l -i [0|1] -m NTSC&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! videoscale ! video/x-raw-yuv,width=320,height=240,framerate=30000/1001,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=400 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
:Note that the above pipeline will slowly lose audio/video synchronization due to hardware-level limitations in audio vs. video capture of media samples.  FireWire and SDI-based capture does not have these limitations.&lt;br /&gt;
&lt;br /&gt;
===Two v4l2 sources combined side-by-side into rectangular video + ALSA -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video0:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video1:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*gst-launch --eos-on-shutdown v4l2src device=/dev/video0 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0  ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videomixer name=mix ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=600 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0  ! shout2send ip=icecast-server.com password=hackme mount=/mountpoint.ogv  v4l2src device=/dev/video1 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 !  queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=5/1 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videobox border-alpha=0 fill=green left=-320 ! mix.&lt;br /&gt;
&lt;br /&gt;
===Create a video with an alpha channel from a sequence of PNG files===&lt;br /&gt;
*gst-launch-0.10 multifilesrc location=images%05d.png caps=&amp;quot;image/png,framerate=1/1,pixel-aspect-ratio=1/1&amp;quot; num-buffers=95 ! pngdec ! videorate ! alphacolor ! &amp;quot;video/x-raw-yuv,format=(fourcc)AYUV&amp;quot; ! matroskamux ! filesink location=images_raw.mkv&lt;br /&gt;
&lt;br /&gt;
===Capture from a 1680x1050 GNOME Desktop, Combine with ALSA -&amp;gt; Ogg Theora + Vorbis -&amp;gt; Icecast===&lt;br /&gt;
*gst-launch  --eos-on-shutdown ximagesrc ! capsfilter caps=video/x-raw-rgb,framerate=3/1,width=1680,height=1050  ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-rgb, width=1056, height=660 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=450 keyframe-auto=false keyframe-force=12 keyframe-freq=12 speed-level=0 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:0,0 ! audio/x-raw-init,rate=44100,channels=1 ! queue max-size-bytes=100000000 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
*Icecast will need to be built from SVN (ver. 2.3.2 fails to relay data due to a bug)&lt;br /&gt;
*Viewers will need better-than-average internet connectivity (around 1.5Mbits/sec)&lt;br /&gt;
*The simplest way to capture audio events is to place a mic next to computer speakers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Live-stream a high-resolution Mac OSX Desktop at 1 FPS===&lt;br /&gt;
*Tested on Version 10.6.8, newer releases not compatible with [https://github.com/davibe/osximagesrc osximagesrc]&lt;br /&gt;
&lt;br /&gt;
gst-launch --eos-on-shutdown osximagesrc ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! videoscale method=4-tap ! video/x-raw-yuv, width=960, height=600 ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=360 keyframe-auto=false keyframe-force=3 keyframe-freq=3 speed-level=0 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=host.com password=hackme mount=/mountpoint.ogv&lt;br /&gt;
&lt;br /&gt;
If the screen resolution is set to mirrored 1024x640 (?), start the following ''then'' plug in the video display cable:&lt;br /&gt;
*gst-launch --eos-on-shutdown osximagesrc ! queue max-size-time=0 max-size-bytes=100000000 ! ffmpegcolorspace ! queue max-size-time=0 max-size-bytes=100000000 ! videocrop right=256 top=32 ! queue max-size-time=0 max-size-bytes=100000000 ! videoscale ! video/x-raw-yuv, width=658, height=486 ! queue max-size-time=0 max-size-bytes=100000000 ! theoraenc bitrate=300 keyframe-auto=false keyframe-force=3 keyframe-freq=3 speed-level=0 drop-frames=false ! queue max-size-time=0 max-size-bytes=100000000 ! oggmux ! queue  max-size-time=0 max-size-bytes=100000000 ! shout2send ip=host.com port=8000 password=hackme mount=/mountpoint.ogv&lt;br /&gt;
&lt;br /&gt;
*Streamed Keynote talks will stream the Presenter's View -- no switching between display mirrors&lt;br /&gt;
*Full-screen Flash video doesn't stream, but doesn't halt the pipeline&lt;br /&gt;
&lt;br /&gt;
===Live-stream an Elphel 353L camera, combine with on-laptop audio capture, save a high-res copy to disk, and view live video on-screen===&lt;br /&gt;
*Tested on an 2.4GHz Core i3 running at ≥2.0GHz.  Both CPU cores should be at ~50% continuously-smooth utilization after the first ~15 seconds; battery-only power or overheating may throttle the CPU thus leading to dropped samples.&lt;br /&gt;
*Set the camera to 2592x1120 @ 18FPS.  Adjust camera controls to ensure the camera achieves this framerate.&lt;br /&gt;
*Kill/renice any resource-competitive applications (file indexing services, Firefox, Audacity, etc.)&lt;br /&gt;
*qjackctl &amp;amp;  → Start JACK in realtime priority&lt;br /&gt;
&lt;br /&gt;
*gst-launch -e &amp;lt;span style=&amp;quot;color:#8B0000&amp;quot;&amp;gt;rtspsrc location=rtsp://192.168.0.9:554 latency=100 ! queue max-size-bytes=100000000 max-size-time=0 ! rtpjpegdepay ! queue max-size-bytes=100000000 max-size-time=0 ! jpegdec ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=18/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=1296, height=560 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=&amp;lt;/span&amp;gt;'''halfres''' ! &amp;lt;span style=&amp;quot;color:#4B0082&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! jpegenc ! queue max-size-bytes=100000000 max-size-time=0 ! matroskamux name=mux&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color:#C71585&amp;quot;&amp;gt;jackaudiosrc connect=1 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=&amp;lt;/span&amp;gt;'''jackaudio''' ! &amp;lt;span style=&amp;quot;color:#C71585&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0&amp;lt;/span&amp;gt; ! &amp;lt;span style=&amp;quot;color:#4B0082&amp;quot;&amp;gt;mux.&amp;lt;/span&amp;gt;{{pad|1em}}'''mux.''' ! &amp;lt;span style=&amp;quot;color:#FFB6C1&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! filesink location=elphel_recording_`date +%F_%T`.mkv&amp;lt;/span&amp;gt;{{pad|1em}}'''halfres.''' ! &amp;lt;span style=&amp;quot;color:#006400&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=648, height=280 ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=450 speed-level=1 ! queue max-size-bytes=100000000 max-size-time=0  ! oggmux name=livestream&amp;lt;/span&amp;gt; '''jackaudio.''' ! &amp;lt;span style=&amp;quot;color:#4682B4&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc  ! queue max-size-bytes=100000000 max-size-time=0&amp;lt;/span&amp;gt; ! &amp;lt;span style=&amp;quot;color:#006400&amp;quot;&amp;gt;livestream.&amp;lt;/span&amp;gt;{{pad|1em}}'''livestream.''' ! &amp;lt;span style=&amp;quot;color:#CD5C5C;&amp;quot;&amp;gt; queue max-size-bytes=0 max-size-time=0 !  shout2send ip=host.com port=[80|8000] password=hackme mount=/mountpoint.ogv&amp;lt;/span&amp;gt;{{pad|1em}}'''halfres.''' ! &amp;lt;span style=&amp;quot;color:#FF8C00;&amp;quot;&amp;gt;videoscale add-borders=true ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! xvimagesink sync=false&amp;lt;/span&amp;gt;&lt;br /&gt;
*Expect a ~50GB recording for 8hrs. of recording depending on image complexity (''e.g.'', filming a night sky vs. a waterfall).  The Matroska recording may be viewed directly in VLC (≥2.0 recommended) and may be transcoded to commonly-used formats ''via'' [http://www.mirovideoconverter.com/ Miro Video Converter] or [http://firefogg.org/ Firefogg].&lt;br /&gt;
:Alternatively: ffmpeg -i elphel_recording.mkv -acodec libfaac -ab 128k -pass 1 -vcodec libx264 -vpre slow -vpre main -b 8000k -threads 8 -f mp4 -y elphel_recording.mp4 &lt;br /&gt;
&lt;br /&gt;
====Same as above, but simultaneously broadcast in H.264 ====&lt;br /&gt;
*Experimental; use latest git checkouts&lt;br /&gt;
*Tested with [http://www.rtmpd.com/ crtmpserver] (works) and [http://momentvideo.org/ Moment Video Server] (in theory)&lt;br /&gt;
:If Moment, remove 'pingTimerTick' 'from moment/rtmp_connection.cpp' to avoid stream resets&lt;br /&gt;
:Test stream availability with [http://dl.dropbox.com/u/2918563/flvplayback.swf this tool.]&lt;br /&gt;
:Toggle 'byte-stream=[true|false]' and '[tcpclientsink|rtmpsink]' as necessary, possibly '[flvmux|mp4mux]' if needed.&lt;br /&gt;
::'rtmpsink' isn't yet compatible with Akamai&lt;br /&gt;
*Substitute 'videotestsrc is-live=true' for 'rtspsrc ... jpegdec' and 'audiotestsrc freq=432' for 'jackaudiosrc connect=1' for testing.&lt;br /&gt;
&lt;br /&gt;
*gst-launch-0.10 -e rtspsrc location=rtsp://192.168.0.9:554 latency=100 ! queue max-size-bytes=100000000 max-size-time=0 ! rtpjpegdepay ! queue max-size-bytes=100000000 max-size-time=0 ! jpegdec ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=18/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=1296, height=560 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=halfres ! queue max-size-bytes=100000000 max-size-time=0 ! jpegenc ! queue max-size-bytes=100000000 max-size-time=0 ! matroskamux name=mkvmux jackaudiosrc connect=1 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=jackaudio ! queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=vorbisaudio ! queue max-size-bytes=100000000 max-size-time=0 ! mkvmux. mkvmux. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=elphel_recording_`date +%F_%T`.mkv  halfres. ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=648, height=280 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=quarterres !  queue max-size-bytes=100000000 max-size-time=0 ! x264enc sliced-threads=true cabac=true intra-refresh=false quantizer=22 rc-lookahead=15 bitrate=600 tune=zerolatency byte-stream=false ! queue max-size-bytes=100000000 max-size-time=0 ! flvmux streamable=true name=flvmux jackaudio. ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! queue max-size-bytes=100000000 max-size-time=0 ! faac ! queue max-size-bytes=100000000 max-size-time=0 ! flvmux.  flvmux. ! queue max-size-bytes=0 max-size-time=0 ! tcpclientsink host=127.0.0.1 port=6666  quarterres. ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=600 speed-level=1 ! queue max-size-bytes=100000000 max-size-time=0  ! oggmux name=livestream jackaudio. ! queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! livestream. livestream. ! queue max-size-bytes=0 max-size-time=0 ! shout2send ip=host.com port=[80|8000] password=hackme mount=/mountpoint.ogv  halfres. ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! xvimagesink sync=false&lt;br /&gt;
&lt;br /&gt;
===Dump Stills From the Resulting High-Res Elphel Recording Into a Folder===&lt;br /&gt;
*gst-launch filesrc location=recording.mkv ! matroskademux ! videorate ! image/jpeg,framerate=1/10 ! multifilesink location=&amp;quot;OUTPUT%04d.jpg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Remove any colons from the input filename to avoid BASH issues&lt;br /&gt;
*Change the framerate to control the time interval between image stills and number of produced stills&lt;br /&gt;
*No queue elements are necessary&lt;br /&gt;
*Results in a lot of disk I/O; solid state drives would be helpful here&lt;br /&gt;
&lt;br /&gt;
===Mix Three Video Sources Side-by-Side-by-Side===&lt;br /&gt;
*gst-launch --eos-on-shutdown videotestsrc pattern=6 is-live=true ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv,width=320,height=240 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0 ! clockoverlay halignment=1 valignment=1 shaded-background=true font-desc=&amp;quot;Sans Bold 80&amp;quot; ypad=80 ! queue max-size-bytes=100000000 max-size-time=0 ! videobox border-alpha=0 fill=green left=-320 ! queue max-size-bytes=100000000 max-size-time=0 ! videomixer name=mix ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! ximagesink sync=false videotestsrc is-live=true ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv,width=320,height=240 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videobox border-alpha=0 fill=blue left=-640 ! queue max-size-bytes=100000000 max-size-time=0 !  mix.  videotestsrc pattern=11 ! &amp;quot;video/x-raw-yuv, width=352, height=240&amp;quot; ! queue max-size-bytes=100000000 max-size-time=0 ! mix.&lt;br /&gt;
&lt;br /&gt;
===Live-stream an Elphel 353L camera set at 'FullHD' JP46, combine with realtime audio, save a high-res copy to disk, and monitor live audio+video on-screen===&lt;br /&gt;
*jackd -R -d alsa -C -d hw:2 -r 48000 -i 1&lt;br /&gt;
*gst-launch-0.10 -e rtspsrc location=rtsp://192.168.1.50:554 protocols=0x00000001 latency=100 ! rtpjpegdepay ! queue max-size-bytes=1000000000 max-size-time=0 ! videorate force-fps=18 ! queue max-size-bytes=1000000000 max-size-time=0 ! jpegdec max-errors=-1 idct-method=2 ! queue max-size-bytes=1000000000 max-size-time=0 ! jp462bayer threads=4 ! &amp;quot;video/x-raw-bayer, width=(int)1920, height=(int)1088, format=(string)grbg&amp;quot; ! queue max-size-bytes=1000000000 max-size-time=0 ! bayer2rgb2 method=0 ! queue max-size-bytes=1000000000 max-size-time=0 ! ffmpegcolorspace ! &amp;quot;video/x-raw-yuv, format=(fourcc)I420&amp;quot; ! queue max-size-bytes=1000000000 max-size-time=0 ! videobalance saturation=1.9 ! queue max-size-bytes=1000000000 max-size-time=0 ! tee name=fullHD ! queue max-size-bytes=100000000 max-size-time=0 ! jpegenc idct-method=2 ! queue max-size-bytes=100000000 max-size-time=0 ! matroskamux name=mux  jackaudiosrc connect=1 ! queue max-size-time=0 ! audio/x-raw-float,channels=1 ! queue max-size-time=0 ! tee name=jackaudio ! queue max-size-time=0 ! vorbisenc max-bitrate=80000 ! queue max-size-time=0 ! tee name=vorbisaudio ! queue max-size-time=0 ! mux.  mux. ! queue max-size-bytes=1000000000 max-size-time=0 ! filesink location=elphel_recording_`date +%s`.mkv sync=false  fullHD. ! queue max-size-bytes=1000000000 max-size-time=0 ! videoscale ! &amp;quot;video/x-raw-yuv, width=640, height=363, aspect-ratio=(fraction)1/1&amp;quot; ! queue max-size-bytes=1000000000 max-size-time=0 ! tee name=downsample ! queue max-size-bytes=1000000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=1000000000 max-size-time=0 ! ximagesink pixel-aspect-ratio=1/1 sync=false downsample. ! queue max-size-bytes=100000000 max-size-time=0 ! queue max-size-bytes=1000000000 max-size-time=0 ! theoraenc bitrate=550 speed-level=1 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=livestream  vorbisaudio. ! queue max-size-time=0 ! livestream.  livestream. ! queue max-size-bytes=0 max-size-time=0 ! shout2send ip=host.com port=[80|8000] password=hackme mount=/mountpoint.ogv  jackaudio. ! queue max-size-time=0 ! audioconvert ! queue max-size-time=0 ! alsasink&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/GST_cookbook</id>
		<title>GST cookbook</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/GST_cookbook"/>
				<updated>2012-08-09T02:36:14Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: add prototype of multi-source video mixing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In addition to being a powerful multimedia infrastructure for applications Gstreamer is also a useful tool for general manipulations of multimedia data.  By invoking gst-launch from the command-line with a custom pipeline many useful processing steps are possible.&lt;br /&gt;
&lt;br /&gt;
Gstreamer also usually has good support for Xiph-related formats. &lt;br /&gt;
&lt;br /&gt;
Unfortunately, it can be rather difficult to figure out an appropriate pipeline without a starting point.&lt;br /&gt;
&lt;br /&gt;
Here are some useful examples: &amp;lt;!-- Don't complain about the selection of examples, I started this simply by grepping my shell history. Feel free to submit more and/or improve the existing ones --gmaxwell --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Encode a .wav to Vorbis:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.wav&amp;quot;  ! wavparse ! audioconvert ! vorbisenc ! oggmux ! filesink location=&amp;quot;OUTPUT.ogg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Dump a Theora video to PNGs:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.ogv&amp;quot; !  oggdemux ! theoradec ! ffmpegcolorspace ! pngenc snapshot=false ! multifilesink location=&amp;quot;OUTPUT%04d.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Transmux a MKV (containing vorbis and theora) to Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.mkv&amp;quot; ! matroskademux name=d ! video/x-theora ! queue ! theoraparse ! oggmux name=mux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot; d. ! audio/x-vorbis ! queue ! vorbisparse ! queue ! mux.&lt;br /&gt;
&lt;br /&gt;
===Encode a y4m to lossless Dirac in Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.y4m&amp;quot; ! decodebin ! schroenc force-profile=vc2_main rate-control=lossless ! oggmux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Pull from a windows media stream, transcode to Ogg/Theora+Vorbis and send to a icecast server:===&lt;br /&gt;
(may require purchasing Fluendo plugins for decoding the encumbered codecs)&lt;br /&gt;
*gst-launch uridecodebin uri=mms://SOURCE.SERVER.COM/path name=d ! queue max-size-time=100000000 ! ffmpegcolorspace ! theoraenc bitrate=800 ! oggmux name=mux ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv d. ! queue max-size-time=100000000 ! audioconvert ! vorbisenc ! mux.&lt;br /&gt;
&lt;br /&gt;
===Capture video from a webcam, encode to an Ogg Theora file, decode and display on screen, write to a file whose name is the current date+time, and stream to an IceCast server===&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! 'video/x-raw-yuv, width=640, height=480' ! videorate ! 'video/x-raw-yuv, framerate=15/1' ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=150 ! oggmux ! tee name=ogged ! queue max-size-bytes=100000000 max-size-time=0 ! oggdemux ! theoradec ! xvimagesink sync=false force-aspect-ratio=true ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=`date +%F_%T`.ogv ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv streamname=YOURSTREAMNAME description=YOURDESCRIPTION genre=YOURGENRE url=YOURSTREAMURL ogged.&lt;br /&gt;
&lt;br /&gt;
===A v4l2 source + ALSA source -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*dov4l -i [0|1] -m NTSC&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! videoscale ! video/x-raw-yuv,width=320,height=240,framerate=30000/1001,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=400 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
:Note that the above pipeline will slowly lose audio/video synchronization due to hardware-level limitations in audio vs. video capture of media samples.  FireWire and SDI-based capture does not have these limitations.&lt;br /&gt;
&lt;br /&gt;
===Two v4l2 sources combined side-by-side into rectangular video + ALSA -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video0:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video1:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*gst-launch --eos-on-shutdown v4l2src device=/dev/video0 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0  ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videomixer name=mix ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=600 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0  ! shout2send ip=icecast-server.com password=hackme mount=/mountpoint.ogv  v4l2src device=/dev/video1 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 !  queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=5/1 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videobox border-alpha=0 fill=green left=-320 ! mix.&lt;br /&gt;
&lt;br /&gt;
===Create a video with an alpha channel from a sequence of PNG files===&lt;br /&gt;
*gst-launch-0.10 multifilesrc location=images%05d.png caps=&amp;quot;image/png,framerate=1/1,pixel-aspect-ratio=1/1&amp;quot; num-buffers=95 ! pngdec ! videorate ! alphacolor ! &amp;quot;video/x-raw-yuv,format=(fourcc)AYUV&amp;quot; ! matroskamux ! filesink location=images_raw.mkv&lt;br /&gt;
&lt;br /&gt;
===Capture from a 1680x1050 GNOME Desktop, Combine with ALSA -&amp;gt; Ogg Theora + Vorbis -&amp;gt; Icecast===&lt;br /&gt;
*gst-launch  --eos-on-shutdown ximagesrc ! capsfilter caps=video/x-raw-rgb,framerate=3/1,width=1680,height=1050  ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-rgb, width=1056, height=660 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=450 keyframe-auto=false keyframe-force=12 keyframe-freq=12 speed-level=0 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:0,0 ! audio/x-raw-init,rate=44100,channels=1 ! queue max-size-bytes=100000000 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
*Icecast will need to be built from SVN (ver. 2.3.2 fails to relay data due to a bug)&lt;br /&gt;
*Viewers will need better-than-average internet connectivity (around 1.5Mbits/sec)&lt;br /&gt;
*The simplest way to capture audio events is to place a mic next to computer speakers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Live-stream a high-resolution Mac OSX Desktop at 1 FPS===&lt;br /&gt;
*Tested on Version 10.6.8, newer releases not compatible with [https://github.com/davibe/osximagesrc osximagesrc]&lt;br /&gt;
&lt;br /&gt;
gst-launch --eos-on-shutdown osximagesrc ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! videoscale method=4-tap ! video/x-raw-yuv, width=960, height=600 ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=360 keyframe-auto=false keyframe-force=3 keyframe-freq=3 speed-level=0 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=host.com password=hackme mount=/mountpoint.ogv&lt;br /&gt;
&lt;br /&gt;
If the screen resolution is set to mirrored 1024x640 (?), start the following ''then'' plug in the video display cable:&lt;br /&gt;
*gst-launch --eos-on-shutdown osximagesrc ! queue max-size-time=0 max-size-bytes=100000000 ! ffmpegcolorspace ! queue max-size-time=0 max-size-bytes=100000000 ! videocrop right=256 top=32 ! queue max-size-time=0 max-size-bytes=100000000 ! videoscale ! video/x-raw-yuv, width=658, height=486 ! queue max-size-time=0 max-size-bytes=100000000 ! theoraenc bitrate=300 keyframe-auto=false keyframe-force=3 keyframe-freq=3 speed-level=0 drop-frames=false ! queue max-size-time=0 max-size-bytes=100000000 ! oggmux ! queue  max-size-time=0 max-size-bytes=100000000 ! shout2send ip=host.com port=8000 password=hackme mount=/mountpoint.ogv&lt;br /&gt;
&lt;br /&gt;
*Streamed Keynote talks will stream the Presenter's View -- no switching between display mirrors&lt;br /&gt;
*Full-screen Flash video doesn't stream, but doesn't halt the pipeline&lt;br /&gt;
&lt;br /&gt;
===Live-stream an Elphel 353L camera, combine with on-laptop audio capture, save a high-res copy to disk, and view live video on-screen===&lt;br /&gt;
*Tested on an 2.4GHz Core i3 running at ≥2.0GHz.  Both CPU cores should be at ~50% continuously-smooth utilization after the first ~15 seconds; battery-only power or overheating may throttle the CPU thus leading to dropped samples.&lt;br /&gt;
*Set the camera to 2592x1120 @ 18FPS.  Adjust camera controls to ensure the camera achieves this framerate.&lt;br /&gt;
*Kill/renice any resource-competitive applications (file indexing services, Firefox, Audacity, etc.)&lt;br /&gt;
*qjackctl &amp;amp;  → Start JACK in realtime priority&lt;br /&gt;
&lt;br /&gt;
*gst-launch -e &amp;lt;span style=&amp;quot;color:#8B0000&amp;quot;&amp;gt;rtspsrc location=rtsp://192.168.0.9:554 latency=100 ! queue max-size-bytes=100000000 max-size-time=0 ! rtpjpegdepay ! queue max-size-bytes=100000000 max-size-time=0 ! jpegdec ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=18/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=1296, height=560 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=&amp;lt;/span&amp;gt;'''halfres''' ! &amp;lt;span style=&amp;quot;color:#4B0082&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! jpegenc ! queue max-size-bytes=100000000 max-size-time=0 ! matroskamux name=mux&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color:#C71585&amp;quot;&amp;gt;jackaudiosrc connect=1 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=&amp;lt;/span&amp;gt;'''jackaudio''' ! &amp;lt;span style=&amp;quot;color:#C71585&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0&amp;lt;/span&amp;gt; ! &amp;lt;span style=&amp;quot;color:#4B0082&amp;quot;&amp;gt;mux.&amp;lt;/span&amp;gt;{{pad|1em}}'''mux.''' ! &amp;lt;span style=&amp;quot;color:#FFB6C1&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! filesink location=elphel_recording_`date +%F_%T`.mkv&amp;lt;/span&amp;gt;{{pad|1em}}'''halfres.''' ! &amp;lt;span style=&amp;quot;color:#006400&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=648, height=280 ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=450 speed-level=1 ! queue max-size-bytes=100000000 max-size-time=0  ! oggmux name=livestream&amp;lt;/span&amp;gt; '''jackaudio.''' ! &amp;lt;span style=&amp;quot;color:#4682B4&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc  ! queue max-size-bytes=100000000 max-size-time=0&amp;lt;/span&amp;gt; ! &amp;lt;span style=&amp;quot;color:#006400&amp;quot;&amp;gt;livestream.&amp;lt;/span&amp;gt;{{pad|1em}}'''livestream.''' ! &amp;lt;span style=&amp;quot;color:#CD5C5C;&amp;quot;&amp;gt; queue max-size-bytes=0 max-size-time=0 !  shout2send ip=host.com port=[80|8000] password=hackme mount=/mountpoint.ogv&amp;lt;/span&amp;gt;{{pad|1em}}'''halfres.''' ! &amp;lt;span style=&amp;quot;color:#FF8C00;&amp;quot;&amp;gt;videoscale add-borders=true ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! xvimagesink sync=false&amp;lt;/span&amp;gt;&lt;br /&gt;
*Expect a ~50GB recording for 8hrs. of recording depending on image complexity (''e.g.'', filming a night sky vs. a waterfall).  The Matroska recording may be viewed directly in VLC (≥2.0 recommended) and may be transcoded to commonly-used formats ''via'' [http://www.mirovideoconverter.com/ Miro Video Converter] or [http://firefogg.org/ Firefogg].&lt;br /&gt;
:Alternatively: ffmpeg -i elphel_recording.mkv -acodec libfaac -ab 128k -pass 1 -vcodec libx264 -vpre slow -vpre main -b 8000k -threads 8 -f mp4 -y elphel_recording.mp4 &lt;br /&gt;
&lt;br /&gt;
====Same as above, but simultaneously broadcast in H.264 ====&lt;br /&gt;
*Experimental; use latest git checkouts&lt;br /&gt;
*Tested with [http://www.rtmpd.com/ crtmpserver] (works) and [http://momentvideo.org/ Moment Video Server] (in theory)&lt;br /&gt;
:If Moment, remove 'pingTimerTick' 'from moment/rtmp_connection.cpp' to avoid stream resets&lt;br /&gt;
:Test stream availability with [http://dl.dropbox.com/u/2918563/flvplayback.swf this tool.]&lt;br /&gt;
:Toggle 'byte-stream=[true|false]' and '[tcpclientsink|rtmpsink]' as necessary, possibly '[flvmux|mp4mux]' if needed.&lt;br /&gt;
::'rtmpsink' isn't yet compatible with Akamai&lt;br /&gt;
*Substitute 'videotestsrc is-live=true' for 'rtspsrc ... jpegdec' and 'audiotestsrc freq=432' for 'jackaudiosrc connect=1' for testing.&lt;br /&gt;
&lt;br /&gt;
*gst-launch-0.10 -e rtspsrc location=rtsp://192.168.0.9:554 latency=100 ! queue max-size-bytes=100000000 max-size-time=0 ! rtpjpegdepay ! queue max-size-bytes=100000000 max-size-time=0 ! jpegdec ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=18/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=1296, height=560 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=halfres ! queue max-size-bytes=100000000 max-size-time=0 ! jpegenc ! queue max-size-bytes=100000000 max-size-time=0 ! matroskamux name=mkvmux jackaudiosrc connect=1 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=jackaudio ! queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=vorbisaudio ! queue max-size-bytes=100000000 max-size-time=0 ! mkvmux. mkvmux. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=elphel_recording_`date +%F_%T`.mkv  halfres. ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=648, height=280 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=quarterres !  queue max-size-bytes=100000000 max-size-time=0 ! x264enc sliced-threads=true cabac=true intra-refresh=false quantizer=22 rc-lookahead=15 bitrate=600 tune=zerolatency byte-stream=false ! queue max-size-bytes=100000000 max-size-time=0 ! flvmux streamable=true name=flvmux jackaudio. ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! queue max-size-bytes=100000000 max-size-time=0 ! faac ! queue max-size-bytes=100000000 max-size-time=0 ! flvmux.  flvmux. ! queue max-size-bytes=0 max-size-time=0 ! tcpclientsink host=127.0.0.1 port=6666  quarterres. ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=600 speed-level=1 ! queue max-size-bytes=100000000 max-size-time=0  ! oggmux name=livestream jackaudio. ! queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! livestream. livestream. ! queue max-size-bytes=0 max-size-time=0 ! shout2send ip=host.com port=[80|8000] password=hackme mount=/mountpoint.ogv  halfres. ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! xvimagesink sync=false&lt;br /&gt;
&lt;br /&gt;
===Dump Stills From the Resulting High-Res Elphel Recording Into a Folder===&lt;br /&gt;
*gst-launch filesrc location=recording.mkv ! matroskademux ! videorate ! image/jpeg,framerate=1/10 ! multifilesink location=&amp;quot;OUTPUT%04d.jpg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Remove any colons from the input filename to avoid BASH issues&lt;br /&gt;
*Change the framerate to control the time interval between image stills and number of produced stills&lt;br /&gt;
*No queue elements are necessary&lt;br /&gt;
*Results in a lot of disk I/O; solid state drives would be helpful here&lt;br /&gt;
&lt;br /&gt;
===Mix Three Video Sources Side-by-Side-by-Side===&lt;br /&gt;
*gst-launch --eos-on-shutdown videotestsrc pattern=6 is-live=true ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv,width=320,height=240 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0 ! clockoverlay halignment=1 valignment=1 shaded-background=true font-desc=&amp;quot;Sans Bold 80&amp;quot; ypad=80 ! queue max-size-bytes=100000000 max-size-time=0 ! videobox border-alpha=0 fill=green left=-320 ! queue max-size-bytes=100000000 max-size-time=0 ! videomixer name=mix ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! ximagesink sync=false videotestsrc is-live=true ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv,width=320,height=240 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videobox border-alpha=0 fill=blue left=-640 ! queue max-size-bytes=100000000 max-size-time=0 !  mix.  videotestsrc pattern=11 ! &amp;quot;video/x-raw-yuv, width=352, height=240&amp;quot; ! queue max-size-bytes=100000000 max-size-time=0 ! mix.&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/GST_cookbook</id>
		<title>GST cookbook</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/GST_cookbook"/>
				<updated>2012-05-21T18:52:00Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: /* Live-stream an Elphel 353L camera... */  include Firefogg + ffmpeg conversion instructions for the .mkv recording&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In addition to being a powerful multimedia infrastructure for applications Gstreamer is also a useful tool for general manipulations of multimedia data.  By invoking gst-launch from the command-line with a custom pipeline many useful processing steps are possible.&lt;br /&gt;
&lt;br /&gt;
Gstreamer also usually has good support for Xiph-related formats. &lt;br /&gt;
&lt;br /&gt;
Unfortunately, it can be rather difficult to figure out an appropriate pipeline without a starting point.&lt;br /&gt;
&lt;br /&gt;
Here are some useful examples: &amp;lt;!-- Don't complain about the selection of examples, I started this simply by grepping my shell history. Feel free to submit more and/or improve the existing ones --gmaxwell --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Encode a .wav to Vorbis:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.wav&amp;quot;  ! wavparse ! audioconvert ! vorbisenc ! oggmux ! filesink location=&amp;quot;OUTPUT.ogg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Dump a Theora video to PNGs:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.ogv&amp;quot; !  oggdemux ! theoradec ! ffmpegcolorspace ! pngenc snapshot=false ! multifilesink location=&amp;quot;OUTPUT%04d.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Transmux a MKV (containing vorbis and theora) to Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.mkv&amp;quot; ! matroskademux name=d ! video/x-theora ! queue ! theoraparse ! oggmux name=mux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot; d. ! audio/x-vorbis ! queue ! vorbisparse ! queue ! mux.&lt;br /&gt;
&lt;br /&gt;
===Encode a y4m to lossless Dirac in Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.y4m&amp;quot; ! decodebin ! schroenc force-profile=vc2_main rate-control=lossless ! oggmux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Pull from a windows media stream, transcode to Ogg/Theora+Vorbis and send to a icecast server:===&lt;br /&gt;
(may require purchasing Fluendo plugins for decoding the encumbered codecs)&lt;br /&gt;
*gst-launch uridecodebin uri=mms://SOURCE.SERVER.COM/path name=d ! queue max-size-time=100000000 ! ffmpegcolorspace ! theoraenc bitrate=800 ! oggmux name=mux ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv d. ! queue max-size-time=100000000 ! audioconvert ! vorbisenc ! mux.&lt;br /&gt;
&lt;br /&gt;
===Capture video from a webcam, encode to an Ogg Theora file, decode and display on screen, write to a file whose name is the current date+time, and stream to an IceCast server===&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! 'video/x-raw-yuv, width=640, height=480' ! videorate ! 'video/x-raw-yuv, framerate=15/1' ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=150 ! oggmux ! tee name=ogged ! queue max-size-bytes=100000000 max-size-time=0 ! oggdemux ! theoradec ! xvimagesink sync=false force-aspect-ratio=true ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=`date +%F_%T`.ogv ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv streamname=YOURSTREAMNAME description=YOURDESCRIPTION genre=YOURGENRE url=YOURSTREAMURL ogged.&lt;br /&gt;
&lt;br /&gt;
===A v4l2 source + ALSA source -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*dov4l -i [0|1] -m NTSC&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! videoscale ! video/x-raw-yuv,width=320,height=240,framerate=30000/1001,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=400 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
:Note that the above pipeline will slowly lose audio/video synchronization due to hardware-level limitations in audio vs. video capture of media samples.  FireWire and SDI-based capture does not have these limitations.&lt;br /&gt;
&lt;br /&gt;
===Two v4l2 sources combined side-by-side into rectangular video + ALSA -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video0:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video1:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*gst-launch --eos-on-shutdown v4l2src device=/dev/video0 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0  ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videomixer name=mix ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=600 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0  ! shout2send ip=icecast-server.com password=hackme mount=/mountpoint.ogv  v4l2src device=/dev/video1 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 !  queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=5/1 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videobox border-alpha=0 fill=green left=-320 ! mix.&lt;br /&gt;
&lt;br /&gt;
===Create a video with an alpha channel from a sequence of PNG files===&lt;br /&gt;
*gst-launch-0.10 multifilesrc location=images%05d.png caps=&amp;quot;image/png,framerate=1/1,pixel-aspect-ratio=1/1&amp;quot; num-buffers=95 ! pngdec ! videorate ! alphacolor ! &amp;quot;video/x-raw-yuv,format=(fourcc)AYUV&amp;quot; ! matroskamux ! filesink location=images_raw.mkv&lt;br /&gt;
&lt;br /&gt;
===Capture from a 1680x1050 GNOME Desktop, Combine with ALSA -&amp;gt; Ogg Theora + Vorbis -&amp;gt; Icecast===&lt;br /&gt;
*gst-launch  --eos-on-shutdown ximagesrc ! capsfilter caps=video/x-raw-rgb,framerate=3/1,width=1680,height=1050  ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-rgb, width=1056, height=660 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=450 keyframe-auto=false keyframe-force=12 keyframe-freq=12 speed-level=0 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:0,0 ! audio/x-raw-init,rate=44100,channels=1 ! queue max-size-bytes=100000000 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
*Icecast will need to be built from SVN (ver. 2.3.2 fails to relay data due to a bug)&lt;br /&gt;
*Viewers will need better-than-average internet connectivity (around 1.5Mbits/sec)&lt;br /&gt;
*The simplest way to capture audio events is to place a mic next to computer speakers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Live-stream a high-resolution Mac OSX Desktop at 1 FPS===&lt;br /&gt;
*Tested on Version 10.6.8, newer releases not compatible with [https://github.com/davibe/osximagesrc osximagesrc]&lt;br /&gt;
&lt;br /&gt;
gst-launch --eos-on-shutdown osximagesrc ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! videoscale method=4-tap ! video/x-raw-yuv, width=960, height=600 ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=360 keyframe-auto=false keyframe-force=3 keyframe-freq=3 speed-level=0 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=host.com password=hackme mount=/mountpoint.ogv&lt;br /&gt;
&lt;br /&gt;
If the screen resolution is set to mirrored 1024x640 (?), start the following ''then'' plug in the video display cable:&lt;br /&gt;
*gst-launch --eos-on-shutdown osximagesrc ! queue max-size-time=0 max-size-bytes=100000000 ! ffmpegcolorspace ! queue max-size-time=0 max-size-bytes=100000000 ! videocrop right=256 top=32 ! queue max-size-time=0 max-size-bytes=100000000 ! videoscale ! video/x-raw-yuv, width=658, height=486 ! queue max-size-time=0 max-size-bytes=100000000 ! theoraenc bitrate=300 keyframe-auto=false keyframe-force=3 keyframe-freq=3 speed-level=0 drop-frames=false ! queue max-size-time=0 max-size-bytes=100000000 ! oggmux ! queue  max-size-time=0 max-size-bytes=100000000 ! shout2send ip=host.com port=8000 password=hackme mount=/mountpoint.ogv&lt;br /&gt;
&lt;br /&gt;
*Streamed Keynote talks will stream the Presenter's View -- no switching between display mirrors&lt;br /&gt;
*Full-screen Flash video doesn't stream, but doesn't halt the pipeline&lt;br /&gt;
&lt;br /&gt;
===Live-stream an Elphel 353L camera, combine with on-laptop audio capture, save a high-res copy to disk, and view live video on-screen===&lt;br /&gt;
*Tested on an 2.4GHz Core i3 running at ≥2.0GHz.  Both CPU cores should be at ~50% continuously-smooth utilization after the first ~15 seconds; battery-only power or overheating may throttle the CPU thus leading to dropped samples.&lt;br /&gt;
*Set the camera to 2592x1120 @ 18FPS.  Adjust camera controls to ensure the camera achieves this framerate.&lt;br /&gt;
*Kill/renice any resource-competitive applications (file indexing services, Firefox, Audacity, etc.)&lt;br /&gt;
*qjackctl &amp;amp;  → Start JACK in realtime priority&lt;br /&gt;
&lt;br /&gt;
*gst-launch -e &amp;lt;span style=&amp;quot;color:#8B0000&amp;quot;&amp;gt;rtspsrc location=rtsp://192.168.0.9:554 latency=100 ! queue max-size-bytes=100000000 max-size-time=0 ! rtpjpegdepay ! queue max-size-bytes=100000000 max-size-time=0 ! jpegdec ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=18/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=1296, height=560 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=&amp;lt;/span&amp;gt;'''halfres''' ! &amp;lt;span style=&amp;quot;color:#4B0082&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! jpegenc ! queue max-size-bytes=100000000 max-size-time=0 ! matroskamux name=mux&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color:#C71585&amp;quot;&amp;gt;jackaudiosrc connect=1 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=&amp;lt;/span&amp;gt;'''jackaudio''' ! &amp;lt;span style=&amp;quot;color:#C71585&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0&amp;lt;/span&amp;gt; ! &amp;lt;span style=&amp;quot;color:#4B0082&amp;quot;&amp;gt;mux.&amp;lt;/span&amp;gt;{{pad|1em}}'''mux.''' ! &amp;lt;span style=&amp;quot;color:#FFB6C1&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! filesink location=elphel_recording_`date +%F_%T`.mkv&amp;lt;/span&amp;gt;{{pad|1em}}'''halfres.''' ! &amp;lt;span style=&amp;quot;color:#006400&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=648, height=280 ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=450 speed-level=1 ! queue max-size-bytes=100000000 max-size-time=0  ! oggmux name=livestream&amp;lt;/span&amp;gt; '''jackaudio.''' ! &amp;lt;span style=&amp;quot;color:#4682B4&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc  ! queue max-size-bytes=100000000 max-size-time=0&amp;lt;/span&amp;gt; ! &amp;lt;span style=&amp;quot;color:#006400&amp;quot;&amp;gt;livestream.&amp;lt;/span&amp;gt;{{pad|1em}}'''livestream.''' ! &amp;lt;span style=&amp;quot;color:#CD5C5C;&amp;quot;&amp;gt; queue max-size-bytes=0 max-size-time=0 !  shout2send ip=host.com port=[80|8000] password=hackme mount=/mountpoint.ogv&amp;lt;/span&amp;gt;{{pad|1em}}'''halfres.''' ! &amp;lt;span style=&amp;quot;color:#FF8C00;&amp;quot;&amp;gt;videoscale add-borders=true ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! xvimagesink sync=false&amp;lt;/span&amp;gt;&lt;br /&gt;
*Expect a ~50GB recording for 8hrs. of recording depending on image complexity (''e.g.'', filming a night sky vs. a waterfall).  The Matroska recording may be viewed directly in VLC (≥2.0 recommended) and may be transcoded to commonly-used formats ''via'' [http://www.mirovideoconverter.com/ Miro Video Converter] or [http://firefogg.org/ Firefogg].&lt;br /&gt;
:Alternatively: ffmpeg -i elphel_recording.mkv -acodec libfaac -ab 128k -pass 1 -vcodec libx264 -vpre slow -vpre main -b 8000k -threads 8 -f mp4 -y elphel_recording.mp4 &lt;br /&gt;
&lt;br /&gt;
====Same as above, but simultaneously broadcast in H.264 ====&lt;br /&gt;
*Experimental; use latest git checkouts&lt;br /&gt;
*Tested with [http://www.rtmpd.com/ crtmpserver] (works) and [http://momentvideo.org/ Moment Video Server] (in theory)&lt;br /&gt;
:If Moment, remove 'pingTimerTick' 'from moment/rtmp_connection.cpp' to avoid stream resets&lt;br /&gt;
:Test stream availability with [http://dl.dropbox.com/u/2918563/flvplayback.swf this tool.]&lt;br /&gt;
:Toggle 'byte-stream=[true|false]' and '[tcpclientsink|rtmpsink]' as necessary, possibly '[flvmux|mp4mux]' if needed.&lt;br /&gt;
::'rtmpsink' isn't yet compatible with Akamai&lt;br /&gt;
*Substitute 'videotestsrc is-live=true' for 'rtspsrc ... jpegdec' and 'audiotestsrc freq=432' for 'jackaudiosrc connect=1' for testing.&lt;br /&gt;
&lt;br /&gt;
*gst-launch-0.10 -e rtspsrc location=rtsp://192.168.0.9:554 latency=100 ! queue max-size-bytes=100000000 max-size-time=0 ! rtpjpegdepay ! queue max-size-bytes=100000000 max-size-time=0 ! jpegdec ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=18/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=1296, height=560 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=halfres ! queue max-size-bytes=100000000 max-size-time=0 ! jpegenc ! queue max-size-bytes=100000000 max-size-time=0 ! matroskamux name=mkvmux jackaudiosrc connect=1 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=jackaudio ! queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=vorbisaudio ! queue max-size-bytes=100000000 max-size-time=0 ! mkvmux. mkvmux. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=elphel_recording_`date +%F_%T`.mkv  halfres. ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=648, height=280 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=quarterres !  queue max-size-bytes=100000000 max-size-time=0 ! x264enc sliced-threads=true cabac=true intra-refresh=false quantizer=22 rc-lookahead=15 bitrate=600 tune=zerolatency byte-stream=false ! queue max-size-bytes=100000000 max-size-time=0 ! flvmux streamable=true name=flvmux jackaudio. ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! queue max-size-bytes=100000000 max-size-time=0 ! faac ! queue max-size-bytes=100000000 max-size-time=0 ! flvmux.  flvmux. ! queue max-size-bytes=0 max-size-time=0 ! tcpclientsink host=127.0.0.1 port=6666  quarterres. ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=600 speed-level=1 ! queue max-size-bytes=100000000 max-size-time=0  ! oggmux name=livestream jackaudio. ! queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! livestream. livestream. ! queue max-size-bytes=0 max-size-time=0 ! shout2send ip=host.com port=[80|8000] password=hackme mount=/mountpoint.ogv  halfres. ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! xvimagesink sync=false&lt;br /&gt;
&lt;br /&gt;
===Dump Stills From the Resulting High-Res Elphel Recording Into a Folder===&lt;br /&gt;
*gst-launch filesrc location=recording.mkv ! matroskademux ! videorate ! image/jpeg,framerate=1/10 ! multifilesink location=&amp;quot;OUTPUT%04d.jpg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Remove any colons from the input filename to avoid BASH issues&lt;br /&gt;
*Change the framerate to control the time interval between image stills and number of produced stills&lt;br /&gt;
*No queue elements are necessary&lt;br /&gt;
*Results in a lot of disk I/O; solid state drives would be helpful here&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/GST_cookbook</id>
		<title>GST cookbook</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/GST_cookbook"/>
				<updated>2012-05-21T18:48:47Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: /*add H.264  subsection */  new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In addition to being a powerful multimedia infrastructure for applications Gstreamer is also a useful tool for general manipulations of multimedia data.  By invoking gst-launch from the command-line with a custom pipeline many useful processing steps are possible.&lt;br /&gt;
&lt;br /&gt;
Gstreamer also usually has good support for Xiph-related formats. &lt;br /&gt;
&lt;br /&gt;
Unfortunately, it can be rather difficult to figure out an appropriate pipeline without a starting point.&lt;br /&gt;
&lt;br /&gt;
Here are some useful examples: &amp;lt;!-- Don't complain about the selection of examples, I started this simply by grepping my shell history. Feel free to submit more and/or improve the existing ones --gmaxwell --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Encode a .wav to Vorbis:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.wav&amp;quot;  ! wavparse ! audioconvert ! vorbisenc ! oggmux ! filesink location=&amp;quot;OUTPUT.ogg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Dump a Theora video to PNGs:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.ogv&amp;quot; !  oggdemux ! theoradec ! ffmpegcolorspace ! pngenc snapshot=false ! multifilesink location=&amp;quot;OUTPUT%04d.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Transmux a MKV (containing vorbis and theora) to Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.mkv&amp;quot; ! matroskademux name=d ! video/x-theora ! queue ! theoraparse ! oggmux name=mux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot; d. ! audio/x-vorbis ! queue ! vorbisparse ! queue ! mux.&lt;br /&gt;
&lt;br /&gt;
===Encode a y4m to lossless Dirac in Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.y4m&amp;quot; ! decodebin ! schroenc force-profile=vc2_main rate-control=lossless ! oggmux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Pull from a windows media stream, transcode to Ogg/Theora+Vorbis and send to a icecast server:===&lt;br /&gt;
(may require purchasing Fluendo plugins for decoding the encumbered codecs)&lt;br /&gt;
*gst-launch uridecodebin uri=mms://SOURCE.SERVER.COM/path name=d ! queue max-size-time=100000000 ! ffmpegcolorspace ! theoraenc bitrate=800 ! oggmux name=mux ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv d. ! queue max-size-time=100000000 ! audioconvert ! vorbisenc ! mux.&lt;br /&gt;
&lt;br /&gt;
===Capture video from a webcam, encode to an Ogg Theora file, decode and display on screen, write to a file whose name is the current date+time, and stream to an IceCast server===&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! 'video/x-raw-yuv, width=640, height=480' ! videorate ! 'video/x-raw-yuv, framerate=15/1' ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=150 ! oggmux ! tee name=ogged ! queue max-size-bytes=100000000 max-size-time=0 ! oggdemux ! theoradec ! xvimagesink sync=false force-aspect-ratio=true ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=`date +%F_%T`.ogv ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv streamname=YOURSTREAMNAME description=YOURDESCRIPTION genre=YOURGENRE url=YOURSTREAMURL ogged.&lt;br /&gt;
&lt;br /&gt;
===A v4l2 source + ALSA source -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*dov4l -i [0|1] -m NTSC&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! videoscale ! video/x-raw-yuv,width=320,height=240,framerate=30000/1001,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=400 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
:Note that the above pipeline will slowly lose audio/video synchronization due to hardware-level limitations in audio vs. video capture of media samples.  FireWire and SDI-based capture does not have these limitations.&lt;br /&gt;
&lt;br /&gt;
===Two v4l2 sources combined side-by-side into rectangular video + ALSA -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video0:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video1:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*gst-launch --eos-on-shutdown v4l2src device=/dev/video0 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0  ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videomixer name=mix ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=600 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0  ! shout2send ip=icecast-server.com password=hackme mount=/mountpoint.ogv  v4l2src device=/dev/video1 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 !  queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=5/1 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videobox border-alpha=0 fill=green left=-320 ! mix.&lt;br /&gt;
&lt;br /&gt;
===Create a video with an alpha channel from a sequence of PNG files===&lt;br /&gt;
*gst-launch-0.10 multifilesrc location=images%05d.png caps=&amp;quot;image/png,framerate=1/1,pixel-aspect-ratio=1/1&amp;quot; num-buffers=95 ! pngdec ! videorate ! alphacolor ! &amp;quot;video/x-raw-yuv,format=(fourcc)AYUV&amp;quot; ! matroskamux ! filesink location=images_raw.mkv&lt;br /&gt;
&lt;br /&gt;
===Capture from a 1680x1050 GNOME Desktop, Combine with ALSA -&amp;gt; Ogg Theora + Vorbis -&amp;gt; Icecast===&lt;br /&gt;
*gst-launch  --eos-on-shutdown ximagesrc ! capsfilter caps=video/x-raw-rgb,framerate=3/1,width=1680,height=1050  ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-rgb, width=1056, height=660 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=450 keyframe-auto=false keyframe-force=12 keyframe-freq=12 speed-level=0 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:0,0 ! audio/x-raw-init,rate=44100,channels=1 ! queue max-size-bytes=100000000 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
*Icecast will need to be built from SVN (ver. 2.3.2 fails to relay data due to a bug)&lt;br /&gt;
*Viewers will need better-than-average internet connectivity (around 1.5Mbits/sec)&lt;br /&gt;
*The simplest way to capture audio events is to place a mic next to computer speakers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Live-stream a high-resolution Mac OSX Desktop at 1 FPS===&lt;br /&gt;
*Tested on Version 10.6.8, newer releases not compatible with [https://github.com/davibe/osximagesrc osximagesrc]&lt;br /&gt;
&lt;br /&gt;
gst-launch --eos-on-shutdown osximagesrc ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! videoscale method=4-tap ! video/x-raw-yuv, width=960, height=600 ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=360 keyframe-auto=false keyframe-force=3 keyframe-freq=3 speed-level=0 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=host.com password=hackme mount=/mountpoint.ogv&lt;br /&gt;
&lt;br /&gt;
If the screen resolution is set to mirrored 1024x640 (?), start the following ''then'' plug in the video display cable:&lt;br /&gt;
*gst-launch --eos-on-shutdown osximagesrc ! queue max-size-time=0 max-size-bytes=100000000 ! ffmpegcolorspace ! queue max-size-time=0 max-size-bytes=100000000 ! videocrop right=256 top=32 ! queue max-size-time=0 max-size-bytes=100000000 ! videoscale ! video/x-raw-yuv, width=658, height=486 ! queue max-size-time=0 max-size-bytes=100000000 ! theoraenc bitrate=300 keyframe-auto=false keyframe-force=3 keyframe-freq=3 speed-level=0 drop-frames=false ! queue max-size-time=0 max-size-bytes=100000000 ! oggmux ! queue  max-size-time=0 max-size-bytes=100000000 ! shout2send ip=host.com port=8000 password=hackme mount=/mountpoint.ogv&lt;br /&gt;
&lt;br /&gt;
*Streamed Keynote talks will stream the Presenter's View -- no switching between display mirrors&lt;br /&gt;
*Full-screen Flash video doesn't stream, but doesn't halt the pipeline&lt;br /&gt;
&lt;br /&gt;
===Live-stream an Elphel 353L camera, combine with on-laptop audio capture, save a high-res copy to disk, and view live video on-screen===&lt;br /&gt;
*Tested on an 2.4GHz Core i3 running at ≥2.0GHz.  Both CPU cores should be at ~50% continuously-smooth utilization after the first ~15 seconds; battery-only power or overheating may throttle the CPU thus leading to dropped samples.&lt;br /&gt;
*Set the camera to 2592x1120 @ 18FPS.  Adjust camera controls to ensure the camera achieves this framerate.&lt;br /&gt;
*Kill/renice any resource-competitive applications (file indexing services, Firefox, Audacity, etc.)&lt;br /&gt;
*qjackctl &amp;amp;  → Start JACK in realtime priority&lt;br /&gt;
&lt;br /&gt;
*gst-launch -e &amp;lt;span style=&amp;quot;color:#8B0000&amp;quot;&amp;gt;rtspsrc location=rtsp://192.168.0.9:554 latency=100 ! queue max-size-bytes=100000000 max-size-time=0 ! rtpjpegdepay ! queue max-size-bytes=100000000 max-size-time=0 ! jpegdec ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=18/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=1296, height=560 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=&amp;lt;/span&amp;gt;'''halfres''' ! &amp;lt;span style=&amp;quot;color:#4B0082&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! jpegenc ! queue max-size-bytes=100000000 max-size-time=0 ! matroskamux name=mux&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color:#C71585&amp;quot;&amp;gt;jackaudiosrc connect=1 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=&amp;lt;/span&amp;gt;'''jackaudio''' ! &amp;lt;span style=&amp;quot;color:#C71585&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0&amp;lt;/span&amp;gt; ! &amp;lt;span style=&amp;quot;color:#4B0082&amp;quot;&amp;gt;mux.&amp;lt;/span&amp;gt;{{pad|1em}}'''mux.''' ! &amp;lt;span style=&amp;quot;color:#FFB6C1&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! filesink location=elphel_recording_`date +%F_%T`.mkv&amp;lt;/span&amp;gt;{{pad|1em}}'''halfres.''' ! &amp;lt;span style=&amp;quot;color:#006400&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=648, height=280 ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=450 speed-level=1 ! queue max-size-bytes=100000000 max-size-time=0  ! oggmux name=livestream&amp;lt;/span&amp;gt; '''jackaudio.''' ! &amp;lt;span style=&amp;quot;color:#4682B4&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc  ! queue max-size-bytes=100000000 max-size-time=0&amp;lt;/span&amp;gt; ! &amp;lt;span style=&amp;quot;color:#006400&amp;quot;&amp;gt;livestream.&amp;lt;/span&amp;gt;{{pad|1em}}'''livestream.''' ! &amp;lt;span style=&amp;quot;color:#CD5C5C;&amp;quot;&amp;gt; queue max-size-bytes=0 max-size-time=0 !  shout2send ip=host.com port=[80|8000] password=hackme mount=/mountpoint.ogv&amp;lt;/span&amp;gt;{{pad|1em}}'''halfres.''' ! &amp;lt;span style=&amp;quot;color:#FF8C00;&amp;quot;&amp;gt;videoscale add-borders=true ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! xvimagesink sync=false&amp;lt;/span&amp;gt;&lt;br /&gt;
*Expect a ~50GB recording for 8hrs. of recording depending on image complexity (''e.g.'', filming a night sky vs. a waterfall).  The Matroska recording may be viewed directly in VLC (≥2.0 recommended) and may be transcoded to commonly-used formats ''via'' [http://www.mirovideoconverter.com/ Miro Video Converter].&lt;br /&gt;
&lt;br /&gt;
====Same as above, but simultaneously broadcast in H.264 ====&lt;br /&gt;
*Experimental; use latest git checkouts&lt;br /&gt;
*Tested with [http://www.rtmpd.com/ crtmpserver] (works) and [http://momentvideo.org/ Moment Video Server] (in theory)&lt;br /&gt;
:If Moment, remove 'pingTimerTick' 'from moment/rtmp_connection.cpp' to avoid stream resets&lt;br /&gt;
:Test stream availability with [http://dl.dropbox.com/u/2918563/flvplayback.swf this tool.]&lt;br /&gt;
:Toggle 'byte-stream=[true|false]' and '[tcpclientsink|rtmpsink]' as necessary, possibly '[flvmux|mp4mux]' if needed.&lt;br /&gt;
::'rtmpsink' isn't yet compatible with Akamai&lt;br /&gt;
*Substitute 'videotestsrc is-live=true' for 'rtspsrc ... jpegdec' and 'audiotestsrc freq=432' for 'jackaudiosrc connect=1' for testing.&lt;br /&gt;
&lt;br /&gt;
*gst-launch-0.10 -e rtspsrc location=rtsp://192.168.0.9:554 latency=100 ! queue max-size-bytes=100000000 max-size-time=0 ! rtpjpegdepay ! queue max-size-bytes=100000000 max-size-time=0 ! jpegdec ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=18/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=1296, height=560 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=halfres ! queue max-size-bytes=100000000 max-size-time=0 ! jpegenc ! queue max-size-bytes=100000000 max-size-time=0 ! matroskamux name=mkvmux jackaudiosrc connect=1 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=jackaudio ! queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=vorbisaudio ! queue max-size-bytes=100000000 max-size-time=0 ! mkvmux. mkvmux. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=elphel_recording_`date +%F_%T`.mkv  halfres. ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=648, height=280 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=quarterres !  queue max-size-bytes=100000000 max-size-time=0 ! x264enc sliced-threads=true cabac=true intra-refresh=false quantizer=22 rc-lookahead=15 bitrate=600 tune=zerolatency byte-stream=false ! queue max-size-bytes=100000000 max-size-time=0 ! flvmux streamable=true name=flvmux jackaudio. ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! queue max-size-bytes=100000000 max-size-time=0 ! faac ! queue max-size-bytes=100000000 max-size-time=0 ! flvmux.  flvmux. ! queue max-size-bytes=0 max-size-time=0 ! tcpclientsink host=127.0.0.1 port=6666  quarterres. ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=600 speed-level=1 ! queue max-size-bytes=100000000 max-size-time=0  ! oggmux name=livestream jackaudio. ! queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! livestream. livestream. ! queue max-size-bytes=0 max-size-time=0 ! shout2send ip=host.com port=[80|8000] password=hackme mount=/mountpoint.ogv  halfres. ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! xvimagesink sync=false&lt;br /&gt;
&lt;br /&gt;
===Dump Stills From the Resulting High-Res Elphel Recording Into a Folder===&lt;br /&gt;
*gst-launch filesrc location=recording.mkv ! matroskademux ! videorate ! image/jpeg,framerate=1/10 ! multifilesink location=&amp;quot;OUTPUT%04d.jpg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Remove any colons from the input filename to avoid BASH issues&lt;br /&gt;
*Change the framerate to control the time interval between image stills and number of produced stills&lt;br /&gt;
*No queue elements are necessary&lt;br /&gt;
*Results in a lot of disk I/O; solid state drives would be helpful here&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/GST_cookbook</id>
		<title>GST cookbook</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/GST_cookbook"/>
				<updated>2012-05-03T13:24:13Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: /* Live-stream a high-resolution Mac OSX Desktop at 1 FPS */ add 2nd pipeline + notes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In addition to being a powerful multimedia infrastructure for applications Gstreamer is also a useful tool for general manipulations of multimedia data.  By invoking gst-launch from the command-line with a custom pipeline many useful processing steps are possible.&lt;br /&gt;
&lt;br /&gt;
Gstreamer also usually has good support for Xiph-related formats. &lt;br /&gt;
&lt;br /&gt;
Unfortunately, it can be rather difficult to figure out an appropriate pipeline without a starting point.&lt;br /&gt;
&lt;br /&gt;
Here are some useful examples: &amp;lt;!-- Don't complain about the selection of examples, I started this simply by grepping my shell history. Feel free to submit more and/or improve the existing ones --gmaxwell --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Encode a .wav to Vorbis:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.wav&amp;quot;  ! wavparse ! audioconvert ! vorbisenc ! oggmux ! filesink location=&amp;quot;OUTPUT.ogg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Dump a Theora video to PNGs:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.ogv&amp;quot; !  oggdemux ! theoradec ! ffmpegcolorspace ! pngenc snapshot=false ! multifilesink location=&amp;quot;OUTPUT%04d.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Transmux a MKV (containing vorbis and theora) to Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.mkv&amp;quot; ! matroskademux name=d ! video/x-theora ! queue ! theoraparse ! oggmux name=mux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot; d. ! audio/x-vorbis ! queue ! vorbisparse ! queue ! mux.&lt;br /&gt;
&lt;br /&gt;
===Encode a y4m to lossless Dirac in Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.y4m&amp;quot; ! decodebin ! schroenc force-profile=vc2_main rate-control=lossless ! oggmux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Pull from a windows media stream, transcode to Ogg/Theora+Vorbis and send to a icecast server:===&lt;br /&gt;
(may require purchasing Fluendo plugins for decoding the encumbered codecs)&lt;br /&gt;
*gst-launch uridecodebin uri=mms://SOURCE.SERVER.COM/path name=d ! queue max-size-time=100000000 ! ffmpegcolorspace ! theoraenc bitrate=800 ! oggmux name=mux ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv d. ! queue max-size-time=100000000 ! audioconvert ! vorbisenc ! mux.&lt;br /&gt;
&lt;br /&gt;
===Capture video from a webcam, encode to an Ogg Theora file, decode and display on screen, write to a file whose name is the current date+time, and stream to an IceCast server===&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! 'video/x-raw-yuv, width=640, height=480' ! videorate ! 'video/x-raw-yuv, framerate=15/1' ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=150 ! oggmux ! tee name=ogged ! queue max-size-bytes=100000000 max-size-time=0 ! oggdemux ! theoradec ! xvimagesink sync=false force-aspect-ratio=true ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=`date +%F_%T`.ogv ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv streamname=YOURSTREAMNAME description=YOURDESCRIPTION genre=YOURGENRE url=YOURSTREAMURL ogged.&lt;br /&gt;
&lt;br /&gt;
===A v4l2 source + ALSA source -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*dov4l -i [0|1] -m NTSC&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! videoscale ! video/x-raw-yuv,width=320,height=240,framerate=30000/1001,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=400 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
:Note that the above pipeline will slowly lose audio/video synchronization due to hardware-level limitations in audio vs. video capture of media samples.  FireWire and SDI-based capture does not have these limitations.&lt;br /&gt;
&lt;br /&gt;
===Two v4l2 sources combined side-by-side into rectangular video + ALSA -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video0:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video1:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*gst-launch --eos-on-shutdown v4l2src device=/dev/video0 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0  ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videomixer name=mix ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=600 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0  ! shout2send ip=icecast-server.com password=hackme mount=/mountpoint.ogv  v4l2src device=/dev/video1 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 !  queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=5/1 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videobox border-alpha=0 fill=green left=-320 ! mix.&lt;br /&gt;
&lt;br /&gt;
===Create a video with an alpha channel from a sequence of PNG files===&lt;br /&gt;
*gst-launch-0.10 multifilesrc location=images%05d.png caps=&amp;quot;image/png,framerate=1/1,pixel-aspect-ratio=1/1&amp;quot; num-buffers=95 ! pngdec ! videorate ! alphacolor ! &amp;quot;video/x-raw-yuv,format=(fourcc)AYUV&amp;quot; ! matroskamux ! filesink location=images_raw.mkv&lt;br /&gt;
&lt;br /&gt;
===Capture from a 1680x1050 GNOME Desktop, Combine with ALSA -&amp;gt; Ogg Theora + Vorbis -&amp;gt; Icecast===&lt;br /&gt;
*gst-launch  --eos-on-shutdown ximagesrc ! capsfilter caps=video/x-raw-rgb,framerate=3/1,width=1680,height=1050  ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-rgb, width=1056, height=660 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=450 keyframe-auto=false keyframe-force=12 keyframe-freq=12 speed-level=0 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:0,0 ! audio/x-raw-init,rate=44100,channels=1 ! queue max-size-bytes=100000000 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
*Icecast will need to be built from SVN (ver. 2.3.2 fails to relay data due to a bug)&lt;br /&gt;
*Viewers will need better-than-average internet connectivity (around 1.5Mbits/sec)&lt;br /&gt;
*The simplest way to capture audio events is to place a mic next to computer speakers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Live-stream a high-resolution Mac OSX Desktop at 1 FPS===&lt;br /&gt;
*Tested on Version 10.6.8, newer releases not compatible with [https://github.com/davibe/osximagesrc osximagesrc]&lt;br /&gt;
&lt;br /&gt;
gst-launch --eos-on-shutdown osximagesrc ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! videoscale method=4-tap ! video/x-raw-yuv, width=960, height=600 ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=360 keyframe-auto=false keyframe-force=3 keyframe-freq=3 speed-level=0 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=host.com password=hackme mount=/mountpoint.ogv&lt;br /&gt;
&lt;br /&gt;
If the screen resolution is set to mirrored 1024x640 (?), start the following ''then'' plug in the video display cable:&lt;br /&gt;
*gst-launch --eos-on-shutdown osximagesrc ! queue max-size-time=0 max-size-bytes=100000000 ! ffmpegcolorspace ! queue max-size-time=0 max-size-bytes=100000000 ! videocrop right=256 top=32 ! queue max-size-time=0 max-size-bytes=100000000 ! videoscale ! video/x-raw-yuv, width=658, height=486 ! queue max-size-time=0 max-size-bytes=100000000 ! theoraenc bitrate=300 keyframe-auto=false keyframe-force=3 keyframe-freq=3 speed-level=0 drop-frames=false ! queue max-size-time=0 max-size-bytes=100000000 ! oggmux ! queue  max-size-time=0 max-size-bytes=100000000 ! shout2send ip=host.com port=8000 password=hackme mount=/mountpoint.ogv&lt;br /&gt;
&lt;br /&gt;
*Streamed Keynote talks will stream the Presenter's View -- no switching between display mirrors&lt;br /&gt;
*Full-screen Flash video doesn't stream, but doesn't halt the pipeline&lt;br /&gt;
&lt;br /&gt;
===Live-stream an Elphel 353L camera, combine with on-laptop audio capture, save a high-res copy to disk, and view the video on-screen===&lt;br /&gt;
*Tested on an 2.4GHz Core i3 running at ≥2.0GHz.  Both CPU cores should be at ~50% continuously-smooth utilization after the first ~15 seconds; battery-only power or overheating may throttle the CPU thus leading to dropped samples.&lt;br /&gt;
*Set the camera to 2592x1120 @ 18FPS.  Adjust camera controls to ensure the camera achieves this framerate.&lt;br /&gt;
*Kill/renice any resource-competitive applications (file indexing services, Firefox, Audacity, etc.)&lt;br /&gt;
*qjackctl &amp;amp;  → Start JACK in realtime priority&lt;br /&gt;
&lt;br /&gt;
*gst-launch -e &amp;lt;span style=&amp;quot;color:#8B0000&amp;quot;&amp;gt;rtspsrc location=rtsp://192.168.0.9:554 latency=100 ! queue max-size-bytes=100000000 max-size-time=0 ! rtpjpegdepay ! queue max-size-bytes=100000000 max-size-time=0 ! jpegdec ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=18/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=1296, height=560 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=&amp;lt;/span&amp;gt;'''halfres''' ! &amp;lt;span style=&amp;quot;color:#4B0082&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! jpegenc ! queue max-size-bytes=100000000 max-size-time=0 ! matroskamux name=mux&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color:#C71585&amp;quot;&amp;gt;jackaudiosrc connect=1 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=&amp;lt;/span&amp;gt;'''jackaudio''' ! &amp;lt;span style=&amp;quot;color:#C71585&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0&amp;lt;/span&amp;gt; ! &amp;lt;span style=&amp;quot;color:#4B0082&amp;quot;&amp;gt;mux.&amp;lt;/span&amp;gt;{{pad|1em}}'''mux.''' ! &amp;lt;span style=&amp;quot;color:#FFB6C1&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! filesink location=elphel_recording_`date +%F_%T`.mkv&amp;lt;/span&amp;gt;{{pad|1em}}'''halfres.''' ! &amp;lt;span style=&amp;quot;color:#006400&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=648, height=280 ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=450 speed-level=1 ! queue max-size-bytes=100000000 max-size-time=0  ! oggmux name=livestream&amp;lt;/span&amp;gt; '''jackaudio.''' ! &amp;lt;span style=&amp;quot;color:#4682B4&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc  ! queue max-size-bytes=100000000 max-size-time=0&amp;lt;/span&amp;gt; ! &amp;lt;span style=&amp;quot;color:#006400&amp;quot;&amp;gt;livestream.&amp;lt;/span&amp;gt;{{pad|1em}}'''livestream.''' ! &amp;lt;span style=&amp;quot;color:#CD5C5C;&amp;quot;&amp;gt; queue max-size-bytes=0 max-size-time=0 !  shout2send ip=host.com port=[80|8000] password=hackme mount=/mountpoint.ogv&amp;lt;/span&amp;gt;{{pad|1em}}'''halfres.''' ! &amp;lt;span style=&amp;quot;color:#FF8C00;&amp;quot;&amp;gt;videoscale add-borders=true ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! xvimagesink sync=false&amp;lt;/span&amp;gt;&lt;br /&gt;
*Expect a ~50GB recording for 8hrs. of recording depending on image complexity (''e.g.'', filming a night sky vs. a waterfall).  The Matroska recording may be viewed directly in VLC (≥2.0 recommended) and may be transcoded to commonly-used formats ''via'' [http://www.mirovideoconverter.com/ Miro Video Converter].&lt;br /&gt;
&lt;br /&gt;
===Dump Stills From the Resulting High-Res Elphel Recording Into a Folder===&lt;br /&gt;
*gst-launch filesrc location=recording.mkv ! matroskademux ! videorate ! image/jpeg,framerate=1/10 ! multifilesink location=&amp;quot;OUTPUT%04d.jpg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Remove any colons from the input filename to avoid BASH issues&lt;br /&gt;
*Change the framerate to control the time interval between image stills and number of produced stills&lt;br /&gt;
*No queue elements are necessary&lt;br /&gt;
*Results in a lot of disk I/O; solid state drives would be helpful here&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/GST_cookbook</id>
		<title>GST cookbook</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/GST_cookbook"/>
				<updated>2012-02-27T05:56:08Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: /* Live-stream an Elphel 353L camera */ note on other apps running, VLC 2.0&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In addition to being a powerful multimedia infrastructure for applications Gstreamer is also a useful tool for general manipulations of multimedia data.  By invoking gst-launch from the command-line with a custom pipeline many useful processing steps are possible.&lt;br /&gt;
&lt;br /&gt;
Gstreamer also usually has good support for Xiph-related formats. &lt;br /&gt;
&lt;br /&gt;
Unfortunately, it can be rather difficult to figure out an appropriate pipeline without a starting point.&lt;br /&gt;
&lt;br /&gt;
Here are some useful examples: &amp;lt;!-- Don't complain about the selection of examples, I started this simply by grepping my shell history. Feel free to submit more and/or improve the existing ones --gmaxwell --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Encode a .wav to Vorbis:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.wav&amp;quot;  ! wavparse ! audioconvert ! vorbisenc ! oggmux ! filesink location=&amp;quot;OUTPUT.ogg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Dump a Theora video to PNGs:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.ogv&amp;quot; !  oggdemux ! theoradec ! ffmpegcolorspace ! pngenc snapshot=false ! multifilesink location=&amp;quot;OUTPUT%04d.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Transmux a MKV (containing vorbis and theora) to Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.mkv&amp;quot; ! matroskademux name=d ! video/x-theora ! queue ! theoraparse ! oggmux name=mux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot; d. ! audio/x-vorbis ! queue ! vorbisparse ! queue ! mux.&lt;br /&gt;
&lt;br /&gt;
===Encode a y4m to lossless Dirac in Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.y4m&amp;quot; ! decodebin ! schroenc force-profile=vc2_main rate-control=lossless ! oggmux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Pull from a windows media stream, transcode to Ogg/Theora+Vorbis and send to a icecast server:===&lt;br /&gt;
(may require purchasing Fluendo plugins for decoding the encumbered codecs)&lt;br /&gt;
*gst-launch uridecodebin uri=mms://SOURCE.SERVER.COM/path name=d ! queue max-size-time=100000000 ! ffmpegcolorspace ! theoraenc bitrate=800 ! oggmux name=mux ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv d. ! queue max-size-time=100000000 ! audioconvert ! vorbisenc ! mux.&lt;br /&gt;
&lt;br /&gt;
===Capture video from a webcam, encode to an Ogg Theora file, decode and display on screen, write to a file whose name is the current date+time, and stream to an IceCast server===&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! 'video/x-raw-yuv, width=640, height=480' ! videorate ! 'video/x-raw-yuv, framerate=15/1' ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=150 ! oggmux ! tee name=ogged ! queue max-size-bytes=100000000 max-size-time=0 ! oggdemux ! theoradec ! xvimagesink sync=false force-aspect-ratio=true ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=`date +%F_%T`.ogv ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv streamname=YOURSTREAMNAME description=YOURDESCRIPTION genre=YOURGENRE url=YOURSTREAMURL ogged.&lt;br /&gt;
&lt;br /&gt;
===A v4l2 source + ALSA source -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*dov4l -i [0|1] -m NTSC&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! videoscale ! video/x-raw-yuv,width=320,height=240,framerate=30000/1001,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=400 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
:Note that the above pipeline will slowly lose audio/video synchronization due to hardware-level limitations in audio vs. video capture of media samples.  FireWire and SDI-based capture does not have these limitations.&lt;br /&gt;
&lt;br /&gt;
===Two v4l2 sources combined side-by-side into rectangular video + ALSA -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video0:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video1:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*gst-launch --eos-on-shutdown v4l2src device=/dev/video0 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0  ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videomixer name=mix ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=600 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0  ! shout2send ip=icecast-server.com password=hackme mount=/mountpoint.ogv  v4l2src device=/dev/video1 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 !  queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=5/1 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videobox border-alpha=0 fill=green left=-320 ! mix.&lt;br /&gt;
&lt;br /&gt;
===Create a video with an alpha channel from a sequence of PNG files===&lt;br /&gt;
*gst-launch-0.10 multifilesrc location=images%05d.png caps=&amp;quot;image/png,framerate=1/1,pixel-aspect-ratio=1/1&amp;quot; num-buffers=95 ! pngdec ! videorate ! alphacolor ! &amp;quot;video/x-raw-yuv,format=(fourcc)AYUV&amp;quot; ! matroskamux ! filesink location=images_raw.mkv&lt;br /&gt;
&lt;br /&gt;
===Capture from a 1680x1050 GNOME Desktop, Combine with ALSA -&amp;gt; Ogg Theora + Vorbis -&amp;gt; Icecast===&lt;br /&gt;
*gst-launch  --eos-on-shutdown ximagesrc ! capsfilter caps=video/x-raw-rgb,framerate=3/1,width=1680,height=1050  ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-rgb, width=1056, height=660 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=450 keyframe-auto=false keyframe-force=12 keyframe-freq=12 speed-level=0 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:0,0 ! audio/x-raw-init,rate=44100,channels=1 ! queue max-size-bytes=100000000 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
*Icecast will need to be built from SVN (ver. 2.3.2 fails to relay data due to a bug)&lt;br /&gt;
*Viewers will need better-than-average internet connectivity (around 1.5Mbits/sec)&lt;br /&gt;
*The simplest way to capture audio events is to place a mic next to computer speakers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Live-stream a high-resolution Mac OSX Desktop at 1 FPS===&lt;br /&gt;
gst-launch --eos-on-shutdown osximagesrc ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! videoscale method=4-tap ! video/x-raw-yuv, width=960, height=600 ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=360 keyframe-auto=false keyframe-force=3 keyframe-freq=3 speed-level=0 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=host.com password=hackme mount=/mountpoint.ogv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Live-stream an Elphel 353L camera, combine with on-laptop audio capture, save a high-res copy to disk, and view the video on-screen===&lt;br /&gt;
*Tested on an 2.4GHz Core i3 running at ≥2.0GHz.  Both CPU cores should be at ~50% continuously-smooth utilization after the first ~15 seconds; battery-only power or overheating may throttle the CPU thus leading to dropped samples.&lt;br /&gt;
*Set the camera to 2592x1120 @ 18FPS.  Adjust camera controls to ensure the camera achieves this framerate.&lt;br /&gt;
*Kill/renice any resource-competitive applications (file indexing services, Firefox, Audacity, etc.)&lt;br /&gt;
*qjackctl &amp;amp;  → Start JACK in realtime priority&lt;br /&gt;
&lt;br /&gt;
*gst-launch -e &amp;lt;span style=&amp;quot;color:#8B0000&amp;quot;&amp;gt;rtspsrc location=rtsp://192.168.0.9:554 latency=100 ! queue max-size-bytes=100000000 max-size-time=0 ! rtpjpegdepay ! queue max-size-bytes=100000000 max-size-time=0 ! jpegdec ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=18/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=1296, height=560 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=&amp;lt;/span&amp;gt;'''halfres''' ! &amp;lt;span style=&amp;quot;color:#4B0082&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! jpegenc ! queue max-size-bytes=100000000 max-size-time=0 ! matroskamux name=mux&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color:#C71585&amp;quot;&amp;gt;jackaudiosrc connect=1 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=&amp;lt;/span&amp;gt;'''jackaudio''' ! &amp;lt;span style=&amp;quot;color:#C71585&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0&amp;lt;/span&amp;gt; ! &amp;lt;span style=&amp;quot;color:#4B0082&amp;quot;&amp;gt;mux.&amp;lt;/span&amp;gt;{{pad|1em}}'''mux.''' ! &amp;lt;span style=&amp;quot;color:#FFB6C1&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! filesink location=elphel_recording_`date +%F_%T`.mkv&amp;lt;/span&amp;gt;{{pad|1em}}'''halfres.''' ! &amp;lt;span style=&amp;quot;color:#006400&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=648, height=280 ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=450 speed-level=1 ! queue max-size-bytes=100000000 max-size-time=0  ! oggmux name=livestream&amp;lt;/span&amp;gt; '''jackaudio.''' ! &amp;lt;span style=&amp;quot;color:#4682B4&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc  ! queue max-size-bytes=100000000 max-size-time=0&amp;lt;/span&amp;gt; ! &amp;lt;span style=&amp;quot;color:#006400&amp;quot;&amp;gt;livestream.&amp;lt;/span&amp;gt;{{pad|1em}}'''livestream.''' ! &amp;lt;span style=&amp;quot;color:#CD5C5C;&amp;quot;&amp;gt; queue max-size-bytes=0 max-size-time=0 !  shout2send ip=host.com port=[80|8000] password=hackme mount=/mountpoint.ogv&amp;lt;/span&amp;gt;{{pad|1em}}'''halfres.''' ! &amp;lt;span style=&amp;quot;color:#FF8C00;&amp;quot;&amp;gt;videoscale add-borders=true ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! xvimagesink sync=false&amp;lt;/span&amp;gt;&lt;br /&gt;
*Expect a ~50GB recording for 8hrs. of recording depending on image complexity (''e.g.'', filming a night sky vs. a waterfall).  The Matroska recording may be viewed directly in VLC (≥2.0 recommended) and may be transcoded to commonly-used formats ''via'' [http://www.mirovideoconverter.com/ Miro Video Converter].&lt;br /&gt;
&lt;br /&gt;
===Dump Stills From the Resulting High-Res Elphel Recording Into a Folder===&lt;br /&gt;
*gst-launch filesrc location=recording.mkv ! matroskademux ! videorate ! image/jpeg,framerate=1/10 ! multifilesink location=&amp;quot;OUTPUT%04d.jpg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Remove any colons from the input filename to avoid BASH issues&lt;br /&gt;
*Change the framerate to control the time interval between image stills and number of produced stills&lt;br /&gt;
*No queue elements are necessary&lt;br /&gt;
*Results in a lot of disk I/O; solid state drives would be helpful here&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/GST_cookbook</id>
		<title>GST cookbook</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/GST_cookbook"/>
				<updated>2012-01-29T23:24:15Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: /* How to extract images from the Elphel command */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In addition to being a powerful multimedia infrastructure for applications Gstreamer is also a useful tool for general manipulations of multimedia data.  By invoking gst-launch from the command-line with a custom pipeline many useful processing steps are possible.&lt;br /&gt;
&lt;br /&gt;
Gstreamer also usually has good support for Xiph-related formats. &lt;br /&gt;
&lt;br /&gt;
Unfortunately, it can be rather difficult to figure out an appropriate pipeline without a starting point.&lt;br /&gt;
&lt;br /&gt;
Here are some useful examples: &amp;lt;!-- Don't complain about the selection of examples, I started this simply by grepping my shell history. Feel free to submit more and/or improve the existing ones --gmaxwell --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Encode a .wav to Vorbis:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.wav&amp;quot;  ! wavparse ! audioconvert ! vorbisenc ! oggmux ! filesink location=&amp;quot;OUTPUT.ogg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Dump a Theora video to PNGs:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.ogv&amp;quot; !  oggdemux ! theoradec ! ffmpegcolorspace ! pngenc snapshot=false ! multifilesink location=&amp;quot;OUTPUT%04d.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Transmux a MKV (containing vorbis and theora) to Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.mkv&amp;quot; ! matroskademux name=d ! video/x-theora ! queue ! theoraparse ! oggmux name=mux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot; d. ! audio/x-vorbis ! queue ! vorbisparse ! queue ! mux.&lt;br /&gt;
&lt;br /&gt;
===Encode a y4m to lossless Dirac in Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.y4m&amp;quot; ! decodebin ! schroenc force-profile=vc2_main rate-control=lossless ! oggmux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Pull from a windows media stream, transcode to Ogg/Theora+Vorbis and send to a icecast server:===&lt;br /&gt;
(may require purchasing Fluendo plugins for decoding the encumbered codecs)&lt;br /&gt;
*gst-launch uridecodebin uri=mms://SOURCE.SERVER.COM/path name=d ! queue max-size-time=100000000 ! ffmpegcolorspace ! theoraenc bitrate=800 ! oggmux name=mux ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv d. ! queue max-size-time=100000000 ! audioconvert ! vorbisenc ! mux.&lt;br /&gt;
&lt;br /&gt;
===Capture video from a webcam, encode to an Ogg Theora file, decode and display on screen, write to a file whose name is the current date+time, and stream to an IceCast server===&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! 'video/x-raw-yuv, width=640, height=480' ! videorate ! 'video/x-raw-yuv, framerate=15/1' ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=150 ! oggmux ! tee name=ogged ! queue max-size-bytes=100000000 max-size-time=0 ! oggdemux ! theoradec ! xvimagesink sync=false force-aspect-ratio=true ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=`date +%F_%T`.ogv ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv streamname=YOURSTREAMNAME description=YOURDESCRIPTION genre=YOURGENRE url=YOURSTREAMURL ogged.&lt;br /&gt;
&lt;br /&gt;
===A v4l2 source + ALSA source -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*dov4l -i [0|1] -m NTSC&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! videoscale ! video/x-raw-yuv,width=320,height=240,framerate=30000/1001,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=400 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
:Note that the above pipeline will slowly lose audio/video synchronization due to hardware-level limitations in audio vs. video capture of media samples.  FireWire and SDI-based capture does not have these limitations.&lt;br /&gt;
&lt;br /&gt;
===Two v4l2 sources combined side-by-side into rectangular video + ALSA -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video0:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video1:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*gst-launch --eos-on-shutdown v4l2src device=/dev/video0 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0  ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videomixer name=mix ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=600 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0  ! shout2send ip=icecast-server.com password=hackme mount=/mountpoint.ogv  v4l2src device=/dev/video1 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 !  queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=5/1 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videobox border-alpha=0 fill=green left=-320 ! mix.&lt;br /&gt;
&lt;br /&gt;
===Create a video with an alpha channel from a sequence of PNG files===&lt;br /&gt;
*gst-launch-0.10 multifilesrc location=images%05d.png caps=&amp;quot;image/png,framerate=1/1,pixel-aspect-ratio=1/1&amp;quot; num-buffers=95 ! pngdec ! videorate ! alphacolor ! &amp;quot;video/x-raw-yuv,format=(fourcc)AYUV&amp;quot; ! matroskamux ! filesink location=images_raw.mkv&lt;br /&gt;
&lt;br /&gt;
===Capture from a 1680x1050 GNOME Desktop, Combine with ALSA -&amp;gt; Ogg Theora + Vorbis -&amp;gt; Icecast===&lt;br /&gt;
*gst-launch  --eos-on-shutdown ximagesrc ! capsfilter caps=video/x-raw-rgb,framerate=3/1,width=1680,height=1050  ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-rgb, width=1056, height=660 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=450 keyframe-auto=false keyframe-force=12 keyframe-freq=12 speed-level=0 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:0,0 ! audio/x-raw-init,rate=44100,channels=1 ! queue max-size-bytes=100000000 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
*Icecast will need to be built from SVN (ver. 2.3.2 fails to relay data due to a bug)&lt;br /&gt;
*Viewers will need better-than-average internet connectivity (around 1.5Mbits/sec)&lt;br /&gt;
*The simplest way to capture audio events is to place a mic next to computer speakers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Live-stream a high-resolution Mac OSX Desktop at 1 FPS===&lt;br /&gt;
gst-launch --eos-on-shutdown osximagesrc ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! videoscale method=4-tap ! video/x-raw-yuv, width=960, height=600 ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=360 keyframe-auto=false keyframe-force=3 keyframe-freq=3 speed-level=0 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=host.com password=hackme mount=/mountpoint.ogv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Live-stream an Elphel 353L camera, combine with on-laptop audio capture, save a high-res copy to disk, and view the video on-screen===&lt;br /&gt;
*Tested on an 2.4GHz Core i3 running at ≥2.0GHz.  Both CPU cores should be at ~50% continuously-smooth utilization after the first ~15 seconds; battery-only power or overheating may throttle the CPU thus leading to dropped samples.&lt;br /&gt;
*Set the camera to 2592x1120 @ 18FPS.  Adjust camera controls to ensure the camera achieves this framerate.&lt;br /&gt;
*qjackctl &amp;amp;  → Start JACK in realtime priority&lt;br /&gt;
&lt;br /&gt;
*gst-launch -e &amp;lt;span style=&amp;quot;color:#8B0000&amp;quot;&amp;gt;rtspsrc location=rtsp://192.168.0.9:554 latency=100 ! queue max-size-bytes=100000000 max-size-time=0 ! rtpjpegdepay ! queue max-size-bytes=100000000 max-size-time=0 ! jpegdec ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=18/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=1296, height=560 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=&amp;lt;/span&amp;gt;'''halfres''' ! &amp;lt;span style=&amp;quot;color:#4B0082&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! jpegenc ! queue max-size-bytes=100000000 max-size-time=0 ! matroskamux name=mux&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color:#C71585&amp;quot;&amp;gt;jackaudiosrc connect=1 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=&amp;lt;/span&amp;gt;'''jackaudio''' ! &amp;lt;span style=&amp;quot;color:#C71585&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0&amp;lt;/span&amp;gt; ! &amp;lt;span style=&amp;quot;color:#4B0082&amp;quot;&amp;gt;mux.&amp;lt;/span&amp;gt;{{pad|1em}}'''mux.''' ! &amp;lt;span style=&amp;quot;color:#FFB6C1&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! filesink location=elphel_recording_`date +%F_%T`.mkv&amp;lt;/span&amp;gt;{{pad|1em}}'''halfres.''' ! &amp;lt;span style=&amp;quot;color:#006400&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=648, height=280 ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=450 speed-level=1 ! queue max-size-bytes=100000000 max-size-time=0  ! oggmux name=livestream&amp;lt;/span&amp;gt; '''jackaudio.''' ! &amp;lt;span style=&amp;quot;color:#4682B4&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc  ! queue max-size-bytes=100000000 max-size-time=0&amp;lt;/span&amp;gt; ! &amp;lt;span style=&amp;quot;color:#006400&amp;quot;&amp;gt;livestream.&amp;lt;/span&amp;gt;{{pad|1em}}'''livestream.''' ! &amp;lt;span style=&amp;quot;color:#CD5C5C;&amp;quot;&amp;gt; queue max-size-bytes=0 max-size-time=0 !  shout2send ip=host.com port=[80|8000] password=hackme mount=/mountpoint.ogv&amp;lt;/span&amp;gt;{{pad|1em}}'''halfres.''' ! &amp;lt;span style=&amp;quot;color:#FF8C00;&amp;quot;&amp;gt;videoscale add-borders=true ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! xvimagesink sync=false&amp;lt;/span&amp;gt;&lt;br /&gt;
*Expect a ~50GB recording for 8hrs. of recording depending on image complexity (''e.g.'', filming a night sky vs. a waterfall).  The Matroska recording is impractical to play/edit directly but may be transcoded to commonly-used formats ''via'' [http://www.mirovideoconverter.com/ Miro Video Converter].&lt;br /&gt;
&lt;br /&gt;
===Dump Stills From the Resulting High-Res Elphel Recording Into a Folder===&lt;br /&gt;
*gst-launch filesrc location=recording.mkv ! matroskademux ! videorate ! image/jpeg,framerate=1/10 ! multifilesink location=&amp;quot;OUTPUT%04d.jpg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*Remove any colons from the input filename to avoid BASH issues&lt;br /&gt;
*Change the framerate to control the time interval between image stills and number of produced stills&lt;br /&gt;
*No queue elements are necessary&lt;br /&gt;
*Results in a lot of disk I/O; solid state drives would be helpful here&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/People</id>
		<title>People</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/People"/>
				<updated>2011-12-06T02:07:45Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: add self&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is meant to help with nickname to person lookup. ''Nickname'' can be a mail alias, an IRC nick, or a Subversion user &amp;amp;mdash; in most cases several of these. Please help to fill this table. Keeping your own entry up to date is a good start.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|+ Who is who&lt;br /&gt;
! Nickname&lt;br /&gt;
! Real name&lt;br /&gt;
! Keywords&lt;br /&gt;
|-&lt;br /&gt;
| arkadini&lt;br /&gt;
| Arek Korbik&lt;br /&gt;
| Quicktime, XiphQT&lt;br /&gt;
|-&lt;br /&gt;
| ben&lt;br /&gt;
| Benjamin Gérard&lt;br /&gt;
| libao&lt;br /&gt;
|-	 &lt;br /&gt;
| BjornW&lt;br /&gt;
| Björn Wijers&lt;br /&gt;
| [[Spread Open Media]], [[XSPF]]&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Conrad|conrad]]&lt;br /&gt;
| [http://blog.kfish.org/ Conrad Parker]&lt;br /&gt;
| see ''[[#nick_kfish|kfish]]''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span id=&amp;quot;nick_derf&amp;quot;&amp;gt;derf&amp;lt;/span&amp;gt;&lt;br /&gt;
| [http://people.xiph.org/~tterribe/ Timothy B. Terriberry]&lt;br /&gt;
| theora, CELT, video&lt;br /&gt;
|-&lt;br /&gt;
| dllmain&lt;br /&gt;
| Sebastian Pipping&lt;br /&gt;
| see ''[[#nick_sping|sping]]'', nick not used anymore&lt;br /&gt;
|-&lt;br /&gt;
| doublec&lt;br /&gt;
| Chris Double&lt;br /&gt;
| firefox, theora, Mozilla&lt;br /&gt;
|-&lt;br /&gt;
| drac667&lt;br /&gt;
| Cristian Adam&lt;br /&gt;
| DirectShow, oggcodecs, Windows&lt;br /&gt;
|-&lt;br /&gt;
| [[User:GChriss|gchriss]]&lt;br /&gt;
| George Chriss&lt;br /&gt;
| gstreamer, Elphel, event videography&lt;br /&gt;
|-&lt;br /&gt;
| giles&lt;br /&gt;
| [http://people.xiph.org/~giles/ Ralph Giles]&lt;br /&gt;
| see ''[[#nick_rillian|rillian]]''&lt;br /&gt;
|-&lt;br /&gt;
| gmaxwell&lt;br /&gt;
| Gregory Maxwell&lt;br /&gt;
| Wikimedia, CELT, theora&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Silvia|ginger]]&lt;br /&gt;
| Silvia Pfeiffer&lt;br /&gt;
| see ''[[#nick_nessy|nessy]]''&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Imalone|imalone]]&lt;br /&gt;
| Ian Malone&lt;br /&gt;
| metadata&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span id=&amp;quot;nick_illi&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;illiminable&lt;br /&gt;
| Zentaro Kavanagh&lt;br /&gt;
| DirectShow, dsfilters, Microsoft&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span id=&amp;quot;nick_ivo&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;[[User:Saoshyant|ivo]]&lt;br /&gt;
| Ivo Emanuel Gonçalves&lt;br /&gt;
| advocacy, [[Spread Open Media]], [[XSPF]], wiki mod, vorbis-tools&lt;br /&gt;
|-&lt;br /&gt;
| jack&lt;br /&gt;
| Jack Moffitt&lt;br /&gt;
| libao, treasurer, Icecast&lt;br /&gt;
|-&lt;br /&gt;
| jcoalson&lt;br /&gt;
| Josh Coalson&lt;br /&gt;
| FLAC author&lt;br /&gt;
|-&lt;br /&gt;
| j, j^&lt;br /&gt;
| Jan Gerber&lt;br /&gt;
| v2v, ffmpeg2theora, sysadmin&lt;br /&gt;
|-&lt;br /&gt;
| [[User:jmspeex|jmspeex]]&lt;br /&gt;
| Jean-Marc Valin&lt;br /&gt;
| speex, ghost, VoIP&lt;br /&gt;
|-&lt;br /&gt;
| jmworx&lt;br /&gt;
| Jean-Marc Valin&lt;br /&gt;
| see ''[[#nick_jmspeex|jmspeex]]''&lt;br /&gt;
|-&lt;br /&gt;
| JoeyBorn&lt;br /&gt;
| Joe Born&lt;br /&gt;
| neuros&lt;br /&gt;
|-&lt;br /&gt;
| karl&lt;br /&gt;
| Karl Heyes&lt;br /&gt;
| Icecast&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span id=&amp;quot;nick_kfish&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;[[User:Conrad|kfish]]&lt;br /&gt;
| [http://www.kfish.org/ Conrad Parker]&lt;br /&gt;
| annodex, fishsound, hogg, oggz, vorbis-tools&lt;br /&gt;
|-&lt;br /&gt;
| laser13&lt;br /&gt;
| Marcin Lubonski&lt;br /&gt;
| annodex, oggplay, win32&lt;br /&gt;
|-&lt;br /&gt;
| lgonze&lt;br /&gt;
| Lucas Gonze&lt;br /&gt;
| [[XSPF]]&lt;br /&gt;
|-&lt;br /&gt;
| lu_zero&lt;br /&gt;
| Luca Barbato &lt;br /&gt;
| RTP Vorbis, RTP Theora, Gentoo&lt;br /&gt;
|-&lt;br /&gt;
| maikmerten&lt;br /&gt;
| Maik Merten&lt;br /&gt;
| theora, java, macos&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span id=&amp;quot;nick_mikes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;MikeS&lt;br /&gt;
| Michael Smith&lt;br /&gt;
| fluendo, gstreamer, sysadmin, IceS&lt;br /&gt;
|-&lt;br /&gt;
| Monty&lt;br /&gt;
| Christopher Montgomery&lt;br /&gt;
| see ''[[#nick_xiphmont|xiphmont]]''&lt;br /&gt;
|-&lt;br /&gt;
| msmith&lt;br /&gt;
| Michael Smith&lt;br /&gt;
| see ''[[#nick_mikes|MikeS]]''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span id=&amp;quot;nick_nessy&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;nessy&lt;br /&gt;
| Silvia Pfeiffer&lt;br /&gt;
| annodex, vquence, sysadmin, CMML&lt;br /&gt;
|-&lt;br /&gt;
| ozone&lt;br /&gt;
| Andr&amp;amp;eacute; Pang&lt;br /&gt;
| annodex, macos&lt;br /&gt;
|-&lt;br /&gt;
| pjones&lt;br /&gt;
| Peter Jones&lt;br /&gt;
| cdparanoia, redhat&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span id=&amp;quot;nick_rillian&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;rillian&lt;br /&gt;
| [http://people.xiph.org/~giles/ Ralph Giles]&lt;br /&gt;
| metadata, video, theora, MNG, sysadmin&lt;br /&gt;
|-&lt;br /&gt;
| ribamar&lt;br /&gt;
| Ribamar Santarosa&lt;br /&gt;
| etheora&lt;br /&gt;
|-&lt;br /&gt;
| Saoshyant&lt;br /&gt;
| Ivo Emanuel Gonçalves&lt;br /&gt;
| see ''[[#nick_ivo|ivo]]''&lt;br /&gt;
|-&lt;br /&gt;
| segher&lt;br /&gt;
| Segher Boessenkool&lt;br /&gt;
| vorbis, audio&lt;br /&gt;
|-&lt;br /&gt;
| shans&lt;br /&gt;
| Shane Stephens&lt;br /&gt;
| annodex, oggplay&lt;br /&gt;
|-&lt;br /&gt;
| silvia&lt;br /&gt;
| Silvia Pfeiffer&lt;br /&gt;
| see ''[[#nick_nessy|nessy]]''&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span id=&amp;quot;nick_sping&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;[[User:sping|sping]]&lt;br /&gt;
| Sebastian Pipping&lt;br /&gt;
| [[XSPF]], [http://libspiff.sourceforge.net/ libSpiff], [http://validator.xspf.org/ XSPF Validator]&lt;br /&gt;
|-&lt;br /&gt;
| tterribe&lt;br /&gt;
| [http://people.xiph.org/~tterribe/ Timothy B. Terriberry]&lt;br /&gt;
| See ''[[#nick_derf|derf]]''&lt;br /&gt;
|-&lt;br /&gt;
| thomasvs&lt;br /&gt;
| Thomas Vander Stichele&lt;br /&gt;
| fluendo, flumotion, gstreamer&lt;br /&gt;
|-&lt;br /&gt;
| volsung&lt;br /&gt;
| Stan Seibert&lt;br /&gt;
| libao&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span id=&amp;quot;nick_xiphmont&amp;quot;&amp;gt;xiphmont&lt;br /&gt;
| Christopher Montgomery&lt;br /&gt;
| vorbis, ghost, audio, Ogg, cdparanoia&lt;br /&gt;
|-&lt;br /&gt;
| zen&lt;br /&gt;
| Zentaro Kavanagh&lt;br /&gt;
| see ''[[#nick_illi|illi]]''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Developers stuff]]&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/GST_cookbook</id>
		<title>GST cookbook</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/GST_cookbook"/>
				<updated>2011-10-07T20:08:20Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: /*  Elphel 353L  */  add notes on the resulting recording&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In addition to being a powerful multimedia infrastructure for applications Gstreamer is also a useful tool for general manipulations of multimedia data.  By invoking gst-launch from the command-line with a custom pipeline many useful processing steps are possible.&lt;br /&gt;
&lt;br /&gt;
Gstreamer also usually has good support for Xiph-related formats. &lt;br /&gt;
&lt;br /&gt;
Unfortunately, it can be rather difficult to figure out an appropriate pipeline without a starting point.&lt;br /&gt;
&lt;br /&gt;
Here are some useful examples: &amp;lt;!-- Don't complain about the selection of examples, I started this simply by grepping my shell history. Feel free to submit more and/or improve the existing ones --gmaxwell --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Encode a .wav to Vorbis:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.wav&amp;quot;  ! wavparse ! audioconvert ! vorbisenc ! oggmux ! filesink location=&amp;quot;OUTPUT.ogg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Dump a Theora video to PNGs:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.ogv&amp;quot; !  oggdemux ! theoradec ! ffmpegcolorspace ! pngenc snapshot=false ! multifilesink location=&amp;quot;OUTPUT%04d.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Transmux a MKV (containing vorbis and theora) to Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.mkv&amp;quot; ! matroskademux name=d ! video/x-theora ! queue ! theoraparse ! oggmux name=mux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot; d. ! audio/x-vorbis ! queue ! vorbisparse ! queue ! mux.&lt;br /&gt;
&lt;br /&gt;
===Encode a y4m to lossless Dirac in Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.y4m&amp;quot; ! decodebin ! schroenc force-profile=vc2_main rate-control=lossless ! oggmux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Pull from a windows media stream, transcode to Ogg/Theora+Vorbis and send to a icecast server:===&lt;br /&gt;
(may require purchasing Fluendo plugins for decoding the encumbered codecs)&lt;br /&gt;
*gst-launch uridecodebin uri=mms://SOURCE.SERVER.COM/path name=d ! queue max-size-time=100000000 ! ffmpegcolorspace ! theoraenc bitrate=800 ! oggmux name=mux ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv d. ! queue max-size-time=100000000 ! audioconvert ! vorbisenc ! mux.&lt;br /&gt;
&lt;br /&gt;
===Capture video from a webcam, encode to an Ogg Theora file, decode and display on screen, write to a file whose name is the current date+time, and stream to an IceCast server===&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! 'video/x-raw-yuv, width=640, height=480' ! videorate ! 'video/x-raw-yuv, framerate=15/1' ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=150 ! oggmux ! tee name=ogged ! queue max-size-bytes=100000000 max-size-time=0 ! oggdemux ! theoradec ! xvimagesink sync=false force-aspect-ratio=true ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=`date +%F_%T`.ogv ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv streamname=YOURSTREAMNAME description=YOURDESCRIPTION genre=YOURGENRE url=YOURSTREAMURL ogged.&lt;br /&gt;
&lt;br /&gt;
===A v4l2 source + ALSA source -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*dov4l -i [0|1] -m NTSC&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! videoscale ! video/x-raw-yuv,width=320,height=240,framerate=30000/1001,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=400 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
:Note that the above pipeline will slowly lose audio/video synchronization due to hardware-level limitations in audio vs. video capture of media samples.  FireWire and SDI-based capture does not have these limitations.&lt;br /&gt;
&lt;br /&gt;
===Two v4l2 sources combined side-by-side into rectangular video + ALSA -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video0:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video1:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*gst-launch --eos-on-shutdown v4l2src device=/dev/video0 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0  ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videomixer name=mix ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=600 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0  ! shout2send ip=icecast-server.com password=hackme mount=/mountpoint.ogv  v4l2src device=/dev/video1 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 !  queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=5/1 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videobox border-alpha=0 fill=green left=-320 ! mix.&lt;br /&gt;
&lt;br /&gt;
===Create a video with an alpha channel from a sequence of PNG files===&lt;br /&gt;
*gst-launch-0.10 multifilesrc location=images%05d.png caps=&amp;quot;image/png,framerate=1/1,pixel-aspect-ratio=1/1&amp;quot; num-buffers=95 ! pngdec ! videorate ! alphacolor ! &amp;quot;video/x-raw-yuv,format=(fourcc)AYUV&amp;quot; ! matroskamux ! filesink location=images_raw.mkv&lt;br /&gt;
&lt;br /&gt;
===Capture from a 1680x1050 GNOME Desktop, Combine with ALSA -&amp;gt; Ogg Theora + Vorbis -&amp;gt; Icecast===&lt;br /&gt;
*gst-launch  --eos-on-shutdown ximagesrc ! capsfilter caps=video/x-raw-rgb,framerate=3/1,width=1680,height=1050  ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-rgb, width=1056, height=660 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=450 keyframe-auto=false keyframe-force=12 keyframe-freq=12 speed-level=0 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:0,0 ! audio/x-raw-init,rate=44100,channels=1 ! queue max-size-bytes=100000000 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
*Icecast will need to be built from SVN (ver. 2.3.2 fails to relay data due to a bug)&lt;br /&gt;
*Viewers will need better-than-average internet connectivity (around 1.5Mbits/sec)&lt;br /&gt;
*The simplest way to capture audio events is to place a mic next to computer speakers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Live-stream a high-resolution Mac OSX Desktop at 1 FPS===&lt;br /&gt;
gst-launch --eos-on-shutdown osximagesrc ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! videoscale method=4-tap ! video/x-raw-yuv, width=960, height=600 ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=360 keyframe-auto=false keyframe-force=3 keyframe-freq=3 speed-level=0 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=host.com password=hackme mount=/mountpoint.ogv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Live-stream an Elphel 353L camera, combine with on-laptop audio capture, save a high-res copy to disk, and view the video on-screen===&lt;br /&gt;
*Tested on an 2.4GHz Core i3 running at ≥2.0GHz.  Both CPU cores should be at ~50% continuously-smooth utilization after the first ~15 seconds; battery-only power or overheating may throttle the CPU thus leading to dropped samples.&lt;br /&gt;
*Set the camera to 2592x1120 @ 18FPS.  Adjust camera controls to ensure the camera achieves this framerate.&lt;br /&gt;
*qjackctl &amp;amp;  → Start JACK in realtime priority&lt;br /&gt;
&lt;br /&gt;
*gst-launch -e &amp;lt;span style=&amp;quot;color:#8B0000&amp;quot;&amp;gt;rtspsrc location=rtsp://192.168.0.9:554 latency=100 ! queue max-size-bytes=100000000 max-size-time=0 ! rtpjpegdepay ! queue max-size-bytes=100000000 max-size-time=0 ! jpegdec ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=18/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=1296, height=560 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=&amp;lt;/span&amp;gt;'''halfres''' ! &amp;lt;span style=&amp;quot;color:#4B0082&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! jpegenc ! queue max-size-bytes=100000000 max-size-time=0 ! matroskamux name=mux&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color:#C71585&amp;quot;&amp;gt;jackaudiosrc connect=1 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=&amp;lt;/span&amp;gt;'''jackaudio''' ! &amp;lt;span style=&amp;quot;color:#C71585&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0&amp;lt;/span&amp;gt; ! &amp;lt;span style=&amp;quot;color:#4B0082&amp;quot;&amp;gt;mux.&amp;lt;/span&amp;gt;{{pad|1em}}'''mux.''' ! &amp;lt;span style=&amp;quot;color:#FFB6C1&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! filesink location=elphel_recording_`date +%F_%T`.mkv&amp;lt;/span&amp;gt;{{pad|1em}}'''halfres.''' ! &amp;lt;span style=&amp;quot;color:#006400&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=648, height=280 ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=450 speed-level=1 ! queue max-size-bytes=100000000 max-size-time=0  ! oggmux name=livestream&amp;lt;/span&amp;gt; '''jackaudio.''' ! &amp;lt;span style=&amp;quot;color:#4682B4&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc  ! queue max-size-bytes=100000000 max-size-time=0&amp;lt;/span&amp;gt; ! &amp;lt;span style=&amp;quot;color:#006400&amp;quot;&amp;gt;livestream.&amp;lt;/span&amp;gt;{{pad|1em}}'''livestream.''' ! &amp;lt;span style=&amp;quot;color:#CD5C5C;&amp;quot;&amp;gt; queue max-size-bytes=0 max-size-time=0 !  shout2send ip=host.com port=[80|8000] password=hackme mount=/mountpoint.ogv&amp;lt;/span&amp;gt;{{pad|1em}}'''halfres.''' ! &amp;lt;span style=&amp;quot;color:#FF8C00;&amp;quot;&amp;gt;videoscale add-borders=true ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! xvimagesink sync=false&amp;lt;/span&amp;gt;&lt;br /&gt;
*Expect a ~50GB recording for 8hrs. of recording depending on image complexity (''e.g.'', filming a night sky vs. a waterfall).  The Matroska recording is impractical to play/edit directly but may be transcoded to commonly-used formats ''via'' [http://www.mirovideoconverter.com/ Miro Video Converter].&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/GST_cookbook</id>
		<title>GST cookbook</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/GST_cookbook"/>
				<updated>2011-10-06T17:58:26Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: /*  Elphel 353L  */  add some sensible color-coding to improve digestibility&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In addition to being a powerful multimedia infrastructure for applications Gstreamer is also a useful tool for general manipulations of multimedia data.  By invoking gst-launch from the command-line with a custom pipeline many useful processing steps are possible.&lt;br /&gt;
&lt;br /&gt;
Gstreamer also usually has good support for Xiph-related formats. &lt;br /&gt;
&lt;br /&gt;
Unfortunately, it can be rather difficult to figure out an appropriate pipeline without a starting point.&lt;br /&gt;
&lt;br /&gt;
Here are some useful examples: &amp;lt;!-- Don't complain about the selection of examples, I started this simply by grepping my shell history. Feel free to submit more and/or improve the existing ones --gmaxwell --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Encode a .wav to Vorbis:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.wav&amp;quot;  ! wavparse ! audioconvert ! vorbisenc ! oggmux ! filesink location=&amp;quot;OUTPUT.ogg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Dump a Theora video to PNGs:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.ogv&amp;quot; !  oggdemux ! theoradec ! ffmpegcolorspace ! pngenc snapshot=false ! multifilesink location=&amp;quot;OUTPUT%04d.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Transmux a MKV (containing vorbis and theora) to Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.mkv&amp;quot; ! matroskademux name=d ! video/x-theora ! queue ! theoraparse ! oggmux name=mux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot; d. ! audio/x-vorbis ! queue ! vorbisparse ! queue ! mux.&lt;br /&gt;
&lt;br /&gt;
===Encode a y4m to lossless Dirac in Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.y4m&amp;quot; ! decodebin ! schroenc force-profile=vc2_main rate-control=lossless ! oggmux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Pull from a windows media stream, transcode to Ogg/Theora+Vorbis and send to a icecast server:===&lt;br /&gt;
(may require purchasing Fluendo plugins for decoding the encumbered codecs)&lt;br /&gt;
*gst-launch uridecodebin uri=mms://SOURCE.SERVER.COM/path name=d ! queue max-size-time=100000000 ! ffmpegcolorspace ! theoraenc bitrate=800 ! oggmux name=mux ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv d. ! queue max-size-time=100000000 ! audioconvert ! vorbisenc ! mux.&lt;br /&gt;
&lt;br /&gt;
===Capture video from a webcam, encode to an Ogg Theora file, decode and display on screen, write to a file whose name is the current date+time, and stream to an IceCast server===&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! 'video/x-raw-yuv, width=640, height=480' ! videorate ! 'video/x-raw-yuv, framerate=15/1' ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=150 ! oggmux ! tee name=ogged ! queue max-size-bytes=100000000 max-size-time=0 ! oggdemux ! theoradec ! xvimagesink sync=false force-aspect-ratio=true ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=`date +%F_%T`.ogv ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv streamname=YOURSTREAMNAME description=YOURDESCRIPTION genre=YOURGENRE url=YOURSTREAMURL ogged.&lt;br /&gt;
&lt;br /&gt;
===A v4l2 source + ALSA source -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*dov4l -i [0|1] -m NTSC&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! videoscale ! video/x-raw-yuv,width=320,height=240,framerate=30000/1001,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=400 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
:Note that the above pipeline will slowly lose audio/video synchronization due to hardware-level limitations in audio vs. video capture of media samples.  FireWire and SDI-based capture does not have these limitations.&lt;br /&gt;
&lt;br /&gt;
===Two v4l2 sources combined side-by-side into rectangular video + ALSA -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video0:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video1:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*gst-launch --eos-on-shutdown v4l2src device=/dev/video0 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0  ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videomixer name=mix ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=600 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0  ! shout2send ip=icecast-server.com password=hackme mount=/mountpoint.ogv  v4l2src device=/dev/video1 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 !  queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=5/1 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videobox border-alpha=0 fill=green left=-320 ! mix.&lt;br /&gt;
&lt;br /&gt;
===Create a video with an alpha channel from a sequence of PNG files===&lt;br /&gt;
*gst-launch-0.10 multifilesrc location=images%05d.png caps=&amp;quot;image/png,framerate=1/1,pixel-aspect-ratio=1/1&amp;quot; num-buffers=95 ! pngdec ! videorate ! alphacolor ! &amp;quot;video/x-raw-yuv,format=(fourcc)AYUV&amp;quot; ! matroskamux ! filesink location=images_raw.mkv&lt;br /&gt;
&lt;br /&gt;
===Capture from a 1680x1050 GNOME Desktop, Combine with ALSA -&amp;gt; Ogg Theora + Vorbis -&amp;gt; Icecast===&lt;br /&gt;
*gst-launch  --eos-on-shutdown ximagesrc ! capsfilter caps=video/x-raw-rgb,framerate=3/1,width=1680,height=1050  ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-rgb, width=1056, height=660 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=450 keyframe-auto=false keyframe-force=12 keyframe-freq=12 speed-level=0 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:0,0 ! audio/x-raw-init,rate=44100,channels=1 ! queue max-size-bytes=100000000 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
*Icecast will need to be built from SVN (ver. 2.3.2 fails to relay data due to a bug)&lt;br /&gt;
*Viewers will need better-than-average internet connectivity (around 1.5Mbits/sec)&lt;br /&gt;
*The simplest way to capture audio events is to place a mic next to computer speakers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Live-stream a high-resolution Mac OSX Desktop at 1 FPS===&lt;br /&gt;
gst-launch --eos-on-shutdown osximagesrc ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! videoscale method=4-tap ! video/x-raw-yuv, width=960, height=600 ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=360 keyframe-auto=false keyframe-force=3 keyframe-freq=3 speed-level=0 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=host.com password=hackme mount=/mountpoint.ogv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Live-stream an Elphel 353L camera, combine with on-laptop audio capture, save a high-res copy to disk, and view the video on-screen===&lt;br /&gt;
*Tested on an 2.4GHz Core i3 running at ≥2.0GHz.  Both CPU cores should be at ~50% continuously-smooth utilization after the first ~15 seconds; battery-only power or overheating may throttle the CPU thus leading to dropped samples.&lt;br /&gt;
*Set the camera to 2592x1120 @ 18FPS.  Adjust camera controls to ensure the camera achieves this framerate.&lt;br /&gt;
*qjackctl &amp;amp;  → Start JACK in realtime priority&lt;br /&gt;
&lt;br /&gt;
*gst-launch -e &amp;lt;span style=&amp;quot;color:#8B0000&amp;quot;&amp;gt;rtspsrc location=rtsp://192.168.0.9:554 latency=100 ! queue max-size-bytes=100000000 max-size-time=0 ! rtpjpegdepay ! queue max-size-bytes=100000000 max-size-time=0 ! jpegdec ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=18/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=1296, height=560 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=&amp;lt;/span&amp;gt;'''halfres''' ! &amp;lt;span style=&amp;quot;color:#4B0082&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! jpegenc ! queue max-size-bytes=100000000 max-size-time=0 ! matroskamux name=mux&amp;lt;/span&amp;gt; &amp;lt;span style=&amp;quot;color:#C71585&amp;quot;&amp;gt;jackaudiosrc connect=1 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=&amp;lt;/span&amp;gt;'''jackaudio''' ! &amp;lt;span style=&amp;quot;color:#C71585&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0&amp;lt;/span&amp;gt; ! &amp;lt;span style=&amp;quot;color:#4B0082&amp;quot;&amp;gt;mux.&amp;lt;/span&amp;gt;{{pad|1em}}'''mux.''' ! &amp;lt;span style=&amp;quot;color:#FFB6C1&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! filesink location=elphel_recording_`date +%F_%T`.mkv&amp;lt;/span&amp;gt;{{pad|1em}}'''halfres.''' ! &amp;lt;span style=&amp;quot;color:#006400&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=648, height=280 ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=450 speed-level=1 ! queue max-size-bytes=100000000 max-size-time=0  ! oggmux name=livestream&amp;lt;/span&amp;gt; '''jackaudio.''' ! &amp;lt;span style=&amp;quot;color:#4682B4&amp;quot;&amp;gt;queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc  ! queue max-size-bytes=100000000 max-size-time=0&amp;lt;/span&amp;gt; ! &amp;lt;span style=&amp;quot;color:#006400&amp;quot;&amp;gt;livestream.&amp;lt;/span&amp;gt;{{pad|1em}}'''livestream.''' ! &amp;lt;span style=&amp;quot;color:#CD5C5C;&amp;quot;&amp;gt; queue max-size-bytes=0 max-size-time=0 !  shout2send ip=host.com port=[80|8000] password=hackme mount=/mountpoint.ogv&amp;lt;/span&amp;gt;{{pad|1em}}'''halfres.''' ! &amp;lt;span style=&amp;quot;color:#FF8C00;&amp;quot;&amp;gt;videoscale add-borders=true ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! xvimagesink sync=false&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/Template:Pad</id>
		<title>Template:Pad</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Template:Pad"/>
				<updated>2011-10-06T17:44:59Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: create spacing template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span style=&amp;quot;padding-left: {{{1|1em}}};&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&amp;lt;noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/GST_cookbook</id>
		<title>GST cookbook</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/GST_cookbook"/>
				<updated>2011-10-06T17:02:24Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: add a good shove in the right direction for anyone interested in Elphel&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In addition to being a powerful multimedia infrastructure for applications Gstreamer is also a useful tool for general manipulations of multimedia data.  By invoking gst-launch from the command-line with a custom pipeline many useful processing steps are possible.&lt;br /&gt;
&lt;br /&gt;
Gstreamer also usually has good support for Xiph-related formats. &lt;br /&gt;
&lt;br /&gt;
Unfortunately, it can be rather difficult to figure out an appropriate pipeline without a starting point.&lt;br /&gt;
&lt;br /&gt;
Here are some useful examples: &amp;lt;!-- Don't complain about the selection of examples, I started this simply by grepping my shell history. Feel free to submit more and/or improve the existing ones --gmaxwell --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Encode a .wav to Vorbis:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.wav&amp;quot;  ! wavparse ! audioconvert ! vorbisenc ! oggmux ! filesink location=&amp;quot;OUTPUT.ogg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Dump a Theora video to PNGs:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.ogv&amp;quot; !  oggdemux ! theoradec ! ffmpegcolorspace ! pngenc snapshot=false ! multifilesink location=&amp;quot;OUTPUT%04d.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Transmux a MKV (containing vorbis and theora) to Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.mkv&amp;quot; ! matroskademux name=d ! video/x-theora ! queue ! theoraparse ! oggmux name=mux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot; d. ! audio/x-vorbis ! queue ! vorbisparse ! queue ! mux.&lt;br /&gt;
&lt;br /&gt;
===Encode a y4m to lossless Dirac in Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.y4m&amp;quot; ! decodebin ! schroenc force-profile=vc2_main rate-control=lossless ! oggmux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Pull from a windows media stream, transcode to Ogg/Theora+Vorbis and send to a icecast server:===&lt;br /&gt;
(may require purchasing Fluendo plugins for decoding the encumbered codecs)&lt;br /&gt;
*gst-launch uridecodebin uri=mms://SOURCE.SERVER.COM/path name=d ! queue max-size-time=100000000 ! ffmpegcolorspace ! theoraenc bitrate=800 ! oggmux name=mux ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv d. ! queue max-size-time=100000000 ! audioconvert ! vorbisenc ! mux.&lt;br /&gt;
&lt;br /&gt;
===Capture video from a webcam, encode to an Ogg Theora file, decode and display on screen, write to a file whose name is the current date+time, and stream to an IceCast server===&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! 'video/x-raw-yuv, width=640, height=480' ! videorate ! 'video/x-raw-yuv, framerate=15/1' ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=150 ! oggmux ! tee name=ogged ! queue max-size-bytes=100000000 max-size-time=0 ! oggdemux ! theoradec ! xvimagesink sync=false force-aspect-ratio=true ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=`date +%F_%T`.ogv ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv streamname=YOURSTREAMNAME description=YOURDESCRIPTION genre=YOURGENRE url=YOURSTREAMURL ogged.&lt;br /&gt;
&lt;br /&gt;
===A v4l2 source + ALSA source -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*dov4l -i [0|1] -m NTSC&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! videoscale ! video/x-raw-yuv,width=320,height=240,framerate=30000/1001,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=400 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
:Note that the above pipeline will slowly lose audio/video synchronization due to hardware-level limitations in audio vs. video capture of media samples.  FireWire and SDI-based capture does not have these limitations.&lt;br /&gt;
&lt;br /&gt;
===Two v4l2 sources combined side-by-side into rectangular video + ALSA -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video0:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video1:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*gst-launch --eos-on-shutdown v4l2src device=/dev/video0 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0  ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videomixer name=mix ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=600 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0  ! shout2send ip=icecast-server.com password=hackme mount=/mountpoint.ogv  v4l2src device=/dev/video1 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 !  queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=5/1 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videobox border-alpha=0 fill=green left=-320 ! mix.&lt;br /&gt;
&lt;br /&gt;
===Create a video with an alpha channel from a sequence of PNG files===&lt;br /&gt;
*gst-launch-0.10 multifilesrc location=images%05d.png caps=&amp;quot;image/png,framerate=1/1,pixel-aspect-ratio=1/1&amp;quot; num-buffers=95 ! pngdec ! videorate ! alphacolor ! &amp;quot;video/x-raw-yuv,format=(fourcc)AYUV&amp;quot; ! matroskamux ! filesink location=images_raw.mkv&lt;br /&gt;
&lt;br /&gt;
===Capture from a 1680x1050 GNOME Desktop, Combine with ALSA -&amp;gt; Ogg Theora + Vorbis -&amp;gt; Icecast===&lt;br /&gt;
*gst-launch  --eos-on-shutdown ximagesrc ! capsfilter caps=video/x-raw-rgb,framerate=3/1,width=1680,height=1050  ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-rgb, width=1056, height=660 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=450 keyframe-auto=false keyframe-force=12 keyframe-freq=12 speed-level=0 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:0,0 ! audio/x-raw-init,rate=44100,channels=1 ! queue max-size-bytes=100000000 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
*Icecast will need to be built from SVN (ver. 2.3.2 fails to relay data due to a bug)&lt;br /&gt;
*Viewers will need better-than-average internet connectivity (around 1.5Mbits/sec)&lt;br /&gt;
*The simplest way to capture audio events is to place a mic next to computer speakers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Live-stream a high-resolution Mac OSX Desktop at 1 FPS===&lt;br /&gt;
gst-launch --eos-on-shutdown osximagesrc ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! videoscale method=4-tap ! video/x-raw-yuv, width=960, height=600 ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=360 keyframe-auto=false keyframe-force=3 keyframe-freq=3 speed-level=0 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=host.com password=hackme mount=/mountpoint.ogv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Live-stream an Elphel 353L camera, combine with on-laptop audio capture, save a high-res copy to disk, and view the video on-screen===&lt;br /&gt;
*Tested on an 2.4GHz Core i3 running at ≥2.0GHz.  Both CPU cores should be at ~50% continuously-smooth utilization after the first ~15 seconds; battery-only power or overheating may throttle the CPU thus leading to dropped samples.&lt;br /&gt;
*Set the camera to 2592x1120 @ 18FPS.  Adjust camera controls to ensure the camera achieves this framerate.&lt;br /&gt;
*qjackctl &amp;amp;  → Start JACK in realtime priority&lt;br /&gt;
*gst-launch -e rtspsrc location=rtsp://192.168.0.9:554 latency=100 ! queue max-size-bytes=100000000 max-size-time=0 ! rtpjpegdepay ! queue max-size-bytes=100000000 max-size-time=0 ! jpegdec ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=18/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=1296, height=560 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=halfres ! queue max-size-bytes=100000000 max-size-time=0 ! jpegenc ! queue max-size-bytes=100000000 max-size-time=0 ! matroskamux name=mux jackaudiosrc connect=1 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=jackaudio ! queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux.  mux. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=elphel_recording_`date +%F_%T`.mkv  halfres. ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv, width=648, height=280 ! queue max-size-bytes=100000000 max-size-time=0 ! tee name=lowres ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=450 speed-level=1 ! queue max-size-bytes=100000000 max-size-time=0  ! oggmux name=livestream jackaudio. ! queue max-size-bytes=100000000 max-size-time=0 ! vorbisenc  ! queue max-size-bytes=100000000 max-size-time=0  ! livestream.  livestream. ! queue max-size-bytes=0 max-size-time=0 !  shout2send ip=host.com port=[80|8000] password=hackme mount=/mountpoint.ogv  halfres. ! videoscale add-borders=true ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! xvimagesink sync=false&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/GST_cookbook</id>
		<title>GST cookbook</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/GST_cookbook"/>
				<updated>2011-09-08T13:51:48Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: /* Capture from a 1680x1050 GNOME Desktop, Combine with ALSA -&amp;gt; Ogg Theora + Vorbis -&amp;gt; Icecast */ add mac desktop&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In addition to being a powerful multimedia infrastructure for applications Gstreamer is also a useful tool for general manipulations of multimedia data.  By invoking gst-launch from the command-line with a custom pipeline many useful processing steps are possible.&lt;br /&gt;
&lt;br /&gt;
Gstreamer also usually has good support for Xiph-related formats. &lt;br /&gt;
&lt;br /&gt;
Unfortunately, it can be rather difficult to figure out an appropriate pipeline without a starting point.&lt;br /&gt;
&lt;br /&gt;
Here are some useful examples: &amp;lt;!-- Don't complain about the selection of examples, I started this simply by grepping my shell history. Feel free to submit more and/or improve the existing ones --gmaxwell --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Encode a .wav to Vorbis:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.wav&amp;quot;  ! wavparse ! audioconvert ! vorbisenc ! oggmux ! filesink location=&amp;quot;OUTPUT.ogg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Dump a Theora video to PNGs:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.ogv&amp;quot; !  oggdemux ! theoradec ! ffmpegcolorspace ! pngenc snapshot=false ! multifilesink location=&amp;quot;OUTPUT%04d.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Transmux a MKV (containing vorbis and theora) to Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.mkv&amp;quot; ! matroskademux name=d ! video/x-theora ! queue ! theoraparse ! oggmux name=mux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot; d. ! audio/x-vorbis ! queue ! vorbisparse ! queue ! mux.&lt;br /&gt;
&lt;br /&gt;
===Encode a y4m to lossless Dirac in Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.y4m&amp;quot; ! decodebin ! schroenc force-profile=vc2_main rate-control=lossless ! oggmux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Pull from a windows media stream, transcode to Ogg/Thera+Vorbis and send to a icecast server:===&lt;br /&gt;
(requires purchasing fluendo plugins for decoding the encumbered codecs)&lt;br /&gt;
*gst-launch uridecodebin uri=mms://SOURCE.SERVER.COM/path name=d ! queue max-size-time=100000000 ! ffmpegcolorspace ! theoraenc bitrate=800 ! oggmux name=mux ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv d. ! queue max-size-time=100000000 ! audioconvert ! vorbisenc ! mux.&lt;br /&gt;
&lt;br /&gt;
===Capture video from a webcam, encode to an Ogg Theora file, decode and display on screen, write to a file whose name is the current date+time, and stream to an IceCast server===&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! 'video/x-raw-yuv, width=640, height=480' ! videorate ! 'video/x-raw-yuv, framerate=15/1' ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=150 ! oggmux ! tee name=ogged ! queue max-size-bytes=100000000 max-size-time=0 ! oggdemux ! theoradec ! xvimagesink sync=false force-aspect-ratio=true ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=`date +%F_%T`.ogv ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv streamname=YOURSTREAMNAME description=YOURDESCRIPTION genre=YOURGENRE url=YOURSTREAMURL ogged.&lt;br /&gt;
&lt;br /&gt;
===A v4l2 source + ALSA source -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*dov4l -i [0|1] -m NTSC&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! videoscale ! video/x-raw-yuv,width=320,height=240,framerate=30000/1001,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=400 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
:Note that the above pipeline will slowly lose audio/video synchronization due to hardware-level limitations in audio vs. video capture of media samples.  FireWire and SDI-based capture does not have these limitations.&lt;br /&gt;
&lt;br /&gt;
===Two v4l2 sources combined side-by-side into rectangular video + ALSA -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video0:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video1:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*gst-launch --eos-on-shutdown v4l2src device=/dev/video0 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0  ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videomixer name=mix ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=600 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0  ! shout2send ip=icecast-server.com password=hackme mount=/mountpoint.ogv  v4l2src device=/dev/video1 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 !  queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=5/1 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videobox border-alpha=0 fill=green left=-320 ! mix.&lt;br /&gt;
&lt;br /&gt;
===Create a video with an alpha channel from a sequence of PNG files===&lt;br /&gt;
*gst-launch-0.10 multifilesrc location=images%05d.png caps=&amp;quot;image/png,framerate=1/1,pixel-aspect-ratio=1/1&amp;quot; num-buffers=95 ! pngdec ! videorate ! alphacolor ! &amp;quot;video/x-raw-yuv,format=(fourcc)AYUV&amp;quot; ! matroskamux ! filesink location=images_raw.mkv&lt;br /&gt;
&lt;br /&gt;
===Capture from a 1680x1050 GNOME Desktop, Combine with ALSA -&amp;gt; Ogg Theora + Vorbis -&amp;gt; Icecast===&lt;br /&gt;
*gst-launch  --eos-on-shutdown ximagesrc ! capsfilter caps=video/x-raw-rgb,framerate=3/1,width=1680,height=1050  ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-rgb, width=1056, height=660 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=450 keyframe-auto=false keyframe-force=12 keyframe-freq=12 speed-level=0 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:0,0 ! audio/x-raw-init,rate=44100,channels=1 ! queue max-size-bytes=100000000 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
*Icecast will need to be built from SVN (ver. 2.3.2 fails to relay data due to a bug)&lt;br /&gt;
*Viewers will need better-than-average internet connectivity (around 1.5Mbits/sec)&lt;br /&gt;
*The simplest way to capture audio events is to place a mic next to computer speakers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Live-stream a high-resolution Mac OSX Desktop at 1 FPS===&lt;br /&gt;
gst-launch --eos-on-shutdown osximagesrc ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! videoscale method=4-tap ! video/x-raw-yuv, width=960, height=600 ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=360 keyframe-auto=false keyframe-force=3 keyframe-freq=3 speed-level=0 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=host.com password=hackme mount=/mountpoint.ogv&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/GST_cookbook</id>
		<title>GST cookbook</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/GST_cookbook"/>
				<updated>2011-05-12T19:16:15Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: /* Capture from a 1680x1050 GNOME Desktop, Combine with ALSA -&amp;gt; Ogg Theora + Vorbis -&amp;gt; Icecast */ reduced_resources actually exacerbate the slow-drag problem&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In addition to being a powerful multimedia infrastructure for applications Gstreamer is also a useful tool for general manipulations of multimedia data.  By invoking gst-launch from the command-line with a custom pipeline many useful processing steps are possible.&lt;br /&gt;
&lt;br /&gt;
Gstreamer also usually has good support for Xiph-related formats. &lt;br /&gt;
&lt;br /&gt;
Unfortunately, it can be rather difficult to figure out an appropriate pipeline without a starting point.&lt;br /&gt;
&lt;br /&gt;
Here are some useful examples: &amp;lt;!-- Don't complain about the selection of examples, I started this simply by grepping my shell history. Feel free to submit more and/or improve the existing ones --gmaxwell --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Encode a .wav to Vorbis:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.wav&amp;quot;  ! wavparse ! audioconvert ! vorbisenc ! oggmux ! filesink location=&amp;quot;OUTPUT.ogg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Dump a Theora video to PNGs:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.ogv&amp;quot; !  oggdemux ! theoradec ! ffmpegcolorspace ! pngenc snapshot=false ! multifilesink location=&amp;quot;OUTPUT%04d.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Transmux a MKV (containing vorbis and theora) to Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.mkv&amp;quot; ! matroskademux name=d ! video/x-theora ! queue ! theoraparse ! oggmux name=mux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot; d. ! audio/x-vorbis ! queue ! vorbisparse ! queue ! mux.&lt;br /&gt;
&lt;br /&gt;
===Encode a y4m to lossless Dirac in Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.y4m&amp;quot; ! decodebin ! schroenc force-profile=vc2_main rate-control=lossless ! oggmux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Pull from a windows media stream, transcode to Ogg/Thera+Vorbis and send to a icecast server:===&lt;br /&gt;
(requires purchasing fluendo plugins for decoding the encumbered codecs)&lt;br /&gt;
*gst-launch uridecodebin uri=mms://SOURCE.SERVER.COM/path name=d ! queue max-size-time=100000000 ! ffmpegcolorspace ! theoraenc bitrate=800 ! oggmux name=mux ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv d. ! queue max-size-time=100000000 ! audioconvert ! vorbisenc ! mux.&lt;br /&gt;
&lt;br /&gt;
===Capture video from a webcam, encode to an Ogg Theora file, decode and display on screen, write to a file whose name is the current date+time, and stream to an IceCast server===&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! 'video/x-raw-yuv, width=640, height=480' ! videorate ! 'video/x-raw-yuv, framerate=15/1' ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=150 ! oggmux ! tee name=ogged ! queue max-size-bytes=100000000 max-size-time=0 ! oggdemux ! theoradec ! xvimagesink sync=false force-aspect-ratio=true ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=`date +%F_%T`.ogv ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv streamname=YOURSTREAMNAME description=YOURDESCRIPTION genre=YOURGENRE url=YOURSTREAMURL ogged.&lt;br /&gt;
&lt;br /&gt;
===A v4l2 source + ALSA source -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*dov4l -i [0|1] -m NTSC&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! videoscale ! video/x-raw-yuv,width=320,height=240,framerate=30000/1001,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=400 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
:Note that the above pipeline will slowly lose audio/video synchronization due to hardware-level limitations in audio vs. video capture of media samples.  FireWire and SDI-based capture does not have these limitations.&lt;br /&gt;
&lt;br /&gt;
===Two v4l2 sources combined side-by-side into rectangular video + ALSA -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video0:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video1:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*gst-launch --eos-on-shutdown v4l2src device=/dev/video0 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0  ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videomixer name=mix ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=600 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0  ! shout2send ip=icecast-server.com password=hackme mount=/mountpoint.ogv  v4l2src device=/dev/video1 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 !  queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=5/1 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videobox border-alpha=0 fill=green left=-320 ! mix.&lt;br /&gt;
&lt;br /&gt;
===Create a video with an alpha channel from a sequence of PNG files===&lt;br /&gt;
*gst-launch-0.10 multifilesrc location=images%05d.png caps=&amp;quot;image/png,framerate=1/1,pixel-aspect-ratio=1/1&amp;quot; num-buffers=95 ! pngdec ! videorate ! alphacolor ! &amp;quot;video/x-raw-yuv,format=(fourcc)AYUV&amp;quot; ! matroskamux ! filesink location=images_raw.mkv&lt;br /&gt;
&lt;br /&gt;
===Capture from a 1680x1050 GNOME Desktop, Combine with ALSA -&amp;gt; Ogg Theora + Vorbis -&amp;gt; Icecast===&lt;br /&gt;
*gst-launch  --eos-on-shutdown ximagesrc ! capsfilter caps=video/x-raw-rgb,framerate=3/1,width=1680,height=1050  ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-rgb, width=1056, height=660 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=450 keyframe-auto=false keyframe-force=12 keyframe-freq=12 speed-level=0 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:0,0 ! audio/x-raw-init,rate=44100,channels=1 ! queue max-size-bytes=100000000 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
*Icecast will need to be built from SVN (ver. 2.3.2 fails to relay data due to a bug)&lt;br /&gt;
*Viewers will need better-than-average internet connectivity (at least 1.5Mbits/sec down?)&lt;br /&gt;
*The simplest way to capture audio events is to place a mic next to computer speakers&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/GST_cookbook</id>
		<title>GST cookbook</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/GST_cookbook"/>
				<updated>2011-05-12T18:09:18Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: /* Capture from a 1680x1050 GNOME Desktop, Combine with ALSA -&amp;gt; Ogg Theora + Vorbis -&amp;gt; Icecast */ use capsfilter instead, _much_ better buffer handling&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In addition to being a powerful multimedia infrastructure for applications Gstreamer is also a useful tool for general manipulations of multimedia data.  By invoking gst-launch from the command-line with a custom pipeline many useful processing steps are possible.&lt;br /&gt;
&lt;br /&gt;
Gstreamer also usually has good support for Xiph-related formats. &lt;br /&gt;
&lt;br /&gt;
Unfortunately, it can be rather difficult to figure out an appropriate pipeline without a starting point.&lt;br /&gt;
&lt;br /&gt;
Here are some useful examples: &amp;lt;!-- Don't complain about the selection of examples, I started this simply by grepping my shell history. Feel free to submit more and/or improve the existing ones --gmaxwell --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Encode a .wav to Vorbis:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.wav&amp;quot;  ! wavparse ! audioconvert ! vorbisenc ! oggmux ! filesink location=&amp;quot;OUTPUT.ogg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Dump a Theora video to PNGs:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.ogv&amp;quot; !  oggdemux ! theoradec ! ffmpegcolorspace ! pngenc snapshot=false ! multifilesink location=&amp;quot;OUTPUT%04d.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Transmux a MKV (containing vorbis and theora) to Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.mkv&amp;quot; ! matroskademux name=d ! video/x-theora ! queue ! theoraparse ! oggmux name=mux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot; d. ! audio/x-vorbis ! queue ! vorbisparse ! queue ! mux.&lt;br /&gt;
&lt;br /&gt;
===Encode a y4m to lossless Dirac in Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.y4m&amp;quot; ! decodebin ! schroenc force-profile=vc2_main rate-control=lossless ! oggmux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Pull from a windows media stream, transcode to Ogg/Thera+Vorbis and send to a icecast server:===&lt;br /&gt;
(requires purchasing fluendo plugins for decoding the encumbered codecs)&lt;br /&gt;
*gst-launch uridecodebin uri=mms://SOURCE.SERVER.COM/path name=d ! queue max-size-time=100000000 ! ffmpegcolorspace ! theoraenc bitrate=800 ! oggmux name=mux ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv d. ! queue max-size-time=100000000 ! audioconvert ! vorbisenc ! mux.&lt;br /&gt;
&lt;br /&gt;
===Capture video from a webcam, encode to an Ogg Theora file, decode and display on screen, write to a file whose name is the current date+time, and stream to an IceCast server===&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! 'video/x-raw-yuv, width=640, height=480' ! videorate ! 'video/x-raw-yuv, framerate=15/1' ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=150 ! oggmux ! tee name=ogged ! queue max-size-bytes=100000000 max-size-time=0 ! oggdemux ! theoradec ! xvimagesink sync=false force-aspect-ratio=true ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=`date +%F_%T`.ogv ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv streamname=YOURSTREAMNAME description=YOURDESCRIPTION genre=YOURGENRE url=YOURSTREAMURL ogged.&lt;br /&gt;
&lt;br /&gt;
===A v4l2 source + ALSA source -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*dov4l -i [0|1] -m NTSC&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! videoscale ! video/x-raw-yuv,width=320,height=240,framerate=30000/1001,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=400 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
:Note that the above pipeline will slowly lose audio/video synchronization due to hardware-level limitations in audio vs. video capture of media samples.  FireWire and SDI-based capture does not have these limitations.&lt;br /&gt;
&lt;br /&gt;
===Two v4l2 sources combined side-by-side into rectangular video + ALSA -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video0:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video1:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*gst-launch --eos-on-shutdown v4l2src device=/dev/video0 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0  ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videomixer name=mix ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=600 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0  ! shout2send ip=icecast-server.com password=hackme mount=/mountpoint.ogv  v4l2src device=/dev/video1 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 !  queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=5/1 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videobox border-alpha=0 fill=green left=-320 ! mix.&lt;br /&gt;
&lt;br /&gt;
===Create a video with an alpha channel from a sequence of PNG files===&lt;br /&gt;
*gst-launch-0.10 multifilesrc location=images%05d.png caps=&amp;quot;image/png,framerate=1/1,pixel-aspect-ratio=1/1&amp;quot; num-buffers=95 ! pngdec ! videorate ! alphacolor ! &amp;quot;video/x-raw-yuv,format=(fourcc)AYUV&amp;quot; ! matroskamux ! filesink location=images_raw.mkv&lt;br /&gt;
&lt;br /&gt;
===Capture from a 1680x1050 GNOME Desktop, Combine with ALSA -&amp;gt; Ogg Theora + Vorbis -&amp;gt; Icecast===&lt;br /&gt;
*gst-launch  --eos-on-shutdown ximagesrc ! capsfilter caps=video/x-raw-rgb,framerate=3/1,width=1680,height=1050  ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-rgb, width=1056, height=660 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=450 keyframe-auto=false keyframe-force=12 keyframe-freq=12 speed-level=0 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:0,0 ! audio/x-raw-init,rate=44100,channels=1 ! queue max-size-bytes=100000000 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
*Icecast will need to be built from SVN (ver. 2.3.2 fails to relay data due to a bug)&lt;br /&gt;
*Viewers will need better-than-average internet connectivity (at least 1.5Mbits/sec down?)&lt;br /&gt;
*The simplest way to capture audio events is to place a mic next to computer speakers&lt;br /&gt;
*Avoid pipeline underruns by launching 'gnome-at-properties', uncheck 'Enable assistive technologies', launch 'gconf-editor', navigate to 'apps/metacity/general' and check 'reduced_resources'.  This will enable wireframes while dragging windows and reduce other window animations, and is most helpful if slow window dragging spikes CPU usage.&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/GST_cookbook</id>
		<title>GST cookbook</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/GST_cookbook"/>
				<updated>2011-04-11T23:51:55Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: /* Desktop streaming */ fix typo, add explanation on disabling window animations&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In addition to being a powerful multimedia infrastructure for applications Gstreamer is also a useful tool for general manipulations of multimedia data.  By invoking gst-launch from the command-line with a custom pipeline many useful processing steps are possible.&lt;br /&gt;
&lt;br /&gt;
Gstreamer also usually has good support for Xiph-related formats. &lt;br /&gt;
&lt;br /&gt;
Unfortunately, it can be rather difficult to figure out an appropriate pipeline without a starting point.&lt;br /&gt;
&lt;br /&gt;
Here are some useful examples: &amp;lt;!-- Don't complain about the selection of examples, I started this simply by grepping my shell history. Feel free to submit more and/or improve the existing ones --gmaxwell --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Encode a .wav to Vorbis:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.wav&amp;quot;  ! wavparse ! audioconvert ! vorbisenc ! oggmux ! filesink location=&amp;quot;OUTPUT.ogg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Dump a Theora video to PNGs:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.ogv&amp;quot; !  oggdemux ! theoradec ! ffmpegcolorspace ! pngenc snapshot=false ! multifilesink location=&amp;quot;OUTPUT%04d.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Transmux a MKV (containing vorbis and theora) to Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.mkv&amp;quot; ! matroskademux name=d ! video/x-theora ! queue ! theoraparse ! oggmux name=mux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot; d. ! audio/x-vorbis ! queue ! vorbisparse ! queue ! mux.&lt;br /&gt;
&lt;br /&gt;
===Encode a y4m to lossless Dirac in Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.y4m&amp;quot; ! decodebin ! schroenc force-profile=vc2_main rate-control=lossless ! oggmux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Pull from a windows media stream, transcode to Ogg/Thera+Vorbis and send to a icecast server:===&lt;br /&gt;
(requires purchasing fluendo plugins for decoding the encumbered codecs)&lt;br /&gt;
*gst-launch uridecodebin uri=mms://SOURCE.SERVER.COM/path name=d ! queue max-size-time=100000000 ! ffmpegcolorspace ! theoraenc bitrate=800 ! oggmux name=mux ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv d. ! queue max-size-time=100000000 ! audioconvert ! vorbisenc ! mux.&lt;br /&gt;
&lt;br /&gt;
===Capture video from a webcam, encode to an Ogg Theora file, decode and display on screen, write to a file whose name is the current date+time, and stream to an IceCast server===&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! 'video/x-raw-yuv, width=640, height=480' ! videorate ! 'video/x-raw-yuv, framerate=15/1' ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=150 ! oggmux ! tee name=ogged ! queue max-size-bytes=100000000 max-size-time=0 ! oggdemux ! theoradec ! xvimagesink sync=false force-aspect-ratio=true ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=`date +%F_%T`.ogv ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv streamname=YOURSTREAMNAME description=YOURDESCRIPTION genre=YOURGENRE url=YOURSTREAMURL ogged.&lt;br /&gt;
&lt;br /&gt;
===A v4l2 source + ALSA source -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*dov4l -i [0|1] -m NTSC&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! videoscale ! video/x-raw-yuv,width=320,height=240,framerate=30000/1001,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=400 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
:Note that the above pipeline will slowly lose audio/video synchronization due to hardware-level limitations in audio vs. video capture of media samples.  FireWire and SDI-based capture does not have these limitations.&lt;br /&gt;
&lt;br /&gt;
===Two v4l2 sources combined side-by-side into rectangular video + ALSA -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video0:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video1:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*gst-launch --eos-on-shutdown v4l2src device=/dev/video0 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0  ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videomixer name=mix ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=600 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0  ! shout2send ip=icecast-server.com password=hackme mount=/mountpoint.ogv  v4l2src device=/dev/video1 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 !  queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=5/1 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videobox border-alpha=0 fill=green left=-320 ! mix.&lt;br /&gt;
&lt;br /&gt;
===Create a video with an alpha channel from a sequence of PNG files===&lt;br /&gt;
*gst-launch-0.10 multifilesrc location=images%05d.png caps=&amp;quot;image/png,framerate=1/1,pixel-aspect-ratio=1/1&amp;quot; num-buffers=95 ! pngdec ! videorate ! alphacolor ! &amp;quot;video/x-raw-yuv,format=(fourcc)AYUV&amp;quot; ! matroskamux ! filesink location=images_raw.mkv&lt;br /&gt;
&lt;br /&gt;
===Capture from a 1680x1050 GNOME Desktop, Combine with ALSA -&amp;gt; Ogg Theora + Vorbis -&amp;gt; Icecast===&lt;br /&gt;
*gst-launch  --eos-on-shutdown ximagesrc ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-rgb,framerate=3/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-rgb, width=1056, height=660 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=450 keyframe-auto=false keyframe-force=12 keyframe-freq=12 speed-level=0 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:0,0 ! audio/x-raw-init,rate=44100,channels=1 ! queue max-size-bytes=100000000 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
*Icecast will need to be built from SVN (ver. 2.3.2 fails to relay data due to a bug)&lt;br /&gt;
*Viewers will need better-than-average internet connectivity (at least 1.5Mbits/sec down?)&lt;br /&gt;
*The simplest way to capture audio events is to place a mic next to computer speakers&lt;br /&gt;
*Avoid pipeline underruns by launching 'gnome-at-properties', uncheck 'Enable assistive technologies', launch 'gconf-editor', navigate to 'apps/metacity/general' and check 'reduced_resources'.  This will enable wireframes while dragging windows and reduce other window animations, and is most helpful if slow window dragging spikes CPU usage.&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/GST_cookbook</id>
		<title>GST cookbook</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/GST_cookbook"/>
				<updated>2011-03-28T06:58:35Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: /* Capture from a 1680x1050 Desktop... */ kill accessiblity = better results&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In addition to being a powerful multimedia infrastructure for applications Gstreamer is also a useful tool for general manipulations of multimedia data.  By invoking gst-launch from the command-line with a custom pipeline many useful processing steps are possible.&lt;br /&gt;
&lt;br /&gt;
Gstreamer also usually has good support for Xiph-related formats. &lt;br /&gt;
&lt;br /&gt;
Unfortunately, it can be rather difficult to figure out an appropriate pipeline without a starting point.&lt;br /&gt;
&lt;br /&gt;
Here are some useful examples: &amp;lt;!-- Don't complain about the selection of examples, I started this simply by grepping my shell history. Feel free to submit more and/or improve the existing ones --gmaxwell --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Encode a .wav to Vorbis:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.wav&amp;quot;  ! wavparse ! audioconvert ! vorbisenc ! oggmux ! filesink location=&amp;quot;OUTPUT.ogg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Dump a Theora video to PNGs:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.ogv&amp;quot; !  oggdemux ! theoradec ! ffmpegcolorspace ! pngenc snapshot=false ! multifilesink location=&amp;quot;OUTPUT%04d.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Transmux a MKV (containing vorbis and theora) to Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.mkv&amp;quot; ! matroskademux name=d ! video/x-theora ! queue ! theoraparse ! oggmux name=mux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot; d. ! audio/x-vorbis ! queue ! vorbisparse ! queue ! mux.&lt;br /&gt;
&lt;br /&gt;
===Encode a y4m to lossless Dirac in Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.y4m&amp;quot; ! decodebin ! schroenc force-profile=vc2_main rate-control=lossless ! oggmux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Pull from a windows media stream, transcode to Ogg/Thera+Vorbis and send to a icecast server:===&lt;br /&gt;
(requires purchasing fluendo plugins for decoding the encumbered codecs)&lt;br /&gt;
*gst-launch uridecodebin uri=mms://SOURCE.SERVER.COM/path name=d ! queue max-size-time=100000000 ! ffmpegcolorspace ! theoraenc bitrate=800 ! oggmux name=mux ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv d. ! queue max-size-time=100000000 ! audioconvert ! vorbisenc ! mux.&lt;br /&gt;
&lt;br /&gt;
===Capture video from a webcam, encode to an Ogg Theora file, decode and display on screen, write to a file whose name is the current date+time, and stream to an IceCast server===&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! 'video/x-raw-yuv, width=640, height=480' ! videorate ! 'video/x-raw-yuv, framerate=15/1' ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=150 ! oggmux ! tee name=ogged ! queue max-size-bytes=100000000 max-size-time=0 ! oggdemux ! theoradec ! xvimagesink sync=false force-aspect-ratio=true ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=`date +%F_%T`.ogv ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv streamname=YOURSTREAMNAME description=YOURDESCRIPTION genre=YOURGENRE url=YOURSTREAMURL ogged.&lt;br /&gt;
&lt;br /&gt;
===A v4l2 source + ALSA source -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*dov4l -i [0|1] -m NTSC&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! videoscale ! video/x-raw-yuv,width=320,height=240,framerate=30000/1001,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=400 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
:Note that the above pipeline will slowly lose audio/video synchronization due to hardware-level limitations in audio vs. video capture of media samples.  FireWire and SDI-based capture does not have these limitations.&lt;br /&gt;
&lt;br /&gt;
===Two v4l2 sources combined side-by-side into rectangular video + ALSA -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video0:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video1:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*gst-launch --eos-on-shutdown v4l2src device=/dev/video0 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0  ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videomixer name=mix ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=600 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0  ! shout2send ip=icecast-server.com password=hackme mount=/mountpoint.ogv  v4l2src device=/dev/video1 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 !  queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=5/1 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videobox border-alpha=0 fill=green left=-320 ! mix.&lt;br /&gt;
&lt;br /&gt;
===Create a video with an alpha channel from a sequence of PNG files===&lt;br /&gt;
*gst-launch-0.10 multifilesrc location=images%05d.png caps=&amp;quot;image/png,framerate=1/1,pixel-aspect-ratio=1/1&amp;quot; num-buffers=95 ! pngdec ! videorate ! alphacolor ! &amp;quot;video/x-raw-yuv,format=(fourcc)AYUV&amp;quot; ! matroskamux ! filesink location=images_raw.mkv&lt;br /&gt;
&lt;br /&gt;
===Capture from a 1680x1050 GNOME Desktop, Combine with ALSA -&amp;gt; Ogg Theora + Vorbis -&amp;gt; Icecast===&lt;br /&gt;
*gst-launch  --eos-on-shutdown ximagesrc ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-rgb,framerate=3/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-rgb, width=1056, height=660 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=450 keyframe-auto=false keyframe-force=12 keyframe-freq=12 speed-level=0 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:0,0 ! audio/x-raw-init,rate=44100,channels=1 ! queue max-size-bytes=100000000 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
*Icecast will need to be built from SVN (ver. 2.3.2 fails to relay data due to a bug)&lt;br /&gt;
*Viewers will need better-than-average internet connectivity (at least 1.5Mbits/sec down?)&lt;br /&gt;
*The simplest way to capture audio events is to place a mic next to computer speakers&lt;br /&gt;
*Avoid pipeline underruns by launching 'gnome-at-properties', uncheck 'Enable assistive technologies', launch 'gconf-editor', navigate to 'apps/metacity/general' and uncheck 'reduced_resources'.  This will enable wireframes while dragging windows and reduce other window animations.&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/GST_cookbook</id>
		<title>GST cookbook</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/GST_cookbook"/>
				<updated>2011-03-28T04:50:02Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: /* Desktop capture, no audio -&amp;gt; Ogg Theora -&amp;gt; Icecast */ updates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In addition to being a powerful multimedia infrastructure for applications Gstreamer is also a useful tool for general manipulations of multimedia data.  By invoking gst-launch from the command-line with a custom pipeline many useful processing steps are possible.&lt;br /&gt;
&lt;br /&gt;
Gstreamer also usually has good support for Xiph-related formats. &lt;br /&gt;
&lt;br /&gt;
Unfortunately, it can be rather difficult to figure out an appropriate pipeline without a starting point.&lt;br /&gt;
&lt;br /&gt;
Here are some useful examples: &amp;lt;!-- Don't complain about the selection of examples, I started this simply by grepping my shell history. Feel free to submit more and/or improve the existing ones --gmaxwell --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Encode a .wav to Vorbis:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.wav&amp;quot;  ! wavparse ! audioconvert ! vorbisenc ! oggmux ! filesink location=&amp;quot;OUTPUT.ogg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Dump a Theora video to PNGs:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.ogv&amp;quot; !  oggdemux ! theoradec ! ffmpegcolorspace ! pngenc snapshot=false ! multifilesink location=&amp;quot;OUTPUT%04d.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Transmux a MKV (containing vorbis and theora) to Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.mkv&amp;quot; ! matroskademux name=d ! video/x-theora ! queue ! theoraparse ! oggmux name=mux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot; d. ! audio/x-vorbis ! queue ! vorbisparse ! queue ! mux.&lt;br /&gt;
&lt;br /&gt;
===Encode a y4m to lossless Dirac in Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.y4m&amp;quot; ! decodebin ! schroenc force-profile=vc2_main rate-control=lossless ! oggmux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Pull from a windows media stream, transcode to Ogg/Thera+Vorbis and send to a icecast server:===&lt;br /&gt;
(requires purchasing fluendo plugins for decoding the encumbered codecs)&lt;br /&gt;
*gst-launch uridecodebin uri=mms://SOURCE.SERVER.COM/path name=d ! queue max-size-time=100000000 ! ffmpegcolorspace ! theoraenc bitrate=800 ! oggmux name=mux ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv d. ! queue max-size-time=100000000 ! audioconvert ! vorbisenc ! mux.&lt;br /&gt;
&lt;br /&gt;
===Capture video from a webcam, encode to an Ogg Theora file, decode and display on screen, write to a file whose name is the current date+time, and stream to an IceCast server===&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! 'video/x-raw-yuv, width=640, height=480' ! videorate ! 'video/x-raw-yuv, framerate=15/1' ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=150 ! oggmux ! tee name=ogged ! queue max-size-bytes=100000000 max-size-time=0 ! oggdemux ! theoradec ! xvimagesink sync=false force-aspect-ratio=true ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=`date +%F_%T`.ogv ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv streamname=YOURSTREAMNAME description=YOURDESCRIPTION genre=YOURGENRE url=YOURSTREAMURL ogged.&lt;br /&gt;
&lt;br /&gt;
===A v4l2 source + ALSA source -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*dov4l -i [0|1] -m NTSC&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! videoscale ! video/x-raw-yuv,width=320,height=240,framerate=30000/1001,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=400 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
:Note that the above pipeline will slowly lose audio/video synchronization due to hardware-level limitations in audio vs. video capture of media samples.  FireWire and SDI-based capture does not have these limitations.&lt;br /&gt;
&lt;br /&gt;
===Two v4l2 sources combined side-by-side into rectangular video + ALSA -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video0:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video1:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*gst-launch --eos-on-shutdown v4l2src device=/dev/video0 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0  ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videomixer name=mix ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=600 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0  ! shout2send ip=icecast-server.com password=hackme mount=/mountpoint.ogv  v4l2src device=/dev/video1 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 !  queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=5/1 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videobox border-alpha=0 fill=green left=-320 ! mix.&lt;br /&gt;
&lt;br /&gt;
===Create a video with an alpha channel from a sequence of PNG files===&lt;br /&gt;
*gst-launch-0.10 multifilesrc location=images%05d.png caps=&amp;quot;image/png,framerate=1/1,pixel-aspect-ratio=1/1&amp;quot; num-buffers=95 ! pngdec ! videorate ! alphacolor ! &amp;quot;video/x-raw-yuv,format=(fourcc)AYUV&amp;quot; ! matroskamux ! filesink location=images_raw.mkv&lt;br /&gt;
&lt;br /&gt;
===Capture from a 1680x1050 Desktop, Combine with Audio -&amp;gt; Ogg Theora + Vorbis -&amp;gt; Icecast===&lt;br /&gt;
*gst-launch  --eos-on-shutdown ximagesrc ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-rgb,framerate=3/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-rgb, width=1056, height=660 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=450 keyframe-auto=false keyframe-force=12 keyframe-freq=12 speed-level=0 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:0,0 ! queue max-size-bytes=100000000 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
*Icecast will need to be built from SVN (ver. 2.3.2 fails to relay data due to a bug)&lt;br /&gt;
*Viewers will need better-than-average internet connectivity (at least 1.5Mbits/sec down?)&lt;br /&gt;
*The simplest way to capture audio events is to place a mic next to computer speakers&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/GST_cookbook</id>
		<title>GST cookbook</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/GST_cookbook"/>
				<updated>2011-03-16T21:09:51Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: add live desktop broadcast; this is a fragile pipeline sensitive to changes in bitrate and FPS&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In addition to being a powerful multimedia infrastructure for applications Gstreamer is also a useful tool for general manipulations of multimedia data.  By invoking gst-launch from the command-line with a custom pipeline many useful processing steps are possible.&lt;br /&gt;
&lt;br /&gt;
Gstreamer also usually has good support for Xiph-related formats. &lt;br /&gt;
&lt;br /&gt;
Unfortunately, it can be rather difficult to figure out an appropriate pipeline without a starting point.&lt;br /&gt;
&lt;br /&gt;
Here are some useful examples: &amp;lt;!-- Don't complain about the selection of examples, I started this simply by grepping my shell history. Feel free to submit more and/or improve the existing ones --gmaxwell --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Encode a .wav to Vorbis:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.wav&amp;quot;  ! wavparse ! audioconvert ! vorbisenc ! oggmux ! filesink location=&amp;quot;OUTPUT.ogg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Dump a Theora video to PNGs:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.ogv&amp;quot; !  oggdemux ! theoradec ! ffmpegcolorspace ! pngenc snapshot=false ! multifilesink location=&amp;quot;OUTPUT%04d.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Transmux a MKV (containing vorbis and theora) to Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.mkv&amp;quot; ! matroskademux name=d ! video/x-theora ! queue ! theoraparse ! oggmux name=mux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot; d. ! audio/x-vorbis ! queue ! vorbisparse ! queue ! mux.&lt;br /&gt;
&lt;br /&gt;
===Encode a y4m to lossless Dirac in Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.y4m&amp;quot; ! decodebin ! schroenc force-profile=vc2_main rate-control=lossless ! oggmux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Pull from a windows media stream, transcode to Ogg/Thera+Vorbis and send to a icecast server:===&lt;br /&gt;
(requires purchasing fluendo plugins for decoding the encumbered codecs)&lt;br /&gt;
*gst-launch uridecodebin uri=mms://SOURCE.SERVER.COM/path name=d ! queue max-size-time=100000000 ! ffmpegcolorspace ! theoraenc bitrate=800 ! oggmux name=mux ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv d. ! queue max-size-time=100000000 ! audioconvert ! vorbisenc ! mux.&lt;br /&gt;
&lt;br /&gt;
===Capture video from a webcam, encode to an Ogg Theora file, decode and display on screen, write to a file whose name is the current date+time, and stream to an IceCast server===&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! 'video/x-raw-yuv, width=640, height=480' ! videorate ! 'video/x-raw-yuv, framerate=15/1' ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=150 ! oggmux ! tee name=ogged ! queue max-size-bytes=100000000 max-size-time=0 ! oggdemux ! theoradec ! xvimagesink sync=false force-aspect-ratio=true ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=`date +%F_%T`.ogv ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv streamname=YOURSTREAMNAME description=YOURDESCRIPTION genre=YOURGENRE url=YOURSTREAMURL ogged.&lt;br /&gt;
&lt;br /&gt;
===A v4l2 source + ALSA source -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*dov4l -i [0|1] -m NTSC&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! videoscale ! video/x-raw-yuv,width=320,height=240,framerate=30000/1001,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=400 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
:Note that the above pipeline will slowly lose audio/video synchronization due to hardware-level limitations in audio vs. video capture of media samples.  FireWire and SDI-based capture does not have these limitations.&lt;br /&gt;
&lt;br /&gt;
===Two v4l2 sources combined side-by-side into rectangular video + ALSA -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video0:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video1:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*gst-launch --eos-on-shutdown v4l2src device=/dev/video0 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0  ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videomixer name=mix ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=600 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0  ! shout2send ip=icecast-server.com password=hackme mount=/mountpoint.ogv  v4l2src device=/dev/video1 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 !  queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=5/1 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videobox border-alpha=0 fill=green left=-320 ! mix.&lt;br /&gt;
&lt;br /&gt;
===Create a video with an alpha channel from a sequence of PNG files===&lt;br /&gt;
*gst-launch-0.10 multifilesrc location=images%05d.png caps=&amp;quot;image/png,framerate=1/1,pixel-aspect-ratio=1/1&amp;quot; num-buffers=95 ! pngdec ! videorate ! alphacolor ! &amp;quot;video/x-raw-yuv,format=(fourcc)AYUV&amp;quot; ! matroskamux ! filesink location=images_raw.mkv&lt;br /&gt;
&lt;br /&gt;
===Desktop capture, no audio -&amp;gt; Ogg Theora -&amp;gt; Icecast===&lt;br /&gt;
*gst-launch --eos-on-shutdown ximagesrc ! videorate ! video/x-raw-rgb,framerate=5/1 ! queue max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-rgb, width=1056, height=660 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=500 keyframe-auto=false keyframe-force=5 speed-level=1 drop-frames=false ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux max-page-delay=250000000 ! queue max-size-bytes=100000000 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/GST_cookbook</id>
		<title>GST cookbook</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/GST_cookbook"/>
				<updated>2011-03-01T19:07:48Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: /* v4l2 (x2) */ drop the framerate on the 2nd stream (e.g., for use with a scan converter for presentation slides)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In addition to being a powerful multimedia infrastructure for applications Gstreamer is also a useful tool for general manipulations of multimedia data.  By invoking gst-launch from the command-line with a custom pipeline many useful processing steps are possible.&lt;br /&gt;
&lt;br /&gt;
Gstreamer also usually has good support for Xiph-related formats. &lt;br /&gt;
&lt;br /&gt;
Unfortunately, it can be rather difficult to figure out an appropriate pipeline without a starting point.&lt;br /&gt;
&lt;br /&gt;
Here are some useful examples: &amp;lt;!-- Don't complain about the selection of examples, I started this simply by grepping my shell history. Feel free to submit more and/or improve the existing ones --gmaxwell --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Encode a .wav to Vorbis:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.wav&amp;quot;  ! wavparse ! audioconvert ! vorbisenc ! oggmux ! filesink location=&amp;quot;OUTPUT.ogg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Dump a Theora video to PNGs:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.ogv&amp;quot; !  oggdemux ! theoradec ! ffmpegcolorspace ! pngenc snapshot=false ! multifilesink location=&amp;quot;OUTPUT%04d.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Transmux a MKV (containing vorbis and theora) to Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.mkv&amp;quot; ! matroskademux name=d ! video/x-theora ! queue ! theoraparse ! oggmux name=mux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot; d. ! audio/x-vorbis ! queue ! vorbisparse ! queue ! mux.&lt;br /&gt;
&lt;br /&gt;
===Encode a y4m to lossless Dirac in Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.y4m&amp;quot; ! decodebin ! schroenc force-profile=vc2_main rate-control=lossless ! oggmux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Pull from a windows media stream, transcode to Ogg/Thera+Vorbis and send to a icecast server:===&lt;br /&gt;
(requires purchasing fluendo plugins for decoding the encumbered codecs)&lt;br /&gt;
*gst-launch uridecodebin uri=mms://SOURCE.SERVER.COM/path name=d ! queue max-size-time=100000000 ! ffmpegcolorspace ! theoraenc bitrate=800 ! oggmux name=mux ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv d. ! queue max-size-time=100000000 ! audioconvert ! vorbisenc ! mux.&lt;br /&gt;
&lt;br /&gt;
===Capture video from a webcam, encode to an Ogg Theora file, decode and display on screen, write to a file whose name is the current date+time, and stream to an IceCast server===&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! 'video/x-raw-yuv, width=640, height=480' ! videorate ! 'video/x-raw-yuv, framerate=15/1' ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=150 ! oggmux ! tee name=ogged ! queue max-size-bytes=100000000 max-size-time=0 ! oggdemux ! theoradec ! xvimagesink sync=false force-aspect-ratio=true ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=`date +%F_%T`.ogv ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv streamname=YOURSTREAMNAME description=YOURDESCRIPTION genre=YOURGENRE url=YOURSTREAMURL ogged.&lt;br /&gt;
&lt;br /&gt;
===A v4l2 source + ALSA source -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*dov4l -i [0|1] -m NTSC&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! videoscale ! video/x-raw-yuv,width=320,height=240,framerate=30000/1001,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=400 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
:Note that the above pipeline will slowly lose audio/video synchronization due to hardware-level limitations in audio vs. video capture of media samples.  FireWire and SDI-based capture does not have these limitations.&lt;br /&gt;
&lt;br /&gt;
===Two v4l2 sources combined side-by-side into rectangular video + ALSA -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video0:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video1:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*gst-launch --eos-on-shutdown v4l2src device=/dev/video0 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0  ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videomixer name=mix ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=600 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0  ! shout2send ip=icecast-server.com password=hackme mount=/mountpoint.ogv  v4l2src device=/dev/video1 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 !  queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=5/1 ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videobox border-alpha=0 fill=green left=-320 ! mix.&lt;br /&gt;
&lt;br /&gt;
===Create a video with an alpha channel from a sequence of PNG files===&lt;br /&gt;
*gst-launch-0.10 multifilesrc location=images%05d.png caps=&amp;quot;image/png,framerate=1/1,pixel-aspect-ratio=1/1&amp;quot; num-buffers=95 ! pngdec ! videorate ! alphacolor ! &amp;quot;video/x-raw-yuv,format=(fourcc)AYUV&amp;quot; ! matroskamux ! filesink location=images_raw.mkv&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/GST_cookbook</id>
		<title>GST cookbook</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/GST_cookbook"/>
				<updated>2011-03-01T19:04:04Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: add a new section on v4l2 side-by-side&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In addition to being a powerful multimedia infrastructure for applications Gstreamer is also a useful tool for general manipulations of multimedia data.  By invoking gst-launch from the command-line with a custom pipeline many useful processing steps are possible.&lt;br /&gt;
&lt;br /&gt;
Gstreamer also usually has good support for Xiph-related formats. &lt;br /&gt;
&lt;br /&gt;
Unfortunately, it can be rather difficult to figure out an appropriate pipeline without a starting point.&lt;br /&gt;
&lt;br /&gt;
Here are some useful examples: &amp;lt;!-- Don't complain about the selection of examples, I started this simply by grepping my shell history. Feel free to submit more and/or improve the existing ones --gmaxwell --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Encode a .wav to Vorbis:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.wav&amp;quot;  ! wavparse ! audioconvert ! vorbisenc ! oggmux ! filesink location=&amp;quot;OUTPUT.ogg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Dump a Theora video to PNGs:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.ogv&amp;quot; !  oggdemux ! theoradec ! ffmpegcolorspace ! pngenc snapshot=false ! multifilesink location=&amp;quot;OUTPUT%04d.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Transmux a MKV (containing vorbis and theora) to Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.mkv&amp;quot; ! matroskademux name=d ! video/x-theora ! queue ! theoraparse ! oggmux name=mux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot; d. ! audio/x-vorbis ! queue ! vorbisparse ! queue ! mux.&lt;br /&gt;
&lt;br /&gt;
===Encode a y4m to lossless Dirac in Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.y4m&amp;quot; ! decodebin ! schroenc force-profile=vc2_main rate-control=lossless ! oggmux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Pull from a windows media stream, transcode to Ogg/Thera+Vorbis and send to a icecast server:===&lt;br /&gt;
(requires purchasing fluendo plugins for decoding the encumbered codecs)&lt;br /&gt;
*gst-launch uridecodebin uri=mms://SOURCE.SERVER.COM/path name=d ! queue max-size-time=100000000 ! ffmpegcolorspace ! theoraenc bitrate=800 ! oggmux name=mux ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv d. ! queue max-size-time=100000000 ! audioconvert ! vorbisenc ! mux.&lt;br /&gt;
&lt;br /&gt;
===Capture video from a webcam, encode to an Ogg Theora file, decode and display on screen, write to a file whose name is the current date+time, and stream to an IceCast server===&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! 'video/x-raw-yuv, width=640, height=480' ! videorate ! 'video/x-raw-yuv, framerate=15/1' ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=150 ! oggmux ! tee name=ogged ! queue max-size-bytes=100000000 max-size-time=0 ! oggdemux ! theoradec ! xvimagesink sync=false force-aspect-ratio=true ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=`date +%F_%T`.ogv ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv streamname=YOURSTREAMNAME description=YOURDESCRIPTION genre=YOURGENRE url=YOURSTREAMURL ogged.&lt;br /&gt;
&lt;br /&gt;
===A v4l2 source + ALSA source -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*dov4l -i [0|1] -m NTSC&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! videoscale ! video/x-raw-yuv,width=320,height=240,framerate=30000/1001,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=400 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
:Note that the above pipeline will slowly lose audio/video synchronization due to hardware-level limitations in audio vs. video capture of media samples.  FireWire and SDI-based capture does not have these limitations.&lt;br /&gt;
&lt;br /&gt;
===Two v4l2 sources combined side-by-side into rectangular video + ALSA -&amp;gt; Ogg Theora -&amp;gt; IceCast===&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video0:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*mplayer tv:// -tv device=/dev/video1:driver=v4l2:norm=NTSC:width=320:height=240:outfmt=uyvy:input=1:buffersize=16: -ao null&lt;br /&gt;
*gst-launch --eos-on-shutdown v4l2src device=/dev/video0 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0  ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videomixer name=mix ! queue max-size-bytes=100000000 max-size-time=0 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=600 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! queue max-size-bytes=100000000 max-size-time=0 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0  ! shout2send ip=icecast-server.com password=hackme mount=/mountpoint.ogv  v4l2src device=/dev/video1 ! videoscale ! video/x-raw-yuv,width=320,height=240,interlaced=true ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0  ! videobox border-alpha=0 fill=green left=-320 ! mix.&lt;br /&gt;
&lt;br /&gt;
===Create a video with an alpha channel from a sequence of PNG files===&lt;br /&gt;
*gst-launch-0.10 multifilesrc location=images%05d.png caps=&amp;quot;image/png,framerate=1/1,pixel-aspect-ratio=1/1&amp;quot; num-buffers=95 ! pngdec ! videorate ! alphacolor ! &amp;quot;video/x-raw-yuv,format=(fourcc)AYUV&amp;quot; ! matroskamux ! filesink location=images_raw.mkv&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/GST_cookbook</id>
		<title>GST cookbook</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/GST_cookbook"/>
				<updated>2011-03-01T16:52:34Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: /* v4l2 -&amp;gt; icecast */ update for what I use, include color correction&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In addition to being a powerful multimedia infrastructure for applications Gstreamer is also a useful tool for general manipulations of multimedia data.  By invoking gst-launch from the command-line with a custom pipeline many useful processing steps are possible.&lt;br /&gt;
&lt;br /&gt;
Gstreamer also usually has good support for Xiph-related formats. &lt;br /&gt;
&lt;br /&gt;
Unfortunately, it can be rather difficult to figure out an appropriate pipeline without a starting point.&lt;br /&gt;
&lt;br /&gt;
Here are some useful examples: &amp;lt;!-- Don't complain about the selection of examples, I started this simply by grepping my shell history. Feel free to submit more and/or improve the existing ones --gmaxwell --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Encode a .wav to Vorbis:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.wav&amp;quot;  ! wavparse ! audioconvert ! vorbisenc ! oggmux ! filesink location=&amp;quot;OUTPUT.ogg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Dump a Theora video to PNGs:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.ogv&amp;quot; !  oggdemux ! theoradec ! ffmpegcolorspace ! pngenc snapshot=false ! multifilesink location=&amp;quot;OUTPUT%04d.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Transmux a MKV (containing vorbis and theora) to Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.mkv&amp;quot; ! matroskademux name=d ! video/x-theora ! queue ! theoraparse ! oggmux name=mux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot; d. ! audio/x-vorbis ! queue ! vorbisparse ! queue ! mux.&lt;br /&gt;
&lt;br /&gt;
===Encode a y4m to lossless Dirac in Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.y4m&amp;quot; ! decodebin ! schroenc force-profile=vc2_main rate-control=lossless ! oggmux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Pull from a windows media stream, transcode to Ogg/Thera+Vorbis and send to a icecast server:===&lt;br /&gt;
(requires purchasing fluendo plugins for decoding the encumbered codecs)&lt;br /&gt;
*gst-launch uridecodebin uri=mms://SOURCE.SERVER.COM/path name=d ! queue max-size-time=100000000 ! ffmpegcolorspace ! theoraenc bitrate=800 ! oggmux name=mux ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv d. ! queue max-size-time=100000000 ! audioconvert ! vorbisenc ! mux.&lt;br /&gt;
&lt;br /&gt;
===Capture video from a webcam, encode to an Ogg Theora file, decode and display on screen, write to a file whose name is the current date+time, and stream to an IceCast server===&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! 'video/x-raw-yuv, width=640, height=480' ! videorate ! 'video/x-raw-yuv, framerate=15/1' ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=150 ! oggmux ! tee name=ogged ! queue max-size-bytes=100000000 max-size-time=0 ! oggdemux ! theoradec ! xvimagesink sync=false force-aspect-ratio=true ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=`date +%F_%T`.ogv ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv streamname=YOURSTREAMNAME description=YOURDESCRIPTION genre=YOURGENRE url=YOURSTREAMURL ogged.&lt;br /&gt;
&lt;br /&gt;
===Capture video from a v4l2 device, encode to an Ogg Theora file, mux with an ALSA audio source with delayed audio for a/v sync, then stream to IceCast===&lt;br /&gt;
*dov4l -i [0|1] -m NTSC&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! videoscale ! video/x-raw-yuv,width=320,height=240,framerate=30000/1001,interlaced=true ! queue max-size-bytes=100000000 max-size-time=0 ! gamma gamma=1.2 ! queue max-size-bytes=100000000 max-size-time=0 ! videobalance saturation=1.9 brightness=0.00 contrast=1.4 hue=0.06 ! ffmpegcolorspace ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=400 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
:Note that the above pipeline will slowly lose audio/video synchronization due to hardware-level limitations in audio vs. video capture of media samples.  FireWire and SDI-based capture does not have these limitations.&lt;br /&gt;
&lt;br /&gt;
===Create a video with an alpha channel from a sequence of PNG files===&lt;br /&gt;
*gst-launch-0.10 multifilesrc location=images%05d.png caps=&amp;quot;image/png,framerate=1/1,pixel-aspect-ratio=1/1&amp;quot; num-buffers=95 ! pngdec ! videorate ! alphacolor ! &amp;quot;video/x-raw-yuv,format=(fourcc)AYUV&amp;quot; ! matroskamux ! filesink location=images_raw.mkv&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/GST_cookbook</id>
		<title>GST cookbook</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/GST_cookbook"/>
				<updated>2011-02-01T20:24:51Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: /* Capture video from a v4l2 device, encode to an Ogg Theora file, mux with an ALSA audio source with delayed audio for a/v sync, then stream to IceCast */  warning on loss of A/V sync&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In addition to being a powerful multimedia infrastructure for applications Gstreamer is also a useful tool for general manipulations of multimedia data.  By invoking gst-launch from the command-line with a custom pipeline many useful processing steps are possible.&lt;br /&gt;
&lt;br /&gt;
Gstreamer also usually has good support for Xiph-related formats. &lt;br /&gt;
&lt;br /&gt;
Unfortunately, it can be rather difficult to figure out an appropriate pipeline without a starting point.&lt;br /&gt;
&lt;br /&gt;
Here are some useful examples: &amp;lt;!-- Don't complain about the selection of examples, I started this simply by grepping my shell history. Feel free to submit more and/or improve the existing ones --gmaxwell --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Encode a .wav to Vorbis:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.wav&amp;quot;  ! wavparse ! audioconvert ! vorbisenc ! oggmux ! filesink location=&amp;quot;OUTPUT.ogg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Dump a Theora video to PNGs:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.ogv&amp;quot; !  oggdemux ! theoradec ! ffmpegcolorspace ! pngenc snapshot=false ! multifilesink location=&amp;quot;OUTPUT%04d.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Transmux a MKV (containing vorbis and theora) to Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.mkv&amp;quot; ! matroskademux name=d ! video/x-theora ! queue ! theoraparse ! oggmux name=mux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot; d. ! audio/x-vorbis ! queue ! vorbisparse ! queue ! mux.&lt;br /&gt;
&lt;br /&gt;
===Encode a y4m to lossless Dirac in Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.y4m&amp;quot; ! decodebin ! schroenc force-profile=vc2_main rate-control=lossless ! oggmux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Pull from a windows media stream, transcode to Ogg/Thera+Vorbis and send to a icecast server:===&lt;br /&gt;
(requires purchasing fluendo plugins for decoding the encumbered codecs)&lt;br /&gt;
*gst-launch uridecodebin uri=mms://SOURCE.SERVER.COM/path name=d ! queue max-size-time=100000000 ! ffmpegcolorspace ! theoraenc bitrate=800 ! oggmux name=mux ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv d. ! queue max-size-time=100000000 ! audioconvert ! vorbisenc ! mux.&lt;br /&gt;
&lt;br /&gt;
===Capture video from a webcam, encode to an Ogg Theora file, decode and display on screen, write to a file whose name is the current date+time, and stream to an IceCast server===&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! 'video/x-raw-yuv, width=640, height=480' ! videorate ! 'video/x-raw-yuv, framerate=15/1' ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=150 ! oggmux ! tee name=ogged ! queue max-size-bytes=100000000 max-size-time=0 ! oggdemux ! theoradec ! xvimagesink sync=false force-aspect-ratio=true ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=`date +%F_%T`.ogv ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv streamname=YOURSTREAMNAME description=YOURDESCRIPTION genre=YOURGENRE url=YOURSTREAMURL ogged.&lt;br /&gt;
&lt;br /&gt;
===Capture video from a v4l2 device, encode to an Ogg Theora file, mux with an ALSA audio source with delayed audio for a/v sync, then stream to IceCast===&lt;br /&gt;
gst-launch-0.10 --eos-on-shutdown v4l2src ! videoscale ! video/x-raw-yuv,width=320,height=240 ! ffmpegcolorspace ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=350 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;br /&gt;
:Note that the above pipeline will slowly lose audio/video synchronization due to hardware-level limitations in audio vs. video capture of media samples.  FireWire and SDI-based capture does not have these limitations.&lt;br /&gt;
&lt;br /&gt;
===Create a video with an alpha channel from a sequence of PNG files===&lt;br /&gt;
*gst-launch-0.10 multifilesrc location=images%05d.png caps=&amp;quot;image/png,framerate=1/1,pixel-aspect-ratio=1/1&amp;quot; num-buffers=95 ! pngdec ! videorate ! alphacolor ! &amp;quot;video/x-raw-yuv,format=(fourcc)AYUV&amp;quot; ! matroskamux ! filesink location=images_raw.mkv&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/GST_cookbook</id>
		<title>GST cookbook</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/GST_cookbook"/>
				<updated>2010-06-22T17:42:45Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: /* Capture video from a v4l2 device, encode to an Ogg Theora file, mux with an ALSA audio source (=hw:1,0), then stream to an IceCast server */ adding 'latency-time' as this was hard to dig up&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In addition to being a powerful multimedia infrastructure for applications Gstreamer is also a useful tool for general manipulations of multimedia data.  By invoking gst-launch from the command-line with a custom pipeline many useful processing steps are possible.&lt;br /&gt;
&lt;br /&gt;
Gstreamer also usually has good support for Xiph-related formats. &lt;br /&gt;
&lt;br /&gt;
Unfortunately, it can be rather difficult to figure out an appropriate pipeline without a starting point.&lt;br /&gt;
&lt;br /&gt;
Here are some useful examples: &amp;lt;!-- Don't complain about the selection of examples, I started this simply by grepping my shell history. Feel free to submit more and/or improve the existing ones --gmaxwell --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Encode a .wav to Vorbis:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.wav&amp;quot;  ! wavparse ! audioconvert ! vorbisenc ! oggmux ! filesink location=&amp;quot;OUTPUT.ogg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Dump a Theora video to PNGs:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.ogv&amp;quot; !  oggdemux ! theoradec ! ffmpegcolorspace ! pngenc snapshot=false ! multifilesink location=&amp;quot;OUTPUT%04d.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Transmux a MKV (containing vorbis and theora) to Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.mkv&amp;quot; ! matroskademux name=d ! video/x-theora ! queue ! theoraparse ! oggmux name=mux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot; d. ! audio/x-vorbis ! queue ! vorbisparse ! queue ! mux.&lt;br /&gt;
&lt;br /&gt;
===Encode a y4m to lossless Dirac in Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.y4m&amp;quot; ! decodebin ! schroenc force-profile=vc2_main rate-control=lossless ! oggmux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Pull from a windows media stream, transcode to Ogg/Thera+Vorbis and send to a icecast server:===&lt;br /&gt;
(requires purchasing fluendo plugins for decoding the encumbered codecs)&lt;br /&gt;
*gst-launch uridecodebin uri=mms://SOURCE.SERVER.COM/path name=d ! queue max-size-time=100000000 ! ffmpegcolorspace ! theoraenc bitrate=800 ! oggmux name=mux ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv d. ! queue max-size-time=100000000 ! audioconvert ! vorbisenc ! mux.&lt;br /&gt;
&lt;br /&gt;
===Capture video from a webcam, encode to an Ogg Theora file, decode and display on screen, write to a file whose name is the current date+time, and stream to an IceCast server===&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! 'video/x-raw-yuv, width=640, height=480' ! videorate ! 'video/x-raw-yuv, framerate=15/1' ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=150 ! oggmux ! tee name=ogged ! queue max-size-bytes=100000000 max-size-time=0 ! oggdemux ! theoradec ! xvimagesink sync=false force-aspect-ratio=true ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=`date +%F_%T`.ogv ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv streamname=YOURSTREAMNAME description=YOURDESCRIPTION genre=YOURGENRE url=YOURSTREAMURL ogged.&lt;br /&gt;
&lt;br /&gt;
===Capture video from a v4l2 device, encode to an Ogg Theora file, mux with an ALSA audio source with delayed audio for a/v sync, then stream to IceCast===&lt;br /&gt;
gst-launch-0.10 --eos-on-shutdown v4l2src ! videoscale ! video/x-raw-yuv,width=320,height=240 ! ffmpegcolorspace ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=350 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 latency-time=100 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/Talk:TheoraTestsuite</id>
		<title>Talk:TheoraTestsuite</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Talk:TheoraTestsuite"/>
				<updated>2010-06-03T13:12:06Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: A/V sync reference files would be helpful&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;It'd be helpful to create test files that contain audio, to see how multiplexing affects player compliance.  Most video on the web comes with audio; the new batch could be placed into an &amp;quot;OggTestsuite.&amp;quot;  I've been looking for a standards-compliant Ogg Vorbis+Theora file that contains both a dynamic visual reference pattern and audio tone that changes according to the timecode, but at exactly the same time, to stress-test A/V sync.  Suggestions?  [[User:GChriss|GChriss]] 13:12, 3 June 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/GST_cookbook</id>
		<title>GST cookbook</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/GST_cookbook"/>
				<updated>2010-05-18T12:19:45Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: add-in an audio example&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In addition to being a powerful multimedia infrastructure for applications Gstreamer is also a useful tool for general manipulations of multimedia data.  By invoking gst-launch from the command-line with a custom pipeline many useful processing steps are possible.&lt;br /&gt;
&lt;br /&gt;
Gstreamer also usually has good support for Xiph-related formats. &lt;br /&gt;
&lt;br /&gt;
Unfortunately, it can be rather difficult to figure out an appropriate pipeline without a starting point.&lt;br /&gt;
&lt;br /&gt;
Here are some useful examples: &amp;lt;!-- Don't complain about the selection of examples, I started this simply by grepping my shell history. Feel free to submit more and/or improve the existing ones --gmaxwell --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Encode a .wav to Vorbis:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.wav&amp;quot;  ! wavparse ! audioconvert ! vorbisenc ! oggmux ! filesink location=&amp;quot;OUTPUT.ogg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Dump a Theora video to PNGs:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.ogv&amp;quot; !  oggdemux ! theoradec ! ffmpegcolorspace ! pngenc snapshot=false ! multifilesink location=&amp;quot;OUTPUT%04d.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Transmux a MKV (containing vorbis and theora) to Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.mkv&amp;quot; ! matroskademux name=d ! video/x-theora ! queue ! theoraparse ! oggmux name=mux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot; d. ! audio/x-vorbis ! queue ! vorbisparse ! queue ! mux.&lt;br /&gt;
&lt;br /&gt;
===Encode a y4m to lossless Dirac in Ogg:===&lt;br /&gt;
*gst-launch filesrc location=&amp;quot;INPUT.y4m&amp;quot; ! decodebin ! schroenc force-profile=vc2_main rate-control=lossless ! oggmux ! filesink location=&amp;quot;OUTPUT.ogv&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Pull from a windows media stream, transcode to Ogg/Thera+Vorbis and send to a icecast server:===&lt;br /&gt;
(requires purchasing fluendo plugins for decoding the encumbered codecs)&lt;br /&gt;
*gst-launch uridecodebin uri=mms://SOURCE.SERVER.COM/path name=d ! queue max-size-time=100000000 ! ffmpegcolorspace ! theoraenc bitrate=800 ! oggmux name=mux ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv d. ! queue max-size-time=100000000 ! audioconvert ! vorbisenc ! mux.&lt;br /&gt;
&lt;br /&gt;
===Capture video from a webcam, encode to an Ogg Theora file, decode and display on screen, write to a file whose name is the current date+time, and stream to an IceCast server===&lt;br /&gt;
*gst-launch-0.10 --eos-on-shutdown v4l2src ! 'video/x-raw-yuv, width=640, height=480' ! videorate ! 'video/x-raw-yuv, framerate=15/1' ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=150 ! oggmux ! tee name=ogged ! queue max-size-bytes=100000000 max-size-time=0 ! oggdemux ! theoradec ! xvimagesink sync=false force-aspect-ratio=true ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! filesink location=`date +%F_%T`.ogv ogged. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=YOURICECAST.SERVER.COM port=8000 password=YOURPASSWORD mount=/OUTPUTFILENAME.ogv streamname=YOURSTREAMNAME description=YOURDESCRIPTION genre=YOURGENRE url=YOURSTREAMURL ogged.&lt;br /&gt;
&lt;br /&gt;
===Capture video from a v4l2 device, encode to an Ogg Theora file, mux with an ALSA audio source (=hw:1,0), then stream to an IceCast server===&lt;br /&gt;
gst-launch-0.10 --eos-on-shutdown v4l2src ! videoscale ! video/x-raw-yuv,width=320,height=240 ! ffmpegcolorspace ! videorate ! video/x-raw-yuv,framerate=15/1 ! queue max-size-bytes=100000000 max-size-time=0 ! theoraenc bitrate=350 ! queue max-size-bytes=100000000 max-size-time=0 ! oggmux name=mux alsasrc device=hw:1,0 ! audioconvert ! vorbisenc ! queue max-size-bytes=100000000 max-size-time=0 ! mux. mux. ! queue max-size-bytes=100000000 max-size-time=0 ! shout2send ip=icecast-server.com  password=hackme mount=/mountpoint.ogv&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/How_to_help</id>
		<title>How to help</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/How_to_help"/>
				<updated>2010-03-22T03:39:25Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: /* PR and organizational matters */ link to videoonwikipedia.org&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
This page is intended to collect ideas and areas where new participants can contribute to Xiph.org initiatives. &lt;br /&gt;
Because this is an open wiki not all of these points have been reviewed with core Xiph developers.  It is always best to coordinate your efforts on the relevant Xiph mailing lists and IRC channels.&lt;br /&gt;
&lt;br /&gt;
One of the best ways people can contribute is by using the tools and formats. This accomplishes two primary goals:&lt;br /&gt;
#By providing materials in free formats you help lower the barriers to adoption for others&lt;br /&gt;
#By using the tools you will discover problems which you can report contributing to further development and refinement &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==OggDSF specific activities==&lt;br /&gt;
Directshow is the windows video codec API, OggDSF provides support for Vorbis/Theora/Speex/Flac and Ogg in directshow.&lt;br /&gt;
&lt;br /&gt;
Places to discuss development: Theora mailing list;  #theora on irc.freenode.net&lt;br /&gt;
&lt;br /&gt;
*Testing. Much of the Xiph.org community are run various unix-like operating systems. While OggDSF is widely used, it isn't frequently used by much of the more experienced Xiph.org community and hasn't has sufficient scrutiny. &lt;br /&gt;
&lt;br /&gt;
==Software outreach==&lt;br /&gt;
Xiph.org software often reaches users via other software. E.g. Few people run libtheora by itself, many people use libtheora through other tools like VLC, Firefox, or gstreamer.  These tools are maintained by other projects but the reliability and robustness of the free format support in these applications is critical to the public's ability to use Xiph.org formats.  &lt;br /&gt;
&lt;br /&gt;
Relevant contribution areas:&lt;br /&gt;
#Testing, e.g. [[TheoraTestsuite]] and reporting bugs into the relevant bug trackers&lt;br /&gt;
#Cross porting features&lt;br /&gt;
#Updating tools to support the latest features in the Xiph.org implementations (e.g. two-pass encoding for video tools)&lt;br /&gt;
&lt;br /&gt;
==Theora specific activities==&lt;br /&gt;
Places to discuss development: Theora mailing list;  #theora on irc.freenode.net&lt;br /&gt;
&lt;br /&gt;
*Identifying videos where 1.1 or 1.2-development (ptalarbvorm) produce significantly worse results than prior versions. (These case is important compared to &amp;quot;works worse than some random format&amp;quot; because the differences are more likely to be actionable rather than just chance consequences related to differences in the encoders overall behaviour)&lt;br /&gt;
&lt;br /&gt;
*Decoder assembly optimization for additional platforms (MIPS64; PPC)&lt;br /&gt;
**Skills required: optimization and development experience on the relevant platform. &lt;br /&gt;
&lt;br /&gt;
*Decoder general performance improvements&lt;br /&gt;
**Skills required: C language; Use of a profiler. Optionally: SIMD assembly on relevant platforms.&lt;br /&gt;
&lt;br /&gt;
==Vorbis specific activities==&lt;br /&gt;
Places to discuss development: Vorbis mailing list;  #vorbis on irc.freenode.net&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Identifying test samples where Vorbis encodings at very high quality are not completely transparent under careful listening tests. &lt;br /&gt;
*Identifying test cases that exemplify the improvements in the current AoTuV development. (Helps with AoTuV merging)&lt;br /&gt;
*Identifying test samples where Vorbis performs worse than other formats.&lt;br /&gt;
&lt;br /&gt;
==Skeleton specific activities==&lt;br /&gt;
Places to discuss development: Theora mailing list;  #theora on irc.freenode.net&lt;br /&gt;
&lt;br /&gt;
==Liboggz specific activities==&lt;br /&gt;
Places to discuss development: Theora mailing list;  #theora on irc.freenode.net&lt;br /&gt;
&lt;br /&gt;
==Cortado specific activities==&lt;br /&gt;
Places to discuss development: Theora mailing list;  #theora on irc.freenode.net&lt;br /&gt;
&lt;br /&gt;
Cortado is contains Java implementation of Vorbis/Theora/Kate/Ogg and an applet that allows playback of these formats on the web. It is the most popular fallback for HTML5 Ogg video, allowing users on legacy browsers (as old as Netscape 4) to play modern web video.&lt;br /&gt;
* See the cortado todo: [[Cortado/todo]]&lt;br /&gt;
&lt;br /&gt;
==Flash port of Theora==&lt;br /&gt;
There are several workable implementations of Vorbis for the flash virtual machine. An implementation of Theora would allow the creation of a flash applet which plays Ogg video. One possible tool for this would be Adobe Alchemy, a C to Flash compiler which can be used to compile libtheora for flash.  Beyond the basic codec porting work there is significant effort required building a player infrastructure around them because the built-in flash video infrastructure are not available for user implemented codecs (unlike silverlight). This initiative is primarily hindered by the surprising lack of overlap between flash developers and people who care about unencumbered formats.&lt;br /&gt;
&lt;br /&gt;
==Additional tools work==&lt;br /&gt;
*Build and refine fall-back tools for HTML5 video based on Cortado, Flash Vorbis, and the upcoming Silverlight applet support.  Many existing fallback tools require users to adopt H.264, such tools are valuable for media providers who are willing and able to distribute H.264 but they are not useful for ones who are not, and they are not tools that Xiph can really stand behind.&lt;br /&gt;
&lt;br /&gt;
==PR and organizational matters==&lt;br /&gt;
*Participate in external promotional activities such as [http://www.fsf.org/resources/formats/playogg PlayOgg!]&lt;br /&gt;
*[http://videoonwikipedia.org Contribute] to Wikipedia's video collection&lt;br /&gt;
*Locate media coverage regarding free formats and related areas and share it with the the mailing lists&lt;br /&gt;
*Encourage additional media distributors to support HTML5 with Theora&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/TheoraSoftwareEncoders</id>
		<title>TheoraSoftwareEncoders</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/TheoraSoftwareEncoders"/>
				<updated>2009-08-24T15:37:02Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: fix link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Multi-platform ==&lt;br /&gt;
*[http://www.v2v.cc/~j/ffmpeg2theora/ ffmpeg2theora] a commandline encoder from any format read by ffmpeg to Theora/Vorbis: [http://svn.xiph.org/trunk/ffmpeg2theora/ svn], [http://www.v2v.cc/~j/ffmpeg2theora/download.html major releases], [http://firefogg.org/nightly/ very latest versions of ffmpeg2theora and some more stuff]&lt;br /&gt;
* [http://diracvideo.org/download/ffmpeg2dirac/ ffmpeg2dirac] - fork of ffmpeg2theora, can enode into OGG Dirac but also Theora&lt;br /&gt;
*[http://www.videolan.org/ VLC Media Player] Can transcode from any source it supports into Ogg/Theora. WARNING: Apparently creates broken Ogg streams.&lt;br /&gt;
*[http://gstreamer.freedesktop.org/ GStreamer] GStreamer is a library that allows the construction of graphs of media-handling components, ranging from simple Vorbis playback to complex audio (mixing) and video (non-linear editing) processing.&lt;br /&gt;
*[http://sarava.org/theorur/ Theorur] is a GUI for Ogg/Theora streaming (icecast2 system), written using gtk2.&lt;br /&gt;
*[http://handbrake.fr Handbrake] is a GUI/CLI free software for ripping/encoding DVD/Files into various containers and formats including theora &amp;amp; vorbis since September 2008. &lt;br /&gt;
*[http://firefogg.org/ firefogg] is a Firefox extension that encodes locally and uploads in chunks or when encoding finishes&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
*[http://dir.visonair.tv/streamer.php Visonair.tv Ogg Streamer] A Windows application to stream directly from a webcam to an Icecast server.&lt;br /&gt;
*[http://www.visonair.tv/ Visonair.tv Virtual Stage] Includes an application to encode to Theora, forces fixed size and encoding parameters though.  Registration required.&lt;br /&gt;
*[http://www.freewarefiles.com/program_6_227_33306.html GFrontend ffmpeg2theora] GUI Frontend for ffmpeg2theora&lt;br /&gt;
*[http://mediacoder.sourceforge.net/ MediaCoder] Application to encode media files into many target formats, including Theora.&lt;br /&gt;
*[http://www.erightsoft.com/ SUPER] General purpose converter application, also serves as a frontend to ffmpeg2theora.&lt;br /&gt;
&lt;br /&gt;
== Linux/BSD ==&lt;br /&gt;
*[http://thoggen.net/ Thoggen] is a DVD backup utility ('DVD ripper') for Linux, based on GStreamer and Gtk+.&lt;br /&gt;
*[http://freej.org/ Freej] Freej is a realtime video mixer. It can stream Theora and Vorbis live to [http://icecast.org icecast]. Check [http://lab.dyne.org/FreejStreaming here] for more info.&lt;br /&gt;
* [http://oggconvert.tristanb.net/ OggConvert] is a small Gnome utility which uses GStreamer to convert (almost) any media file to Vorbis, Theora and Dirac.&lt;br /&gt;
&lt;br /&gt;
== Mac OS X ==&lt;br /&gt;
*[http://xiph.org/quicktime XiphQT] allows you to export from Quicktime, or any application supporting Quicktime (i.e. Final Cut Pro), to Theora/Vorbis.&lt;br /&gt;
*[http://v2v.cc/~j/SimpleTheoraEncoder/ Simple Theora Encoder] an ffmpeg2theora frontend&lt;br /&gt;
&lt;br /&gt;
== See also== &lt;br /&gt;
{{Template:Theora}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Theora]]&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/TheoraSoftwareEncoders</id>
		<title>TheoraSoftwareEncoders</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/TheoraSoftwareEncoders"/>
				<updated>2009-08-24T15:36:23Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: add firefogg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Multi-platform ==&lt;br /&gt;
*[http://www.v2v.cc/~j/ffmpeg2theora/ ffmpeg2theora] a commandline encoder from any format read by ffmpeg to Theora/Vorbis: [http://svn.xiph.org/trunk/ffmpeg2theora/ svn], [http://www.v2v.cc/~j/ffmpeg2theora/download.html major releases], [http://firefogg.org/nightly/ very latest versions of ffmpeg2theora and some more stuff]&lt;br /&gt;
* [http://diracvideo.org/download/ffmpeg2dirac/ ffmpeg2dirac] - fork of ffmpeg2theora, can enode into OGG Dirac but also Theora&lt;br /&gt;
*[http://www.videolan.org/ VLC Media Player] Can transcode from any source it supports into Ogg/Theora. WARNING: Apparently creates broken Ogg streams.&lt;br /&gt;
*[http://gstreamer.freedesktop.org/ GStreamer] GStreamer is a library that allows the construction of graphs of media-handling components, ranging from simple Vorbis playback to complex audio (mixing) and video (non-linear editing) processing.&lt;br /&gt;
*[http://sarava.org/theorur/ Theorur] is a GUI for Ogg/Theora streaming (icecast2 system), written using gtk2.&lt;br /&gt;
*[http://handbrake.fr Handbrake] is a GUI/CLI free software for ripping/encoding DVD/Files into various containers and formats including theora &amp;amp; vorbis since September 2008. &lt;br /&gt;
*[http://firefogg.org/ firefogg is a Firefox extension that encodes locally and uploads in chunks or when encoding finishes]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
*[http://dir.visonair.tv/streamer.php Visonair.tv Ogg Streamer] A Windows application to stream directly from a webcam to an Icecast server.&lt;br /&gt;
*[http://www.visonair.tv/ Visonair.tv Virtual Stage] Includes an application to encode to Theora, forces fixed size and encoding parameters though.  Registration required.&lt;br /&gt;
*[http://www.freewarefiles.com/program_6_227_33306.html GFrontend ffmpeg2theora] GUI Frontend for ffmpeg2theora&lt;br /&gt;
*[http://mediacoder.sourceforge.net/ MediaCoder] Application to encode media files into many target formats, including Theora.&lt;br /&gt;
*[http://www.erightsoft.com/ SUPER] General purpose converter application, also serves as a frontend to ffmpeg2theora.&lt;br /&gt;
&lt;br /&gt;
== Linux/BSD ==&lt;br /&gt;
*[http://thoggen.net/ Thoggen] is a DVD backup utility ('DVD ripper') for Linux, based on GStreamer and Gtk+.&lt;br /&gt;
*[http://freej.org/ Freej] Freej is a realtime video mixer. It can stream Theora and Vorbis live to [http://icecast.org icecast]. Check [http://lab.dyne.org/FreejStreaming here] for more info.&lt;br /&gt;
* [http://oggconvert.tristanb.net/ OggConvert] is a small Gnome utility which uses GStreamer to convert (almost) any media file to Vorbis, Theora and Dirac.&lt;br /&gt;
&lt;br /&gt;
== Mac OS X ==&lt;br /&gt;
*[http://xiph.org/quicktime XiphQT] allows you to export from Quicktime, or any application supporting Quicktime (i.e. Final Cut Pro), to Theora/Vorbis.&lt;br /&gt;
*[http://v2v.cc/~j/SimpleTheoraEncoder/ Simple Theora Encoder] an ffmpeg2theora frontend&lt;br /&gt;
&lt;br /&gt;
== See also== &lt;br /&gt;
{{Template:Theora}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Theora]]&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/Talk:PortablePlayers</id>
		<title>Talk:PortablePlayers</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/Talk:PortablePlayers"/>
				<updated>2009-06-18T14:05:21Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: /* Humble A2 Review */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==TrekStor==&lt;br /&gt;
There are many more portable players by TrekStor than the i.beat 500 supporting ogg vorbis.&lt;br /&gt;
&lt;br /&gt;
Please add products to the main page.&lt;br /&gt;
&lt;br /&gt;
== LG players ==&lt;br /&gt;
I think LG's player MF-FM30 looks nice. BUT, does it have support for UMS (the products homepage doesn't say so so I guess not) or does there software work in Linux? Somebody who knows?&lt;br /&gt;
Hannulan - 23:48, 1 oktober 2006&lt;br /&gt;
&lt;br /&gt;
== List of top five players ==&lt;br /&gt;
It would be a good idea to have a few (five?) players at the top with images that are considered to be the best *recent* devices. I don't think any of the MP3 using masses will use this page to choose their next music player unless it lists recent devices, and presents a choice of five or six at the top, with images, and links to sites that they can buy them from. Also, could someone put up a notice to remind people it's not OGG, or Ogg! It's Ogg Vorbis, or if you must, Vorbis. - thehumanerror 25th December 2006&lt;br /&gt;
&lt;br /&gt;
I totally agree with the above. This page was next to useless for me when I was shopping for a Vorbis player since I was overwhelmed with choices. Add to that the fact that many products have been discontinued or cannot be bought new and there's a recipe for disaster. - erpo41 October 17th, 2007&lt;br /&gt;
&lt;br /&gt;
I also agree with the above; the primary reason I am not using Ogg Vorbis (I keep a parallel collection of mp3 and flac files) is I cannot easily find a portable player.  I don't know that reorganizing this wiki page will help.  I did comb through this page; basically all of the  listed hard disk players are from one off manufacturers or not being manufactured any more.  There are plenty of nice flash storage based devices and cell phones (from Samsung and others), but that is not what I am looking for.  Also, I'm not interested in hacking my iPod.  (I do embedded linux development enough at work; I'll pay someone else to get my media player working).  Until this is addressed, Ogg Vorbis is going to remain out of use; which is a shame because for every other reason it is the best (in my opinion).  --Kevin Holzer, January 10, 2009&lt;br /&gt;
&lt;br /&gt;
:Yes.  This is a good idea.  Create a section at the top.  Polish it well.  And perhaps add a free-licensed photo.  Anyone up for it?--[[User:Saoshyant|Ivo]] 06:41, 17 October 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
I would rather see just a simple feature matrix (sorted so that unavailable devices are listed at the bottom, or just not listed at all). See talk below. Maybe preferred choises could be raised to the top thought! I agree that current list is quite unusable.&lt;br /&gt;
&lt;br /&gt;
== Recording in Vorbis ==&lt;br /&gt;
&lt;br /&gt;
I would like to know which Players can '''record''' in Vorbis?! -- [[User:217.186.150.213|217.186.150.213]] 17:03, 26 Dec 2004 (PST)&lt;br /&gt;
&lt;br /&gt;
:Ditto. Absolutely vital information. Do any of the players listed also record in Vorbis? If anyone has experience with A player, please state specifically whether it does or does not record in Vorbis.[[User:Nickhill|Nickhill]] 15:04, 4 June 2006 (PDT)&lt;br /&gt;
&lt;br /&gt;
::Never heard of one that does, and there isn't a fixed point reference encoder, which makes it unlikely.&lt;br /&gt;
&lt;br /&gt;
== Pretec Allegro may need firmware update ==&lt;br /&gt;
&lt;br /&gt;
I recently purchased a Pretec Allegro, but was unable to play Oggs for three months, until the firmware update was made available on 14 or 15 March 2005. Now it works well! (So far, listening to -q3 Oggs). I'd hope that units purchased after this date already has the firmware update, but you never know. Installing the update is as simple as placing the .rom on the USB-storage-device media (eg flash disk), starting up the unit, and pressing the play button. -- Hugo van der Merwe&lt;br /&gt;
: How much battery runtime do you get playing Oggs compared with playing mp3?  [[User:Phr|Phr]] 02:05, 27 Aug 2005 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Any player with Removable Memory Cards ==&lt;br /&gt;
&lt;br /&gt;
The NexBlack (see [[PortablePlayers]] ) has removable compact flash and batteries.&lt;br /&gt;
&lt;br /&gt;
Every single Vorbis-capable portable player out there seems to come with built-in flash memory. Which is stupid, because I don't want to fire up my computer and plug in the player every time I get tired of the tracks on my player. Plus flash memory has a limited lifetime (write cycles) and so does your player with built-in memory. The same applies for built-in rechargable batteries. &lt;br /&gt;
&lt;br /&gt;
Now when would you ever need to buy your second device without any moving parts if you could just change flash memory and batteries? Ok, that's the industrie's point of view but not mine. I want to go on vacation with music and batteries for one week of non-stop music - without a power source or computer nearby.&lt;br /&gt;
&lt;br /&gt;
So, any hint to where I might find a portable audio player that can play back ogg vorbis files and uses SD flash cards (and preferably AAA-batteries) would be greatly appreciated.&lt;br /&gt;
* Me too! If the [http://enox.co.kr/2004/eng/product/product_830_01.asp Enox EMX-830] took SD cards it'd be perfect. --[[User:Rgm|rgm]] 14:41, 7 Nov 2005 (PST)&lt;br /&gt;
&lt;br /&gt;
* SanDisk Sansa e250/e260/e270/e280 has a microSD-card slot. With ROCKbox it plays Ogg/Vorbis and more.[[User:Nostromo|Nostromo]] 15:26, 29 October 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
The Pretec Allegro is not the slickest player out there, it's LCD backlight seems to give off a high-pitched whine, which not everyone can hear (it kind-of screams in my ears though, so I put the backlight timer on 1 second so it doesn't scream too long). It is, however, the only one I now know of that can play Oggs, and uses removable media. If you want a nicely portable device, you have to use Pretec's &amp;quot;iDisk tiny&amp;quot; usb flash disk, the only thing that will fit inside. You can also, however, connect some USB SD-card reader with it's cable, then listen to Oggs off of SD. A little unwieldy, but, it works, and is the only thing *I* know of. (I stopped following developments in December though, when I bought it...)&lt;br /&gt;
&lt;br /&gt;
== Samsung / Yepp ==&lt;br /&gt;
&lt;br /&gt;
Moved to [[Talk:PortablePlayersSamsungYepp]]&lt;br /&gt;
&lt;br /&gt;
== UniBrain iZak ==&lt;br /&gt;
&lt;br /&gt;
Apologies if this is the wrong place for this; I'm new to wikis.&lt;br /&gt;
&lt;br /&gt;
The UniBrain iZak was added, then removed recently, with the comment that it doesn't claim to play Ogg Vorbis.&lt;br /&gt;
&lt;br /&gt;
The FAQ is available here: [http://www.unibrain.com/support/FAQ_iZak.htm iZak FAQ] and Question/Answer 24 says:&lt;br /&gt;
&lt;br /&gt;
'22. Can iZak™ support OGG audio files?&lt;br /&gt;
&lt;br /&gt;
Yes, iZak™ fully supports OGG playback using the latest firmware.'&lt;br /&gt;
&lt;br /&gt;
:I was the one that removed it. In their specs linked from the main page, I saw that they listed only MP3 and WMA support for music formats. Obviously they need to update their promotional material! I went ahead and added the iZak back in, making a point to mention that the most current version of the firmware now supports Ogg Vorbis and linking to their FAQ as evidence. [[User:Saxifrage|Saxifrage]] 02:36, 5 May 2005 (PDT)&lt;br /&gt;
&lt;br /&gt;
:Splendid. I didn't want to just stick it back after it had been taken out.--[[User:Ipl|Ipl]] 05:14, 5 May 2005 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Entempo Spirit ==&lt;br /&gt;
&lt;br /&gt;
This inexpensive player from Entempo had listed Vorbis as a &amp;quot;Supported Audio Format&amp;quot;, but the device will not index the Vorbis files into it's menus -- let alone play the files.  Tested with both the stock and most recent firmware, May 29, 2005.  Vendor had been contacted and removed Vorbis support claims from their website, but has not provided any resolution to customers which purchased the product expecting this support.  The company's webpage has disappeared as of Feb 2006.&lt;br /&gt;
&lt;br /&gt;
== Lexar LDP-800 dropped ==&lt;br /&gt;
It seems that Lexar have abondoned the LDP-800. The following was posted by a user on [http://www.dapreview.net/comment.php?comment.news.1055 dapreview.net]&lt;br /&gt;
&amp;quot; Unfortunately, lexar will not offer the LDP-800, but will focus instead&lt;br /&gt;
on its existing LDP Players that already offer appealing features and&lt;br /&gt;
benefits to meet a variety of consumer needs.&amp;quot;&lt;br /&gt;
Shame.--[[User:Ipl|Ipl]] 06:15, 22 Jul 2005 (PDT)&lt;br /&gt;
&lt;br /&gt;
There's more info on that dapreview thread that indicates some confusion within Lexar. Currently, it looks like the release is going to happen in early September.&lt;br /&gt;
&lt;br /&gt;
Update 2005-11-11: after inquiries to Lexar's &amp;quot;new products&amp;quot; personnel, I received a telephone message that the LDP-800 will definitely &amp;quot;is not going to see the light of day.&amp;quot;  Ask me if you want details.  I agree that it's a shame since this looked to be an outstanding product. --[[User:dfavro|dfavro]]&lt;br /&gt;
&lt;br /&gt;
== Hong Kong Dream-tech Electronic DT-202, works? please confirm ==&lt;br /&gt;
http://hkdream-tech.com&lt;br /&gt;
An ebay seller says that it can reproduce Vorbis. This is unconfirmed. In the manufacturer web it says: MP3, WMA, WAV, DMV and etc. &lt;br /&gt;
&lt;br /&gt;
Some webpage also says that it works on Windows, Mac and Linux. Also unconfirmed.&lt;br /&gt;
Further investigation required.&lt;br /&gt;
&lt;br /&gt;
== Trekstor i.Beat Cube ==&lt;br /&gt;
This player seems to be very similar to the Samsung Yepp YP-T6, possibly with the [[#Yepp_MT-6X|same problems]] regarding Vorbis playback. Trekstor has moved [http://www.trekstor.de/en/produkte/mp3-player/ibeat-cube.html info about this player] from &amp;quot;MP3-Player&amp;quot; to the &amp;quot;Archive&amp;quot; section which propably means that it is not produced anymore.&lt;br /&gt;
&lt;br /&gt;
== The Muzio jm300 / jm-300 does NOT play Vorbis ==&lt;br /&gt;
&lt;br /&gt;
NB this is the jm-300 (not 100 or 200)&lt;br /&gt;
&lt;br /&gt;
I bought this a month ago. I've been unable to play Vorbis files on&lt;br /&gt;
it. It simply shows these as 'etc' files and skips over them.&lt;br /&gt;
&lt;br /&gt;
Pitty really, this was the main reason I chose this player.&lt;br /&gt;
&lt;br /&gt;
I've seen lots of discussion about the muzio playing oggs, is there&lt;br /&gt;
anybody there who owns a jm300 and is actually playing oggs ? I can't&lt;br /&gt;
help think I've juts missed something basic.&lt;br /&gt;
&lt;br /&gt;
== Layout of the PortablePlayers list and Feature matrix ==&lt;br /&gt;
It's gone!  I've moved this discussion to [[Talk:PortablePlayersv2]]. [[User:Imalone|Imalone]] 10:55, 18 November 2006 (PST)&lt;br /&gt;
&lt;br /&gt;
:Is there something very wrong with those proposals? I mean, is there any reason why (even a simple) feature matrix just could not be applied right now? It would probably solve 'list of top 5 players' problem above too. Just list something basic from the main features, name, size, weight, price, battery (internal, aa, aaa, ..), capasity, flash card type (sd, microsd, ..) , availability (current or discontinued), supported formats, charging (usb or propietary or none). Link to the longer comments. No complicated sorting or anything too fancy. No icons. Name can be a abbreviation to save space, use it as a link to current comments.&lt;br /&gt;
&lt;br /&gt;
== NEXBlack out ==&lt;br /&gt;
&lt;br /&gt;
I got my NEXBlack player today from Frontier Labs. It is a nice gadget with sleek design. They have corrected the occasional snap-sounds that came between tracks and it is overall more usable now. Vorbis-files also play fine, but the current firmware doesn't have Vorbis-tag reader, which is somewhat major drawback. The music selection works through mp3-tags and you can select by album, artist, genre and playlist, but since Vorbis tags won't work you have to select &amp;quot;unordered&amp;quot; to play them. Vorbis-files are all listed in one big list. I hope they either implement a Vorbis-tag reader or revert to old Nex IIe system where you could select by folder in the flash disc. But for the cheap price ($89), it is a good player... waiting for a new firmware..&lt;br /&gt;
&lt;br /&gt;
== Sumvision M18/S1 ==&lt;br /&gt;
&lt;br /&gt;
I've just got the 2GB Sumvision and it plays the OGG files I've tested so far. Should I add it to the list? [[User:Steevc|Steevc]] 04:05, 19 April 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Humble A2 Review ==&lt;br /&gt;
&lt;br /&gt;
Just a blog link [http://www.personal.psu.edu/gsc127/blogs/2007/10/happiness-with-cowon-a2.html to my review of the the Cowon A2].  Thanks, [[User:GChriss|GChriss]] 13:23, 6 November 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
== iRiver e100 ==&lt;br /&gt;
&lt;br /&gt;
[http://reviews.cnet.com/4566-6490_7-0.html?filter=1000036_5260177_ CNet] and [http://www.amazon.com/iRiver-E100-Multimedia-Player-White/dp/B00171UYYS/ref=pd_bbs_sr_5?ie=UTF8&amp;amp;s=electronics&amp;amp;qid=1208253617&amp;amp;sr=8-5 Amazon] are saying the iRiver e100 supports Vorbis.  I haven't tested it myself. [[User:Mattflaschen|Mattflaschen]] 03:09, 15 April 2008 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Bought an vorbis-enabled player recently? Tell us where! ==&lt;br /&gt;
&lt;br /&gt;
I have started a page that should allow people easier purchasing of vorbis-enabled players: [[PortablePlayers_per_Place]]&lt;br /&gt;
&lt;br /&gt;
Everyone, who bought an vorbis-enabled player recently should update the page with place and model.&lt;br /&gt;
&lt;br /&gt;
== Move Flash/HD-sections to dedicated pages ==&lt;br /&gt;
&lt;br /&gt;
Hi,&lt;br /&gt;
&lt;br /&gt;
IMHO the PortablePlayers page is too long. I want to split it into several pages for each main section. Like [[PortablePlayers/Flash]], [[PortablePlayers/Harddisk]] etc.. Sure, one have to fix some links then, but I am convinced this step would increase the usability a lot.&lt;br /&gt;
What do you think about that? --[[User:Gsauthof|Gsauthof]] 01:20, 31 March 2009 (PDT)&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	<entry>
		<id>http://wiki.xiph.org/User:GChriss</id>
		<title>User:GChriss</title>
		<link rel="alternate" type="text/html" href="http://wiki.xiph.org/User:GChriss"/>
				<updated>2007-11-06T21:28:50Z</updated>
		
		<summary type="html">&lt;p&gt;GChriss: namespace redirect to my Wikipedia page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please see my [http://en.wikipedia.org/wiki/User:GChriss Wikipedia] userpage.  Thanks, [[User:GChriss|GChriss]] 13:28, 6 November 2007 (PST)&lt;/div&gt;</summary>
		<author><name>GChriss</name></author>	</entry>

	</feed>