Difference between revisions of "EBC GStreamer"
m (→Audio Demos) |
m (→Video Demos) |
||
Line 73: | Line 73: | ||
The files beginning with '''v''' are video demos. There is a handy utility that puts the PS EYE in autogain mode. You can run it by: | The files beginning with '''v''' are video demos. There is a handy utility that puts the PS EYE in autogain mode. You can run it by: | ||
− | + | bone$ '''exercises/autogain/autogain''' # This puts the PS EYE in autogain mode. | |
# Try them and make a note about what each does. | # Try them and make a note about what each does. |
Revision as of 08:23, 31 October 2014
Embedded Linux Class by Mark A. Yoder
There are many open source efforts that run on desktop Linux that have been ported to the BeagleBoard. One effort is GStreamer a library for constructing graphs of media-handling components, or more simply, a open source multimedia framework.
Here are some audio and video demos based on a RidgeRun talk at ESC.
Installing GStreamer
These installation notes are based on oz9aec's gstreamer 14 on th -beaglebone blog.
The current distribution of Debian (Wheezy) doesn't have a current version of GStreamer, so we'll have to take a couple of extra steps to install it. When we run apt-get to install GStreamer we want to install libgstreamer1.0-0, but apt-get doesn't know where to find it. Try this:
bone$ apt-cache pkgnames | grep gstreamer | sort ... gstreamer-tools libcanberra-gstreamer libcanberra-gstreamer-dbg libghc6-gstreamer-dev libghc6-gstreamer-doc libghc6-gstreamer-prof libghc-gstreamer-dev libghc-gstreamer-doc libghc-gstreamer-prof libgstreamer0.10-0 libgstreamer0.10-0-dbg libgstreamer0.10-cil-dev libgstreamer0.10-dev ...
libgstreamer1.0-0 is listed, but libgstreamer1.0-0 isn't. The following will tell apt-get where the Jessie versions are.
bone$ echo "deb ftp://ftp.debian.org/debian/ wheezy-backports main deb-src ftp://ftp.debian.org/debian/ wheezy-backports main" > /etc/apt/sources.list.d/wheezy-backports.list bone$ echo "deb ftp://ftp.debian.org/debian/ jessie main deb-src ftp://ftp.debian.org/debian/ jessie main" > /etc/apt/sources.list.d/jessie.list bone$ apt-get update
Now list the packages again.
bone$ apt-cache pkgnames | grep gstreamer | sort ... gstreamer1.0-x gstreamer-tools libcanberra-gstreamer libcanberra-gstreamer-dbg libgstreamer0.10-0 libgstreamer0.10-0-dbg libgstreamer0.10-cil-dev libgstreamer0.10-dev libgstreamer1.0-0 libgstreamer1.0-0-dbg libgstreamer1.0-dev
Now install libgstreamer1.0-0. The first install took some 10 minutes on my Bone. The second took 23.
bone$ apt-get install libgstreamer1.0-0 bone$ apt-get install gstreamer1.0-alsa gstreamer1.0-tools gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad
Audio Demos
There are several scripts that show what GStreamer can do. They all begin with a'.
bone$ cd exercises/gstreamer bone$ ./a2
Go try all the audio files. Make a note (1 or 2 sentences max) about what each one is showing.
a5 is an audio through demo. I've set it up to take input from the PS EYE mikes, but I don't hear anything coming out. Can you make it work? Don't take more that 5 minutes.
Video Demos
The files beginning with v are video demos. There is a handy utility that puts the PS EYE in autogain mode. You can run it by:
bone$ exercises/autogain/autogain # This puts the PS EYE in autogain mode.
- Try them and make a note about what each does.
- v5 is video through, so you'll need the PS EYE. Use gst-inspect to learn what v4l2src can do. Modify v5 to use a image that half the size.
- v6 and v7 save the video in a file. Use mplayer to play the file. Does it work? 604x480 video at 30 frames per second is a lot for the Beagle. Make the image half the size. On v7 slow the audio sampling rate to 8k Hz.
Network Demos (optional)
The scripts starting with n show how GStreamer can send data over the network. n3 and n4 show a Beagle to Beagle link. If you have time, try to make it work.
Embedded Linux Class by Mark A. Yoder