<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.webos-internals.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cpcrook</id>
	<title>WebOS Internals - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.webos-internals.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cpcrook"/>
	<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/wiki/Special:Contributions/Cpcrook"/>
	<updated>2026-04-10T11:11:00Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=VideoRecording&amp;diff=5688</id>
		<title>VideoRecording</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=VideoRecording&amp;diff=5688"/>
		<updated>2009-09-11T22:53:20Z</updated>

		<summary type="html">&lt;p&gt;Cpcrook: removed private svn.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;At your command line (after [[Portal:Accessing_Linux|accessing linux]]):&lt;br /&gt;
&lt;br /&gt;
(make sure FS is rw)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mount -o remount,rw /&lt;br /&gt;
gst-launch camsrc ! palmvideoencoder ! filesink location=/media/internal/downloads/foo.mts&lt;br /&gt;
mount -o remount,ro /&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
- No GUI&amp;lt;br&amp;gt;&lt;br /&gt;
- No sound (need a muxer plugin? verify alsasrc works)&amp;lt;br&amp;gt;&lt;br /&gt;
- Frame rate seemed pretty decent too.&amp;lt;br&amp;gt;&lt;br /&gt;
- Video is H.264 at 480x320.&amp;lt;br&amp;gt;&lt;br /&gt;
- Image is rotated 90 degrees CCW&lt;br /&gt;
&lt;br /&gt;
other useful gstreamer commands:&lt;br /&gt;
&lt;br /&gt;
gst-inspect (shows list of sources to pipe through, mostly decoders/demuxers)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
root@castle:/var/home/ccrook# gst-inspect&lt;br /&gt;
palmvideodecoder:  palmvideodecoder: palmvideodecoder&lt;br /&gt;
palmaudiodecoder:  palmaudiodecoder: palmaudiodecoder&lt;br /&gt;
wavparse:  wavparse: WAV audio demuxer&lt;br /&gt;
wavenc:  wavenc: WAV audio muxer&lt;br /&gt;
udp:  udpsink: UDP packet sender&lt;br /&gt;
udp:  multiudpsink: UDP packet sender&lt;br /&gt;
udp:  dynudpsink: UDP packet sender&lt;br /&gt;
udp:  udpsrc: UDP packet receiver&lt;br /&gt;
typefindfunctions: application/x-id3v2: mp3, mp2, mp1, mpga, ogg, flac, tta&lt;br /&gt;
typefindfunctions: application/x-id3v1: mp3, mp2, mp1, mpga, ogg, flac, tta&lt;br /&gt;
typefindfunctions: audio/mpeg: mp3, mp2, mp1, mpga&lt;br /&gt;
typefindfunctions: video/mpeg4: m4v&lt;br /&gt;
typefindfunctions: audio/x-m4a: m4a&lt;br /&gt;
typefindfunctions: application/x-3gp: 3gp&lt;br /&gt;
typefindfunctions: video/quicktime: mov&lt;br /&gt;
typefindfunctions: audio/x-wav: wav&lt;br /&gt;
typefindfunctions: adts_mpeg_stream: aac&lt;br /&gt;
typefindfunctions: audio/x-amr-nb-sh: amr&lt;br /&gt;
typefindfunctions: audio/x-amr-wb-sh: amr&lt;br /&gt;
rtsp:  rtspsrc: RTSP packet receiver&lt;br /&gt;
rtsp:  rtpdec: RTP Decoder&lt;br /&gt;
rtsp:  rtspgoogle: Google RTSP Extension&lt;br /&gt;
gstrtpmanager:  gstrtpbin: RTP Bin&lt;br /&gt;
gstrtpmanager:  gstrtpclient: RTP Client&lt;br /&gt;
gstrtpmanager:  gstrtpjitterbuffer: RTP packet jitter-buffer&lt;br /&gt;
gstrtpmanager:  gstrtpptdemux: RTP Demux&lt;br /&gt;
gstrtpmanager:  gstrtpsession: RTP Session&lt;br /&gt;
gstrtpmanager:  gstrtpssrcdemux: RTP SSRC Demux&lt;br /&gt;
rtp:  rtpdepay: RTP depayloader&lt;br /&gt;
rtp:  rtpac3depay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpdvdepay: RTP DV Depayloader&lt;br /&gt;
rtp:  rtpdvpay: RTP DV Payloader&lt;br /&gt;
rtp:  rtpilbcpay: RTP Payloader for iLBC Audio&lt;br /&gt;
rtp:  rtpilbcdepay: RTP iLBC packet depayloader&lt;br /&gt;
rtp:  rtpg726depay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpg726pay: RTP packet payloader&lt;br /&gt;
rtp:  rtpg729depay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpg729pay: RTP Payloader for G729 Audio&lt;br /&gt;
rtp:  rtpgsmdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpgsmpay: RTP GSM audio payloader&lt;br /&gt;
rtp:  rtpamrdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpamrpay: RTP packet payloader&lt;br /&gt;
rtp:  rtppcmadepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtppcmudepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtppcmupay: RTP packet payloader&lt;br /&gt;
rtp:  rtppcmapay: RTP packet payloader&lt;br /&gt;
rtp:  rtpmpadepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmpapay: RTP packet payloader&lt;br /&gt;
rtp:  rtpmpvdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmpvpay: RTP MPEG2 ES video payloader&lt;br /&gt;
rtp:  rtph263ppay: RTP packet payloader&lt;br /&gt;
rtp:  rtph263pdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtph263depay: RTP H263 packet depayloader&lt;br /&gt;
rtp:  rtph263pay: RTP packet payloader&lt;br /&gt;
rtp:  rtph264depay: RTP packet depayloader&lt;br /&gt;
rtp:  rtph264pay: RTP packet payloader&lt;br /&gt;
rtp:  rtpL16pay: RTP packet payloader&lt;br /&gt;
rtp:  rtpL16depay: RTP packet depayloader&lt;br /&gt;
rtp:  asteriskh263: RTP packet parser&lt;br /&gt;
rtp:  rtpmp1sdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmp2tdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmp2tpay: RTP MP2T audio payloader&lt;br /&gt;
rtp:  rtpmp4vpay: RTP MPEG-4 Video packet payloader&lt;br /&gt;
rtp:  rtpmp4vdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmp4apay: RTP packet payloader&lt;br /&gt;
rtp:  rtpmp4adepay: RTP packet parser&lt;br /&gt;
rtp:  rtpmp4gdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmp4gpay: RTP packet payloader&lt;br /&gt;
rtp:  rtpspeexpay: RTP packet payloader&lt;br /&gt;
rtp:  rtpspeexdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpsv3vdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtptheoradepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtptheorapay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpvorbisdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpvorbispay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpvrawdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpvrawpay: RTP packet payloader&lt;br /&gt;
queue2:  queue2: Queue&lt;br /&gt;
quicktime:  qtdemux: QuickTime demuxer&lt;br /&gt;
quicktime:  rtpxqtdepay: RTP packet depayloader&lt;br /&gt;
playback:  playbin: Player Bin&lt;br /&gt;
playback:  playbin2: Player Bin 2&lt;br /&gt;
mulaw:  mulawenc: Mu Law audio encoder&lt;br /&gt;
mulaw:  mulawdec: Mu Law audio decoder&lt;br /&gt;
mobirtspsrc:  mobirtspsrc: MobiRtspSrc&lt;br /&gt;
ffmpeg:  ffdec_alac: FFMPEG ALAC (Apple Lossless Audio Codec) decoder&lt;br /&gt;
ffmpeg:  ffdec_qcelp: FFMPEG QCELP / PureVoice decoder&lt;br /&gt;
ffmpeg:  ffdeinterlace: FFMPEG Deinterlace element&lt;br /&gt;
ffmpeg:  ffaudioresample: FFMPEG Audio resampling element&lt;br /&gt;
uridecodebin:  decodebin2: Decoder Bin&lt;br /&gt;
uridecodebin:  uridecodebin: URI Decoder&lt;br /&gt;
decodebin:  decodebin: Decoder Bin&lt;br /&gt;
coreindexers:  memindex: A index that stores entries in memory&lt;br /&gt;
coreelements:  capsfilter: CapsFilter&lt;br /&gt;
coreelements:  fakesrc: Fake Source&lt;br /&gt;
coreelements:  fakesink: Fake Sink&lt;br /&gt;
coreelements:  fdsrc: Filedescriptor Source&lt;br /&gt;
coreelements:  fdsink: Filedescriptor Sink&lt;br /&gt;
coreelements:  filesrc: File Source&lt;br /&gt;
coreelements:  identity: Identity&lt;br /&gt;
coreelements:  queue: Queue&lt;br /&gt;
coreelements:  filesink: File Sink&lt;br /&gt;
coreelements:  tee: Tee pipe fitting&lt;br /&gt;
coreelements:  typefind: TypeFind&lt;br /&gt;
coreelements:  multiqueue: MultiQueue&lt;br /&gt;
video4linux2:  camsrc: Video (video4linux2/raw) Source&lt;br /&gt;
avi:  avidemux: Avi demuxer&lt;br /&gt;
avi:  avimux: Avi muxer&lt;br /&gt;
avi:  avisubtitle: Avi subtitle parser&lt;br /&gt;
audiotestsrc:  audiotestsrc: Audio test source&lt;br /&gt;
audiorate:  audiorate: Audio rate adjuster&lt;br /&gt;
audioconvert:  audioconvert: Audio converter&lt;br /&gt;
alsa:  alsamixer: Alsa mixer&lt;br /&gt;
alsa:  alsasrc: Audio source (ALSA)&lt;br /&gt;
alsa:  alsasink: Audio sink (ALSA)&lt;br /&gt;
alaw:  alawenc: A Law audio encoder&lt;br /&gt;
alaw:  alawdec: A Law audio decoder&lt;br /&gt;
palmvideosink:  palmvideosink: palmvideosink&lt;br /&gt;
palmvideoencoder:  palmvideoencoder: palmvideoencoder&lt;br /&gt;
palmqcelpdemux:  palmqcelpdemux: palmqcelpdemux&lt;br /&gt;
palmqcelpdemux: audio/x-gst-fourcc-sqcp: no extensions&lt;br /&gt;
palmmp3demux:  palmmp3demux: palmmp3demux&lt;br /&gt;
palmjpegencfilesink:  palmjpegencfilesink: palmjpegencfilesink&lt;br /&gt;
palmhttpsrc:  palmhttpsrc: Palm HTTP Source Element&lt;br /&gt;
palmamrdemux:  palmamrdemux: palmamrdemux&lt;br /&gt;
adpcmdecoder:  palmadpcmdecoder: ADPCM Decoder&lt;br /&gt;
palmaacdemux:  palmaacdemux: palmaacdemux&lt;br /&gt;
staticelements:  bin: Generic bin&lt;br /&gt;
staticelements:  pipeline: Pipeline object&lt;br /&gt;
&lt;br /&gt;
Total count: 36 plugins, 129 features&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Additional reference from XO Laptop site:  &lt;br /&gt;
&lt;br /&gt;
http://wiki.laptop.org/go/Programming_the_camera&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.laptop.org/go/GStreamer#Using_gst_at_the_command_line&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Currently looking at ways to use the camera preview pipe as a method of video recording through the WebOS GUI by diverting it to the filesystem.&lt;br /&gt;
&lt;br /&gt;
File of interest:  /usr/lib/luna/luna-media/palmInitMedia.js&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
More on the camera module: http://www.st.com/stonline/products/literature/bd/14404/vx6852.htm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Relies on Prelease for launching shell scripts.  Use Flashlight App! to install it before attempting to run.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Currently stop button doesn't work.&lt;br /&gt;
&lt;br /&gt;
Note: Current versions of Prelease available through webOS QuickInstall and Preware no longer support the exploit to pass abritrary code, so this shouldn't work --[[User:Prenos|Prenos]] 16:59, 9 September 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== ToDo  ==&lt;br /&gt;
1.) Figure out proper way to freevideosink via a homebrew app (killing gst-launch properly) (probably will involve invoking a custom service)&amp;lt;br&amp;gt;&lt;br /&gt;
2.) Mux in sound from alsasrc&amp;lt;br&amp;gt;&lt;br /&gt;
:&amp;quot;gst-launch alsasrc ! alsasink&amp;quot; will give you sound from the mic playing back through the speakers, verifying alsasrc. It quickly loses resolution though, and starts giving &amp;quot;can't keep up with audio source&amp;quot; errors. --[[User:Zinge|Zinge]] 08:23, 7 August 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:&amp;quot;gst-launch alsasrc ! wavenc ! filesink location=/media/internal/downloads/test.wav&amp;quot; will record audio no problem. --[[User:Cpcrook|Cpcrook]] 17:36, 7 August 2009 (UTC)&lt;br /&gt;
:&amp;quot;gst-launch camsrc ! palmvideoencoder ! avimux name=mux ! filesink location=/media/internal/downloads/foo.mts alsasrc ! mulawenc ! mux.&amp;quot; will mux audio and video, though the timing was a bit off when I played it back. --[[User:Muchtall|Muchtall]] 18:15, 7 August 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
3.) Implement preview screen (possibility: send video through palmvideosink, then to palmvideoencoder so its still accessible for preview?)&amp;lt;br&amp;gt;&lt;br /&gt;
4.) Get Videos app to display recorded video files (if anyone knows why the doesn't work now, please add it here, because it should work but it doesn't)&amp;lt;br&amp;gt;&lt;br /&gt;
5.) Video conferencing via UDPsink?&amp;lt;br&amp;gt;&lt;br /&gt;
6.) Get 720x480@30fps working (TI claims this is possible with the current hardware). This seems to require recompiling camsrc with palm's 'capabilities template' removed or adjusted(palm offers both the base v4l2 drivers as well as their patch to compile the camsrc plugin on their opensource website). There's also a comment in palmInitMedia.js that the driver only supports up to 480x320, but v4l2 is documented to handle higher resolutions. Will also requre installing another video encoder. --[[User:Prenos|Prenos]] 20:10, 27 August 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>Cpcrook</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=VideoRecording&amp;diff=4022</id>
		<title>VideoRecording</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=VideoRecording&amp;diff=4022"/>
		<updated>2009-08-07T17:36:40Z</updated>

		<summary type="html">&lt;p&gt;Cpcrook: /* ToDo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;At your command line (after [[Portal:Accessing_Linux|accessing linux]]):&lt;br /&gt;
&lt;br /&gt;
(make sure FS is rw)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mount -o remount,rw /&lt;br /&gt;
gst-launch camsrc ! palmvideoencoder ! filesink location=/media/internal/downloads/foo.mts&lt;br /&gt;
mount -o remount,ro /&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
- No GUI&amp;lt;br&amp;gt;&lt;br /&gt;
- No sound (need a muxer plugin? verify alsasrc works)&amp;lt;br&amp;gt;&lt;br /&gt;
- Frame rate seemed pretty decent too.&amp;lt;br&amp;gt;&lt;br /&gt;
- Video is H.264 at 480x320.&amp;lt;br&amp;gt;&lt;br /&gt;
- Image is rotated 90 degrees CCW&lt;br /&gt;
&lt;br /&gt;
other useful gstreamer commands:&lt;br /&gt;
&lt;br /&gt;
gst-inspect (shows list of sources to pipe through, mostly decoders/demuxers)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
root@castle:/var/home/ccrook# gst-inspect&lt;br /&gt;
palmvideodecoder:  palmvideodecoder: palmvideodecoder&lt;br /&gt;
palmaudiodecoder:  palmaudiodecoder: palmaudiodecoder&lt;br /&gt;
wavparse:  wavparse: WAV audio demuxer&lt;br /&gt;
wavenc:  wavenc: WAV audio muxer&lt;br /&gt;
udp:  udpsink: UDP packet sender&lt;br /&gt;
udp:  multiudpsink: UDP packet sender&lt;br /&gt;
udp:  dynudpsink: UDP packet sender&lt;br /&gt;
udp:  udpsrc: UDP packet receiver&lt;br /&gt;
typefindfunctions: application/x-id3v2: mp3, mp2, mp1, mpga, ogg, flac, tta&lt;br /&gt;
typefindfunctions: application/x-id3v1: mp3, mp2, mp1, mpga, ogg, flac, tta&lt;br /&gt;
typefindfunctions: audio/mpeg: mp3, mp2, mp1, mpga&lt;br /&gt;
typefindfunctions: video/mpeg4: m4v&lt;br /&gt;
typefindfunctions: audio/x-m4a: m4a&lt;br /&gt;
typefindfunctions: application/x-3gp: 3gp&lt;br /&gt;
typefindfunctions: video/quicktime: mov&lt;br /&gt;
typefindfunctions: audio/x-wav: wav&lt;br /&gt;
typefindfunctions: adts_mpeg_stream: aac&lt;br /&gt;
typefindfunctions: audio/x-amr-nb-sh: amr&lt;br /&gt;
typefindfunctions: audio/x-amr-wb-sh: amr&lt;br /&gt;
rtsp:  rtspsrc: RTSP packet receiver&lt;br /&gt;
rtsp:  rtpdec: RTP Decoder&lt;br /&gt;
rtsp:  rtspgoogle: Google RTSP Extension&lt;br /&gt;
gstrtpmanager:  gstrtpbin: RTP Bin&lt;br /&gt;
gstrtpmanager:  gstrtpclient: RTP Client&lt;br /&gt;
gstrtpmanager:  gstrtpjitterbuffer: RTP packet jitter-buffer&lt;br /&gt;
gstrtpmanager:  gstrtpptdemux: RTP Demux&lt;br /&gt;
gstrtpmanager:  gstrtpsession: RTP Session&lt;br /&gt;
gstrtpmanager:  gstrtpssrcdemux: RTP SSRC Demux&lt;br /&gt;
rtp:  rtpdepay: RTP depayloader&lt;br /&gt;
rtp:  rtpac3depay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpdvdepay: RTP DV Depayloader&lt;br /&gt;
rtp:  rtpdvpay: RTP DV Payloader&lt;br /&gt;
rtp:  rtpilbcpay: RTP Payloader for iLBC Audio&lt;br /&gt;
rtp:  rtpilbcdepay: RTP iLBC packet depayloader&lt;br /&gt;
rtp:  rtpg726depay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpg726pay: RTP packet payloader&lt;br /&gt;
rtp:  rtpg729depay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpg729pay: RTP Payloader for G729 Audio&lt;br /&gt;
rtp:  rtpgsmdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpgsmpay: RTP GSM audio payloader&lt;br /&gt;
rtp:  rtpamrdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpamrpay: RTP packet payloader&lt;br /&gt;
rtp:  rtppcmadepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtppcmudepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtppcmupay: RTP packet payloader&lt;br /&gt;
rtp:  rtppcmapay: RTP packet payloader&lt;br /&gt;
rtp:  rtpmpadepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmpapay: RTP packet payloader&lt;br /&gt;
rtp:  rtpmpvdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmpvpay: RTP MPEG2 ES video payloader&lt;br /&gt;
rtp:  rtph263ppay: RTP packet payloader&lt;br /&gt;
rtp:  rtph263pdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtph263depay: RTP H263 packet depayloader&lt;br /&gt;
rtp:  rtph263pay: RTP packet payloader&lt;br /&gt;
rtp:  rtph264depay: RTP packet depayloader&lt;br /&gt;
rtp:  rtph264pay: RTP packet payloader&lt;br /&gt;
rtp:  rtpL16pay: RTP packet payloader&lt;br /&gt;
rtp:  rtpL16depay: RTP packet depayloader&lt;br /&gt;
rtp:  asteriskh263: RTP packet parser&lt;br /&gt;
rtp:  rtpmp1sdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmp2tdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmp2tpay: RTP MP2T audio payloader&lt;br /&gt;
rtp:  rtpmp4vpay: RTP MPEG-4 Video packet payloader&lt;br /&gt;
rtp:  rtpmp4vdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmp4apay: RTP packet payloader&lt;br /&gt;
rtp:  rtpmp4adepay: RTP packet parser&lt;br /&gt;
rtp:  rtpmp4gdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmp4gpay: RTP packet payloader&lt;br /&gt;
rtp:  rtpspeexpay: RTP packet payloader&lt;br /&gt;
rtp:  rtpspeexdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpsv3vdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtptheoradepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtptheorapay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpvorbisdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpvorbispay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpvrawdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpvrawpay: RTP packet payloader&lt;br /&gt;
queue2:  queue2: Queue&lt;br /&gt;
quicktime:  qtdemux: QuickTime demuxer&lt;br /&gt;
quicktime:  rtpxqtdepay: RTP packet depayloader&lt;br /&gt;
playback:  playbin: Player Bin&lt;br /&gt;
playback:  playbin2: Player Bin 2&lt;br /&gt;
mulaw:  mulawenc: Mu Law audio encoder&lt;br /&gt;
mulaw:  mulawdec: Mu Law audio decoder&lt;br /&gt;
mobirtspsrc:  mobirtspsrc: MobiRtspSrc&lt;br /&gt;
ffmpeg:  ffdec_alac: FFMPEG ALAC (Apple Lossless Audio Codec) decoder&lt;br /&gt;
ffmpeg:  ffdec_qcelp: FFMPEG QCELP / PureVoice decoder&lt;br /&gt;
ffmpeg:  ffdeinterlace: FFMPEG Deinterlace element&lt;br /&gt;
ffmpeg:  ffaudioresample: FFMPEG Audio resampling element&lt;br /&gt;
uridecodebin:  decodebin2: Decoder Bin&lt;br /&gt;
uridecodebin:  uridecodebin: URI Decoder&lt;br /&gt;
decodebin:  decodebin: Decoder Bin&lt;br /&gt;
coreindexers:  memindex: A index that stores entries in memory&lt;br /&gt;
coreelements:  capsfilter: CapsFilter&lt;br /&gt;
coreelements:  fakesrc: Fake Source&lt;br /&gt;
coreelements:  fakesink: Fake Sink&lt;br /&gt;
coreelements:  fdsrc: Filedescriptor Source&lt;br /&gt;
coreelements:  fdsink: Filedescriptor Sink&lt;br /&gt;
coreelements:  filesrc: File Source&lt;br /&gt;
coreelements:  identity: Identity&lt;br /&gt;
coreelements:  queue: Queue&lt;br /&gt;
coreelements:  filesink: File Sink&lt;br /&gt;
coreelements:  tee: Tee pipe fitting&lt;br /&gt;
coreelements:  typefind: TypeFind&lt;br /&gt;
coreelements:  multiqueue: MultiQueue&lt;br /&gt;
video4linux2:  camsrc: Video (video4linux2/raw) Source&lt;br /&gt;
avi:  avidemux: Avi demuxer&lt;br /&gt;
avi:  avimux: Avi muxer&lt;br /&gt;
avi:  avisubtitle: Avi subtitle parser&lt;br /&gt;
audiotestsrc:  audiotestsrc: Audio test source&lt;br /&gt;
audiorate:  audiorate: Audio rate adjuster&lt;br /&gt;
audioconvert:  audioconvert: Audio converter&lt;br /&gt;
alsa:  alsamixer: Alsa mixer&lt;br /&gt;
alsa:  alsasrc: Audio source (ALSA)&lt;br /&gt;
alsa:  alsasink: Audio sink (ALSA)&lt;br /&gt;
alaw:  alawenc: A Law audio encoder&lt;br /&gt;
alaw:  alawdec: A Law audio decoder&lt;br /&gt;
palmvideosink:  palmvideosink: palmvideosink&lt;br /&gt;
palmvideoencoder:  palmvideoencoder: palmvideoencoder&lt;br /&gt;
palmqcelpdemux:  palmqcelpdemux: palmqcelpdemux&lt;br /&gt;
palmqcelpdemux: audio/x-gst-fourcc-sqcp: no extensions&lt;br /&gt;
palmmp3demux:  palmmp3demux: palmmp3demux&lt;br /&gt;
palmjpegencfilesink:  palmjpegencfilesink: palmjpegencfilesink&lt;br /&gt;
palmhttpsrc:  palmhttpsrc: Palm HTTP Source Element&lt;br /&gt;
palmamrdemux:  palmamrdemux: palmamrdemux&lt;br /&gt;
adpcmdecoder:  palmadpcmdecoder: ADPCM Decoder&lt;br /&gt;
palmaacdemux:  palmaacdemux: palmaacdemux&lt;br /&gt;
staticelements:  bin: Generic bin&lt;br /&gt;
staticelements:  pipeline: Pipeline object&lt;br /&gt;
&lt;br /&gt;
Total count: 36 plugins, 129 features&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Additional reference from XO Laptop site:  &lt;br /&gt;
&lt;br /&gt;
http://wiki.laptop.org/go/Programming_the_camera&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.laptop.org/go/GStreamer#Using_gst_at_the_command_line&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Currently looking at ways to use the camera preview pipe as a method of video recording through the WebOS GUI by diverting it to the filesystem.&lt;br /&gt;
&lt;br /&gt;
File of interest:  /usr/lib/luna/luna-media/palmInitMedia.js&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
More on the camera module: http://www.st.com/stonline/products/literature/bd/14404/vx6852.htm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SVN repository ==&lt;br /&gt;
Public SVN up at:  http://devel.ccrook.com/webos/camcorder&amp;lt;br&amp;gt;&lt;br /&gt;
username: default&amp;lt;br&amp;gt;&lt;br /&gt;
password: default&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Relies on Prelease for launching shell scripts.  Use Flashlight App! to install it before attempting to run.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Currently stop button doesn't work.&lt;br /&gt;
&lt;br /&gt;
== ToDo  ==&lt;br /&gt;
1.) Figure out proper way to freevideosink via a homebrew app (killing gst-launch properly)&amp;lt;br&amp;gt;&lt;br /&gt;
2.) Mux in sound from alsasrc&amp;lt;br&amp;gt;&lt;br /&gt;
:&amp;quot;gst-launch alsasrc ! alsasink&amp;quot; will give you sound from the mic playing back through the speakers, verifying alsasrc. It quickly loses resolution though, and starts giving &amp;quot;can't keep up with audio source&amp;quot; errors. --[[User:Zinge|Zinge]] 08:23, 7 August 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:&amp;quot;gst-launch alsasrc ! wavenc ! filesink location=/media/internal/downloads/test.wav&amp;quot; will record audio no problem. --[[User:Cpcrook|Cpcrook]] 17:36, 7 August 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3.) Implement preview screen (possibility: send video through palmvideosink, then to palmvideoencoder so its still accessible for preview?)&amp;lt;br&amp;gt;&lt;br /&gt;
4.) Get Videos app to display recorded video files&amp;lt;br&amp;gt;&lt;br /&gt;
5.) Video conferencing via UDPsink?&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cpcrook</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=VideoRecording&amp;diff=4018</id>
		<title>VideoRecording</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=VideoRecording&amp;diff=4018"/>
		<updated>2009-08-07T17:20:07Z</updated>

		<summary type="html">&lt;p&gt;Cpcrook: /* SVN repository */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;At your command line (after [[Portal:Accessing_Linux|accessing linux]]):&lt;br /&gt;
&lt;br /&gt;
(make sure FS is rw)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mount -o remount,rw /&lt;br /&gt;
gst-launch camsrc ! palmvideoencoder ! filesink location=/media/internal/downloads/foo.mts&lt;br /&gt;
mount -o remount,ro /&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
- No GUI&amp;lt;br&amp;gt;&lt;br /&gt;
- No sound (need a muxer plugin? verify alsasrc works)&amp;lt;br&amp;gt;&lt;br /&gt;
- Frame rate seemed pretty decent too.&amp;lt;br&amp;gt;&lt;br /&gt;
- Video is H.264 at 480x320.&amp;lt;br&amp;gt;&lt;br /&gt;
- Image is rotated 90 degrees CCW&lt;br /&gt;
&lt;br /&gt;
other useful gstreamer commands:&lt;br /&gt;
&lt;br /&gt;
gst-inspect (shows list of sources to pipe through, mostly decoders/demuxers)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
root@castle:/var/home/ccrook# gst-inspect&lt;br /&gt;
palmvideodecoder:  palmvideodecoder: palmvideodecoder&lt;br /&gt;
palmaudiodecoder:  palmaudiodecoder: palmaudiodecoder&lt;br /&gt;
wavparse:  wavparse: WAV audio demuxer&lt;br /&gt;
wavenc:  wavenc: WAV audio muxer&lt;br /&gt;
udp:  udpsink: UDP packet sender&lt;br /&gt;
udp:  multiudpsink: UDP packet sender&lt;br /&gt;
udp:  dynudpsink: UDP packet sender&lt;br /&gt;
udp:  udpsrc: UDP packet receiver&lt;br /&gt;
typefindfunctions: application/x-id3v2: mp3, mp2, mp1, mpga, ogg, flac, tta&lt;br /&gt;
typefindfunctions: application/x-id3v1: mp3, mp2, mp1, mpga, ogg, flac, tta&lt;br /&gt;
typefindfunctions: audio/mpeg: mp3, mp2, mp1, mpga&lt;br /&gt;
typefindfunctions: video/mpeg4: m4v&lt;br /&gt;
typefindfunctions: audio/x-m4a: m4a&lt;br /&gt;
typefindfunctions: application/x-3gp: 3gp&lt;br /&gt;
typefindfunctions: video/quicktime: mov&lt;br /&gt;
typefindfunctions: audio/x-wav: wav&lt;br /&gt;
typefindfunctions: adts_mpeg_stream: aac&lt;br /&gt;
typefindfunctions: audio/x-amr-nb-sh: amr&lt;br /&gt;
typefindfunctions: audio/x-amr-wb-sh: amr&lt;br /&gt;
rtsp:  rtspsrc: RTSP packet receiver&lt;br /&gt;
rtsp:  rtpdec: RTP Decoder&lt;br /&gt;
rtsp:  rtspgoogle: Google RTSP Extension&lt;br /&gt;
gstrtpmanager:  gstrtpbin: RTP Bin&lt;br /&gt;
gstrtpmanager:  gstrtpclient: RTP Client&lt;br /&gt;
gstrtpmanager:  gstrtpjitterbuffer: RTP packet jitter-buffer&lt;br /&gt;
gstrtpmanager:  gstrtpptdemux: RTP Demux&lt;br /&gt;
gstrtpmanager:  gstrtpsession: RTP Session&lt;br /&gt;
gstrtpmanager:  gstrtpssrcdemux: RTP SSRC Demux&lt;br /&gt;
rtp:  rtpdepay: RTP depayloader&lt;br /&gt;
rtp:  rtpac3depay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpdvdepay: RTP DV Depayloader&lt;br /&gt;
rtp:  rtpdvpay: RTP DV Payloader&lt;br /&gt;
rtp:  rtpilbcpay: RTP Payloader for iLBC Audio&lt;br /&gt;
rtp:  rtpilbcdepay: RTP iLBC packet depayloader&lt;br /&gt;
rtp:  rtpg726depay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpg726pay: RTP packet payloader&lt;br /&gt;
rtp:  rtpg729depay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpg729pay: RTP Payloader for G729 Audio&lt;br /&gt;
rtp:  rtpgsmdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpgsmpay: RTP GSM audio payloader&lt;br /&gt;
rtp:  rtpamrdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpamrpay: RTP packet payloader&lt;br /&gt;
rtp:  rtppcmadepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtppcmudepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtppcmupay: RTP packet payloader&lt;br /&gt;
rtp:  rtppcmapay: RTP packet payloader&lt;br /&gt;
rtp:  rtpmpadepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmpapay: RTP packet payloader&lt;br /&gt;
rtp:  rtpmpvdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmpvpay: RTP MPEG2 ES video payloader&lt;br /&gt;
rtp:  rtph263ppay: RTP packet payloader&lt;br /&gt;
rtp:  rtph263pdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtph263depay: RTP H263 packet depayloader&lt;br /&gt;
rtp:  rtph263pay: RTP packet payloader&lt;br /&gt;
rtp:  rtph264depay: RTP packet depayloader&lt;br /&gt;
rtp:  rtph264pay: RTP packet payloader&lt;br /&gt;
rtp:  rtpL16pay: RTP packet payloader&lt;br /&gt;
rtp:  rtpL16depay: RTP packet depayloader&lt;br /&gt;
rtp:  asteriskh263: RTP packet parser&lt;br /&gt;
rtp:  rtpmp1sdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmp2tdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmp2tpay: RTP MP2T audio payloader&lt;br /&gt;
rtp:  rtpmp4vpay: RTP MPEG-4 Video packet payloader&lt;br /&gt;
rtp:  rtpmp4vdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmp4apay: RTP packet payloader&lt;br /&gt;
rtp:  rtpmp4adepay: RTP packet parser&lt;br /&gt;
rtp:  rtpmp4gdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmp4gpay: RTP packet payloader&lt;br /&gt;
rtp:  rtpspeexpay: RTP packet payloader&lt;br /&gt;
rtp:  rtpspeexdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpsv3vdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtptheoradepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtptheorapay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpvorbisdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpvorbispay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpvrawdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpvrawpay: RTP packet payloader&lt;br /&gt;
queue2:  queue2: Queue&lt;br /&gt;
quicktime:  qtdemux: QuickTime demuxer&lt;br /&gt;
quicktime:  rtpxqtdepay: RTP packet depayloader&lt;br /&gt;
playback:  playbin: Player Bin&lt;br /&gt;
playback:  playbin2: Player Bin 2&lt;br /&gt;
mulaw:  mulawenc: Mu Law audio encoder&lt;br /&gt;
mulaw:  mulawdec: Mu Law audio decoder&lt;br /&gt;
mobirtspsrc:  mobirtspsrc: MobiRtspSrc&lt;br /&gt;
ffmpeg:  ffdec_alac: FFMPEG ALAC (Apple Lossless Audio Codec) decoder&lt;br /&gt;
ffmpeg:  ffdec_qcelp: FFMPEG QCELP / PureVoice decoder&lt;br /&gt;
ffmpeg:  ffdeinterlace: FFMPEG Deinterlace element&lt;br /&gt;
ffmpeg:  ffaudioresample: FFMPEG Audio resampling element&lt;br /&gt;
uridecodebin:  decodebin2: Decoder Bin&lt;br /&gt;
uridecodebin:  uridecodebin: URI Decoder&lt;br /&gt;
decodebin:  decodebin: Decoder Bin&lt;br /&gt;
coreindexers:  memindex: A index that stores entries in memory&lt;br /&gt;
coreelements:  capsfilter: CapsFilter&lt;br /&gt;
coreelements:  fakesrc: Fake Source&lt;br /&gt;
coreelements:  fakesink: Fake Sink&lt;br /&gt;
coreelements:  fdsrc: Filedescriptor Source&lt;br /&gt;
coreelements:  fdsink: Filedescriptor Sink&lt;br /&gt;
coreelements:  filesrc: File Source&lt;br /&gt;
coreelements:  identity: Identity&lt;br /&gt;
coreelements:  queue: Queue&lt;br /&gt;
coreelements:  filesink: File Sink&lt;br /&gt;
coreelements:  tee: Tee pipe fitting&lt;br /&gt;
coreelements:  typefind: TypeFind&lt;br /&gt;
coreelements:  multiqueue: MultiQueue&lt;br /&gt;
video4linux2:  camsrc: Video (video4linux2/raw) Source&lt;br /&gt;
avi:  avidemux: Avi demuxer&lt;br /&gt;
avi:  avimux: Avi muxer&lt;br /&gt;
avi:  avisubtitle: Avi subtitle parser&lt;br /&gt;
audiotestsrc:  audiotestsrc: Audio test source&lt;br /&gt;
audiorate:  audiorate: Audio rate adjuster&lt;br /&gt;
audioconvert:  audioconvert: Audio converter&lt;br /&gt;
alsa:  alsamixer: Alsa mixer&lt;br /&gt;
alsa:  alsasrc: Audio source (ALSA)&lt;br /&gt;
alsa:  alsasink: Audio sink (ALSA)&lt;br /&gt;
alaw:  alawenc: A Law audio encoder&lt;br /&gt;
alaw:  alawdec: A Law audio decoder&lt;br /&gt;
palmvideosink:  palmvideosink: palmvideosink&lt;br /&gt;
palmvideoencoder:  palmvideoencoder: palmvideoencoder&lt;br /&gt;
palmqcelpdemux:  palmqcelpdemux: palmqcelpdemux&lt;br /&gt;
palmqcelpdemux: audio/x-gst-fourcc-sqcp: no extensions&lt;br /&gt;
palmmp3demux:  palmmp3demux: palmmp3demux&lt;br /&gt;
palmjpegencfilesink:  palmjpegencfilesink: palmjpegencfilesink&lt;br /&gt;
palmhttpsrc:  palmhttpsrc: Palm HTTP Source Element&lt;br /&gt;
palmamrdemux:  palmamrdemux: palmamrdemux&lt;br /&gt;
adpcmdecoder:  palmadpcmdecoder: ADPCM Decoder&lt;br /&gt;
palmaacdemux:  palmaacdemux: palmaacdemux&lt;br /&gt;
staticelements:  bin: Generic bin&lt;br /&gt;
staticelements:  pipeline: Pipeline object&lt;br /&gt;
&lt;br /&gt;
Total count: 36 plugins, 129 features&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Additional reference from XO Laptop site:  &lt;br /&gt;
&lt;br /&gt;
http://wiki.laptop.org/go/Programming_the_camera&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.laptop.org/go/GStreamer#Using_gst_at_the_command_line&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Currently looking at ways to use the camera preview pipe as a method of video recording through the WebOS GUI by diverting it to the filesystem.&lt;br /&gt;
&lt;br /&gt;
File of interest:  /usr/lib/luna/luna-media/palmInitMedia.js&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
More on the camera module: http://www.st.com/stonline/products/literature/bd/14404/vx6852.htm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SVN repository ==&lt;br /&gt;
Public SVN up at:  http://devel.ccrook.com/webos/camcorder&amp;lt;br&amp;gt;&lt;br /&gt;
username: default&amp;lt;br&amp;gt;&lt;br /&gt;
password: default&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Relies on Prelease for launching shell scripts.  Use Flashlight App! to install it before attempting to run.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Currently stop button doesn't work.&lt;br /&gt;
&lt;br /&gt;
== ToDo  ==&lt;br /&gt;
1.) Figure out proper way to freevideosink via a homebrew app (killing gst-launch properly)&amp;lt;br&amp;gt;&lt;br /&gt;
2.) Mux in sound from alsasrc&amp;lt;br&amp;gt;&lt;br /&gt;
:&amp;quot;gst-launch alsasrc ! alsasink&amp;quot; will give you sound from the mic playing back through the speakers, verifying alsasrc. It quickly loses resolution though, and starts giving &amp;quot;can't keep up with audio source&amp;quot; errors. --[[User:Zinge|Zinge]] 08:23, 7 August 2009 (UTC)&lt;br /&gt;
3.) Implement preview screen (possibility: send video through palmvideosink, then to palmvideoencoder so its still accessible for preview?)&amp;lt;br&amp;gt;&lt;br /&gt;
4.) Get Videos app to display recorded video files&amp;lt;br&amp;gt;&lt;br /&gt;
5.) Video conferencing via UDPsink?&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cpcrook</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=VideoRecording&amp;diff=4017</id>
		<title>VideoRecording</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=VideoRecording&amp;diff=4017"/>
		<updated>2009-08-07T17:18:17Z</updated>

		<summary type="html">&lt;p&gt;Cpcrook: svn info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;At your command line (after [[Portal:Accessing_Linux|accessing linux]]):&lt;br /&gt;
&lt;br /&gt;
(make sure FS is rw)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mount -o remount,rw /&lt;br /&gt;
gst-launch camsrc ! palmvideoencoder ! filesink location=/media/internal/downloads/foo.mts&lt;br /&gt;
mount -o remount,ro /&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
- No GUI&amp;lt;br&amp;gt;&lt;br /&gt;
- No sound (need a muxer plugin? verify alsasrc works)&amp;lt;br&amp;gt;&lt;br /&gt;
- Frame rate seemed pretty decent too.&amp;lt;br&amp;gt;&lt;br /&gt;
- Video is H.264 at 480x320.&amp;lt;br&amp;gt;&lt;br /&gt;
- Image is rotated 90 degrees CCW&lt;br /&gt;
&lt;br /&gt;
other useful gstreamer commands:&lt;br /&gt;
&lt;br /&gt;
gst-inspect (shows list of sources to pipe through, mostly decoders/demuxers)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
root@castle:/var/home/ccrook# gst-inspect&lt;br /&gt;
palmvideodecoder:  palmvideodecoder: palmvideodecoder&lt;br /&gt;
palmaudiodecoder:  palmaudiodecoder: palmaudiodecoder&lt;br /&gt;
wavparse:  wavparse: WAV audio demuxer&lt;br /&gt;
wavenc:  wavenc: WAV audio muxer&lt;br /&gt;
udp:  udpsink: UDP packet sender&lt;br /&gt;
udp:  multiudpsink: UDP packet sender&lt;br /&gt;
udp:  dynudpsink: UDP packet sender&lt;br /&gt;
udp:  udpsrc: UDP packet receiver&lt;br /&gt;
typefindfunctions: application/x-id3v2: mp3, mp2, mp1, mpga, ogg, flac, tta&lt;br /&gt;
typefindfunctions: application/x-id3v1: mp3, mp2, mp1, mpga, ogg, flac, tta&lt;br /&gt;
typefindfunctions: audio/mpeg: mp3, mp2, mp1, mpga&lt;br /&gt;
typefindfunctions: video/mpeg4: m4v&lt;br /&gt;
typefindfunctions: audio/x-m4a: m4a&lt;br /&gt;
typefindfunctions: application/x-3gp: 3gp&lt;br /&gt;
typefindfunctions: video/quicktime: mov&lt;br /&gt;
typefindfunctions: audio/x-wav: wav&lt;br /&gt;
typefindfunctions: adts_mpeg_stream: aac&lt;br /&gt;
typefindfunctions: audio/x-amr-nb-sh: amr&lt;br /&gt;
typefindfunctions: audio/x-amr-wb-sh: amr&lt;br /&gt;
rtsp:  rtspsrc: RTSP packet receiver&lt;br /&gt;
rtsp:  rtpdec: RTP Decoder&lt;br /&gt;
rtsp:  rtspgoogle: Google RTSP Extension&lt;br /&gt;
gstrtpmanager:  gstrtpbin: RTP Bin&lt;br /&gt;
gstrtpmanager:  gstrtpclient: RTP Client&lt;br /&gt;
gstrtpmanager:  gstrtpjitterbuffer: RTP packet jitter-buffer&lt;br /&gt;
gstrtpmanager:  gstrtpptdemux: RTP Demux&lt;br /&gt;
gstrtpmanager:  gstrtpsession: RTP Session&lt;br /&gt;
gstrtpmanager:  gstrtpssrcdemux: RTP SSRC Demux&lt;br /&gt;
rtp:  rtpdepay: RTP depayloader&lt;br /&gt;
rtp:  rtpac3depay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpdvdepay: RTP DV Depayloader&lt;br /&gt;
rtp:  rtpdvpay: RTP DV Payloader&lt;br /&gt;
rtp:  rtpilbcpay: RTP Payloader for iLBC Audio&lt;br /&gt;
rtp:  rtpilbcdepay: RTP iLBC packet depayloader&lt;br /&gt;
rtp:  rtpg726depay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpg726pay: RTP packet payloader&lt;br /&gt;
rtp:  rtpg729depay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpg729pay: RTP Payloader for G729 Audio&lt;br /&gt;
rtp:  rtpgsmdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpgsmpay: RTP GSM audio payloader&lt;br /&gt;
rtp:  rtpamrdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpamrpay: RTP packet payloader&lt;br /&gt;
rtp:  rtppcmadepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtppcmudepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtppcmupay: RTP packet payloader&lt;br /&gt;
rtp:  rtppcmapay: RTP packet payloader&lt;br /&gt;
rtp:  rtpmpadepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmpapay: RTP packet payloader&lt;br /&gt;
rtp:  rtpmpvdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmpvpay: RTP MPEG2 ES video payloader&lt;br /&gt;
rtp:  rtph263ppay: RTP packet payloader&lt;br /&gt;
rtp:  rtph263pdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtph263depay: RTP H263 packet depayloader&lt;br /&gt;
rtp:  rtph263pay: RTP packet payloader&lt;br /&gt;
rtp:  rtph264depay: RTP packet depayloader&lt;br /&gt;
rtp:  rtph264pay: RTP packet payloader&lt;br /&gt;
rtp:  rtpL16pay: RTP packet payloader&lt;br /&gt;
rtp:  rtpL16depay: RTP packet depayloader&lt;br /&gt;
rtp:  asteriskh263: RTP packet parser&lt;br /&gt;
rtp:  rtpmp1sdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmp2tdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmp2tpay: RTP MP2T audio payloader&lt;br /&gt;
rtp:  rtpmp4vpay: RTP MPEG-4 Video packet payloader&lt;br /&gt;
rtp:  rtpmp4vdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmp4apay: RTP packet payloader&lt;br /&gt;
rtp:  rtpmp4adepay: RTP packet parser&lt;br /&gt;
rtp:  rtpmp4gdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmp4gpay: RTP packet payloader&lt;br /&gt;
rtp:  rtpspeexpay: RTP packet payloader&lt;br /&gt;
rtp:  rtpspeexdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpsv3vdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtptheoradepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtptheorapay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpvorbisdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpvorbispay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpvrawdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpvrawpay: RTP packet payloader&lt;br /&gt;
queue2:  queue2: Queue&lt;br /&gt;
quicktime:  qtdemux: QuickTime demuxer&lt;br /&gt;
quicktime:  rtpxqtdepay: RTP packet depayloader&lt;br /&gt;
playback:  playbin: Player Bin&lt;br /&gt;
playback:  playbin2: Player Bin 2&lt;br /&gt;
mulaw:  mulawenc: Mu Law audio encoder&lt;br /&gt;
mulaw:  mulawdec: Mu Law audio decoder&lt;br /&gt;
mobirtspsrc:  mobirtspsrc: MobiRtspSrc&lt;br /&gt;
ffmpeg:  ffdec_alac: FFMPEG ALAC (Apple Lossless Audio Codec) decoder&lt;br /&gt;
ffmpeg:  ffdec_qcelp: FFMPEG QCELP / PureVoice decoder&lt;br /&gt;
ffmpeg:  ffdeinterlace: FFMPEG Deinterlace element&lt;br /&gt;
ffmpeg:  ffaudioresample: FFMPEG Audio resampling element&lt;br /&gt;
uridecodebin:  decodebin2: Decoder Bin&lt;br /&gt;
uridecodebin:  uridecodebin: URI Decoder&lt;br /&gt;
decodebin:  decodebin: Decoder Bin&lt;br /&gt;
coreindexers:  memindex: A index that stores entries in memory&lt;br /&gt;
coreelements:  capsfilter: CapsFilter&lt;br /&gt;
coreelements:  fakesrc: Fake Source&lt;br /&gt;
coreelements:  fakesink: Fake Sink&lt;br /&gt;
coreelements:  fdsrc: Filedescriptor Source&lt;br /&gt;
coreelements:  fdsink: Filedescriptor Sink&lt;br /&gt;
coreelements:  filesrc: File Source&lt;br /&gt;
coreelements:  identity: Identity&lt;br /&gt;
coreelements:  queue: Queue&lt;br /&gt;
coreelements:  filesink: File Sink&lt;br /&gt;
coreelements:  tee: Tee pipe fitting&lt;br /&gt;
coreelements:  typefind: TypeFind&lt;br /&gt;
coreelements:  multiqueue: MultiQueue&lt;br /&gt;
video4linux2:  camsrc: Video (video4linux2/raw) Source&lt;br /&gt;
avi:  avidemux: Avi demuxer&lt;br /&gt;
avi:  avimux: Avi muxer&lt;br /&gt;
avi:  avisubtitle: Avi subtitle parser&lt;br /&gt;
audiotestsrc:  audiotestsrc: Audio test source&lt;br /&gt;
audiorate:  audiorate: Audio rate adjuster&lt;br /&gt;
audioconvert:  audioconvert: Audio converter&lt;br /&gt;
alsa:  alsamixer: Alsa mixer&lt;br /&gt;
alsa:  alsasrc: Audio source (ALSA)&lt;br /&gt;
alsa:  alsasink: Audio sink (ALSA)&lt;br /&gt;
alaw:  alawenc: A Law audio encoder&lt;br /&gt;
alaw:  alawdec: A Law audio decoder&lt;br /&gt;
palmvideosink:  palmvideosink: palmvideosink&lt;br /&gt;
palmvideoencoder:  palmvideoencoder: palmvideoencoder&lt;br /&gt;
palmqcelpdemux:  palmqcelpdemux: palmqcelpdemux&lt;br /&gt;
palmqcelpdemux: audio/x-gst-fourcc-sqcp: no extensions&lt;br /&gt;
palmmp3demux:  palmmp3demux: palmmp3demux&lt;br /&gt;
palmjpegencfilesink:  palmjpegencfilesink: palmjpegencfilesink&lt;br /&gt;
palmhttpsrc:  palmhttpsrc: Palm HTTP Source Element&lt;br /&gt;
palmamrdemux:  palmamrdemux: palmamrdemux&lt;br /&gt;
adpcmdecoder:  palmadpcmdecoder: ADPCM Decoder&lt;br /&gt;
palmaacdemux:  palmaacdemux: palmaacdemux&lt;br /&gt;
staticelements:  bin: Generic bin&lt;br /&gt;
staticelements:  pipeline: Pipeline object&lt;br /&gt;
&lt;br /&gt;
Total count: 36 plugins, 129 features&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Additional reference from XO Laptop site:  &lt;br /&gt;
&lt;br /&gt;
http://wiki.laptop.org/go/Programming_the_camera&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.laptop.org/go/GStreamer#Using_gst_at_the_command_line&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Currently looking at ways to use the camera preview pipe as a method of video recording through the WebOS GUI by diverting it to the filesystem.&lt;br /&gt;
&lt;br /&gt;
File of interest:  /usr/lib/luna/luna-media/palmInitMedia.js&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
More on the camera module: http://www.st.com/stonline/products/literature/bd/14404/vx6852.htm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SVN repository ==&lt;br /&gt;
Public SVN up at:  http://devel.ccrook.com/webos/camcorder&lt;br /&gt;
username: default&lt;br /&gt;
password: default&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ToDo  ==&lt;br /&gt;
1.) Figure out proper way to freevideosink via a homebrew app (killing gst-launch properly)&amp;lt;br&amp;gt;&lt;br /&gt;
2.) Mux in sound from alsasrc&amp;lt;br&amp;gt;&lt;br /&gt;
:&amp;quot;gst-launch alsasrc ! alsasink&amp;quot; will give you sound from the mic playing back through the speakers, verifying alsasrc. It quickly loses resolution though, and starts giving &amp;quot;can't keep up with audio source&amp;quot; errors. --[[User:Zinge|Zinge]] 08:23, 7 August 2009 (UTC)&lt;br /&gt;
3.) Implement preview screen (possibility: send video through palmvideosink, then to palmvideoencoder so its still accessible for preview?)&amp;lt;br&amp;gt;&lt;br /&gt;
4.) Get Videos app to display recorded video files&amp;lt;br&amp;gt;&lt;br /&gt;
5.) Video conferencing via UDPsink?&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cpcrook</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=VideoRecording&amp;diff=3914</id>
		<title>VideoRecording</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=VideoRecording&amp;diff=3914"/>
		<updated>2009-08-06T19:22:24Z</updated>

		<summary type="html">&lt;p&gt;Cpcrook: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;At your rooted command line:&lt;br /&gt;
&lt;br /&gt;
(make sure FS is rw)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
mount -o remount,rw /&lt;br /&gt;
gst-launch camsrc ! palmvideoencoder ! filesink location=/media/internal/downloads/foo.mts&lt;br /&gt;
mount -o remount,ro /&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
- No GUI&amp;lt;br&amp;gt;&lt;br /&gt;
- No sound (need a muxer plugin? verify alsasrc works)&amp;lt;br&amp;gt;&lt;br /&gt;
- Frame rate seemed pretty decent too.&amp;lt;br&amp;gt;&lt;br /&gt;
- Video is H.264 at 480x320.&amp;lt;br&amp;gt;&lt;br /&gt;
- Image is rotated 90 degrees CCW&lt;br /&gt;
&lt;br /&gt;
other useful gstreamer commands:&lt;br /&gt;
&lt;br /&gt;
gst-inspect (shows list of sources to pipe through, mostly decoders/demuxers)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
root@castle:/var/home/ccrook# gst-inspect&lt;br /&gt;
palmvideodecoder:  palmvideodecoder: palmvideodecoder&lt;br /&gt;
palmaudiodecoder:  palmaudiodecoder: palmaudiodecoder&lt;br /&gt;
wavparse:  wavparse: WAV audio demuxer&lt;br /&gt;
wavenc:  wavenc: WAV audio muxer&lt;br /&gt;
udp:  udpsink: UDP packet sender&lt;br /&gt;
udp:  multiudpsink: UDP packet sender&lt;br /&gt;
udp:  dynudpsink: UDP packet sender&lt;br /&gt;
udp:  udpsrc: UDP packet receiver&lt;br /&gt;
typefindfunctions: application/x-id3v2: mp3, mp2, mp1, mpga, ogg, flac, tta&lt;br /&gt;
typefindfunctions: application/x-id3v1: mp3, mp2, mp1, mpga, ogg, flac, tta&lt;br /&gt;
typefindfunctions: audio/mpeg: mp3, mp2, mp1, mpga&lt;br /&gt;
typefindfunctions: video/mpeg4: m4v&lt;br /&gt;
typefindfunctions: audio/x-m4a: m4a&lt;br /&gt;
typefindfunctions: application/x-3gp: 3gp&lt;br /&gt;
typefindfunctions: video/quicktime: mov&lt;br /&gt;
typefindfunctions: audio/x-wav: wav&lt;br /&gt;
typefindfunctions: adts_mpeg_stream: aac&lt;br /&gt;
typefindfunctions: audio/x-amr-nb-sh: amr&lt;br /&gt;
typefindfunctions: audio/x-amr-wb-sh: amr&lt;br /&gt;
rtsp:  rtspsrc: RTSP packet receiver&lt;br /&gt;
rtsp:  rtpdec: RTP Decoder&lt;br /&gt;
rtsp:  rtspgoogle: Google RTSP Extension&lt;br /&gt;
gstrtpmanager:  gstrtpbin: RTP Bin&lt;br /&gt;
gstrtpmanager:  gstrtpclient: RTP Client&lt;br /&gt;
gstrtpmanager:  gstrtpjitterbuffer: RTP packet jitter-buffer&lt;br /&gt;
gstrtpmanager:  gstrtpptdemux: RTP Demux&lt;br /&gt;
gstrtpmanager:  gstrtpsession: RTP Session&lt;br /&gt;
gstrtpmanager:  gstrtpssrcdemux: RTP SSRC Demux&lt;br /&gt;
rtp:  rtpdepay: RTP depayloader&lt;br /&gt;
rtp:  rtpac3depay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpdvdepay: RTP DV Depayloader&lt;br /&gt;
rtp:  rtpdvpay: RTP DV Payloader&lt;br /&gt;
rtp:  rtpilbcpay: RTP Payloader for iLBC Audio&lt;br /&gt;
rtp:  rtpilbcdepay: RTP iLBC packet depayloader&lt;br /&gt;
rtp:  rtpg726depay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpg726pay: RTP packet payloader&lt;br /&gt;
rtp:  rtpg729depay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpg729pay: RTP Payloader for G729 Audio&lt;br /&gt;
rtp:  rtpgsmdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpgsmpay: RTP GSM audio payloader&lt;br /&gt;
rtp:  rtpamrdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpamrpay: RTP packet payloader&lt;br /&gt;
rtp:  rtppcmadepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtppcmudepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtppcmupay: RTP packet payloader&lt;br /&gt;
rtp:  rtppcmapay: RTP packet payloader&lt;br /&gt;
rtp:  rtpmpadepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmpapay: RTP packet payloader&lt;br /&gt;
rtp:  rtpmpvdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmpvpay: RTP MPEG2 ES video payloader&lt;br /&gt;
rtp:  rtph263ppay: RTP packet payloader&lt;br /&gt;
rtp:  rtph263pdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtph263depay: RTP H263 packet depayloader&lt;br /&gt;
rtp:  rtph263pay: RTP packet payloader&lt;br /&gt;
rtp:  rtph264depay: RTP packet depayloader&lt;br /&gt;
rtp:  rtph264pay: RTP packet payloader&lt;br /&gt;
rtp:  rtpL16pay: RTP packet payloader&lt;br /&gt;
rtp:  rtpL16depay: RTP packet depayloader&lt;br /&gt;
rtp:  asteriskh263: RTP packet parser&lt;br /&gt;
rtp:  rtpmp1sdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmp2tdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmp2tpay: RTP MP2T audio payloader&lt;br /&gt;
rtp:  rtpmp4vpay: RTP MPEG-4 Video packet payloader&lt;br /&gt;
rtp:  rtpmp4vdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmp4apay: RTP packet payloader&lt;br /&gt;
rtp:  rtpmp4adepay: RTP packet parser&lt;br /&gt;
rtp:  rtpmp4gdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmp4gpay: RTP packet payloader&lt;br /&gt;
rtp:  rtpspeexpay: RTP packet payloader&lt;br /&gt;
rtp:  rtpspeexdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpsv3vdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtptheoradepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtptheorapay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpvorbisdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpvorbispay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpvrawdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpvrawpay: RTP packet payloader&lt;br /&gt;
queue2:  queue2: Queue&lt;br /&gt;
quicktime:  qtdemux: QuickTime demuxer&lt;br /&gt;
quicktime:  rtpxqtdepay: RTP packet depayloader&lt;br /&gt;
playback:  playbin: Player Bin&lt;br /&gt;
playback:  playbin2: Player Bin 2&lt;br /&gt;
mulaw:  mulawenc: Mu Law audio encoder&lt;br /&gt;
mulaw:  mulawdec: Mu Law audio decoder&lt;br /&gt;
mobirtspsrc:  mobirtspsrc: MobiRtspSrc&lt;br /&gt;
ffmpeg:  ffdec_alac: FFMPEG ALAC (Apple Lossless Audio Codec) decoder&lt;br /&gt;
ffmpeg:  ffdec_qcelp: FFMPEG QCELP / PureVoice decoder&lt;br /&gt;
ffmpeg:  ffdeinterlace: FFMPEG Deinterlace element&lt;br /&gt;
ffmpeg:  ffaudioresample: FFMPEG Audio resampling element&lt;br /&gt;
uridecodebin:  decodebin2: Decoder Bin&lt;br /&gt;
uridecodebin:  uridecodebin: URI Decoder&lt;br /&gt;
decodebin:  decodebin: Decoder Bin&lt;br /&gt;
coreindexers:  memindex: A index that stores entries in memory&lt;br /&gt;
coreelements:  capsfilter: CapsFilter&lt;br /&gt;
coreelements:  fakesrc: Fake Source&lt;br /&gt;
coreelements:  fakesink: Fake Sink&lt;br /&gt;
coreelements:  fdsrc: Filedescriptor Source&lt;br /&gt;
coreelements:  fdsink: Filedescriptor Sink&lt;br /&gt;
coreelements:  filesrc: File Source&lt;br /&gt;
coreelements:  identity: Identity&lt;br /&gt;
coreelements:  queue: Queue&lt;br /&gt;
coreelements:  filesink: File Sink&lt;br /&gt;
coreelements:  tee: Tee pipe fitting&lt;br /&gt;
coreelements:  typefind: TypeFind&lt;br /&gt;
coreelements:  multiqueue: MultiQueue&lt;br /&gt;
video4linux2:  camsrc: Video (video4linux2/raw) Source&lt;br /&gt;
avi:  avidemux: Avi demuxer&lt;br /&gt;
avi:  avimux: Avi muxer&lt;br /&gt;
avi:  avisubtitle: Avi subtitle parser&lt;br /&gt;
audiotestsrc:  audiotestsrc: Audio test source&lt;br /&gt;
audiorate:  audiorate: Audio rate adjuster&lt;br /&gt;
audioconvert:  audioconvert: Audio converter&lt;br /&gt;
alsa:  alsamixer: Alsa mixer&lt;br /&gt;
alsa:  alsasrc: Audio source (ALSA)&lt;br /&gt;
alsa:  alsasink: Audio sink (ALSA)&lt;br /&gt;
alaw:  alawenc: A Law audio encoder&lt;br /&gt;
alaw:  alawdec: A Law audio decoder&lt;br /&gt;
palmvideosink:  palmvideosink: palmvideosink&lt;br /&gt;
palmvideoencoder:  palmvideoencoder: palmvideoencoder&lt;br /&gt;
palmqcelpdemux:  palmqcelpdemux: palmqcelpdemux&lt;br /&gt;
palmqcelpdemux: audio/x-gst-fourcc-sqcp: no extensions&lt;br /&gt;
palmmp3demux:  palmmp3demux: palmmp3demux&lt;br /&gt;
palmjpegencfilesink:  palmjpegencfilesink: palmjpegencfilesink&lt;br /&gt;
palmhttpsrc:  palmhttpsrc: Palm HTTP Source Element&lt;br /&gt;
palmamrdemux:  palmamrdemux: palmamrdemux&lt;br /&gt;
adpcmdecoder:  palmadpcmdecoder: ADPCM Decoder&lt;br /&gt;
palmaacdemux:  palmaacdemux: palmaacdemux&lt;br /&gt;
staticelements:  bin: Generic bin&lt;br /&gt;
staticelements:  pipeline: Pipeline object&lt;br /&gt;
&lt;br /&gt;
Total count: 36 plugins, 129 features&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Additional reference from XO Laptop site:  &lt;br /&gt;
&lt;br /&gt;
http://wiki.laptop.org/go/Programming_the_camera&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.laptop.org/go/GStreamer#Using_gst_at_the_command_line&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Currently looking at ways to use the camera preview pipe as a method of video recording through the WebOS GUI by diverting it to the filesystem.&lt;br /&gt;
&lt;br /&gt;
File of interest:  /usr/lib/luna/luna-media/palmInitMedia.js&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
More on the camera module: http://www.st.com/stonline/products/literature/bd/14404/vx6852.htm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ToDo  ==&lt;br /&gt;
1.) Figure out proper way to freevideosink via a homebrew app&amp;lt;br&amp;gt;&lt;br /&gt;
2.) Mux in sound from alsasrc&amp;lt;br&amp;gt;&lt;br /&gt;
3.) Implement preview screen (possibility: send video through palmvideosink, then to palmvideoencoder)&amp;lt;br&amp;gt;&lt;br /&gt;
4.) Get Videos app to display recorded video&amp;lt;br&amp;gt;&lt;br /&gt;
5.) Video conferencing via UDPsink?&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cpcrook</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=VideoRecording&amp;diff=3913</id>
		<title>VideoRecording</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=VideoRecording&amp;diff=3913"/>
		<updated>2009-08-06T19:21:21Z</updated>

		<summary type="html">&lt;p&gt;Cpcrook: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;At your rooted command line:&lt;br /&gt;
&lt;br /&gt;
(make sure FS is rw)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
mount -o remount,rw /&lt;br /&gt;
gst-launch camsrc ! palmvideoencoder ! filesink location=/media/internal/downloads/foo.mts&lt;br /&gt;
mount -o remount,ro /&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
- No GUI&amp;lt;br&amp;gt;&lt;br /&gt;
- No sound (need a muxer plugin? verify alsasrc works)&amp;lt;br&amp;gt;&lt;br /&gt;
- Frame rate seemed pretty decent too.&amp;lt;br&amp;gt;&lt;br /&gt;
- Video is H.264 at 480x320.&amp;lt;br&amp;gt;&lt;br /&gt;
- Image is rotated 90 degrees CCW&lt;br /&gt;
&lt;br /&gt;
other useful gstreamer commands:&lt;br /&gt;
&lt;br /&gt;
gst-inspect (shows list of sources to pipe through, mostly decoders/demuxers)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
root@castle:/var/home/ccrook# gst-inspect&lt;br /&gt;
palmvideodecoder:  palmvideodecoder: palmvideodecoder&lt;br /&gt;
palmaudiodecoder:  palmaudiodecoder: palmaudiodecoder&lt;br /&gt;
wavparse:  wavparse: WAV audio demuxer&lt;br /&gt;
wavenc:  wavenc: WAV audio muxer&lt;br /&gt;
udp:  udpsink: UDP packet sender&lt;br /&gt;
udp:  multiudpsink: UDP packet sender&lt;br /&gt;
udp:  dynudpsink: UDP packet sender&lt;br /&gt;
udp:  udpsrc: UDP packet receiver&lt;br /&gt;
typefindfunctions: application/x-id3v2: mp3, mp2, mp1, mpga, ogg, flac, tta&lt;br /&gt;
typefindfunctions: application/x-id3v1: mp3, mp2, mp1, mpga, ogg, flac, tta&lt;br /&gt;
typefindfunctions: audio/mpeg: mp3, mp2, mp1, mpga&lt;br /&gt;
typefindfunctions: video/mpeg4: m4v&lt;br /&gt;
typefindfunctions: audio/x-m4a: m4a&lt;br /&gt;
typefindfunctions: application/x-3gp: 3gp&lt;br /&gt;
typefindfunctions: video/quicktime: mov&lt;br /&gt;
typefindfunctions: audio/x-wav: wav&lt;br /&gt;
typefindfunctions: adts_mpeg_stream: aac&lt;br /&gt;
typefindfunctions: audio/x-amr-nb-sh: amr&lt;br /&gt;
typefindfunctions: audio/x-amr-wb-sh: amr&lt;br /&gt;
rtsp:  rtspsrc: RTSP packet receiver&lt;br /&gt;
rtsp:  rtpdec: RTP Decoder&lt;br /&gt;
rtsp:  rtspgoogle: Google RTSP Extension&lt;br /&gt;
gstrtpmanager:  gstrtpbin: RTP Bin&lt;br /&gt;
gstrtpmanager:  gstrtpclient: RTP Client&lt;br /&gt;
gstrtpmanager:  gstrtpjitterbuffer: RTP packet jitter-buffer&lt;br /&gt;
gstrtpmanager:  gstrtpptdemux: RTP Demux&lt;br /&gt;
gstrtpmanager:  gstrtpsession: RTP Session&lt;br /&gt;
gstrtpmanager:  gstrtpssrcdemux: RTP SSRC Demux&lt;br /&gt;
rtp:  rtpdepay: RTP depayloader&lt;br /&gt;
rtp:  rtpac3depay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpdvdepay: RTP DV Depayloader&lt;br /&gt;
rtp:  rtpdvpay: RTP DV Payloader&lt;br /&gt;
rtp:  rtpilbcpay: RTP Payloader for iLBC Audio&lt;br /&gt;
rtp:  rtpilbcdepay: RTP iLBC packet depayloader&lt;br /&gt;
rtp:  rtpg726depay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpg726pay: RTP packet payloader&lt;br /&gt;
rtp:  rtpg729depay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpg729pay: RTP Payloader for G729 Audio&lt;br /&gt;
rtp:  rtpgsmdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpgsmpay: RTP GSM audio payloader&lt;br /&gt;
rtp:  rtpamrdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpamrpay: RTP packet payloader&lt;br /&gt;
rtp:  rtppcmadepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtppcmudepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtppcmupay: RTP packet payloader&lt;br /&gt;
rtp:  rtppcmapay: RTP packet payloader&lt;br /&gt;
rtp:  rtpmpadepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmpapay: RTP packet payloader&lt;br /&gt;
rtp:  rtpmpvdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmpvpay: RTP MPEG2 ES video payloader&lt;br /&gt;
rtp:  rtph263ppay: RTP packet payloader&lt;br /&gt;
rtp:  rtph263pdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtph263depay: RTP H263 packet depayloader&lt;br /&gt;
rtp:  rtph263pay: RTP packet payloader&lt;br /&gt;
rtp:  rtph264depay: RTP packet depayloader&lt;br /&gt;
rtp:  rtph264pay: RTP packet payloader&lt;br /&gt;
rtp:  rtpL16pay: RTP packet payloader&lt;br /&gt;
rtp:  rtpL16depay: RTP packet depayloader&lt;br /&gt;
rtp:  asteriskh263: RTP packet parser&lt;br /&gt;
rtp:  rtpmp1sdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmp2tdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmp2tpay: RTP MP2T audio payloader&lt;br /&gt;
rtp:  rtpmp4vpay: RTP MPEG-4 Video packet payloader&lt;br /&gt;
rtp:  rtpmp4vdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmp4apay: RTP packet payloader&lt;br /&gt;
rtp:  rtpmp4adepay: RTP packet parser&lt;br /&gt;
rtp:  rtpmp4gdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmp4gpay: RTP packet payloader&lt;br /&gt;
rtp:  rtpspeexpay: RTP packet payloader&lt;br /&gt;
rtp:  rtpspeexdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpsv3vdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtptheoradepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtptheorapay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpvorbisdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpvorbispay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpvrawdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpvrawpay: RTP packet payloader&lt;br /&gt;
queue2:  queue2: Queue&lt;br /&gt;
quicktime:  qtdemux: QuickTime demuxer&lt;br /&gt;
quicktime:  rtpxqtdepay: RTP packet depayloader&lt;br /&gt;
playback:  playbin: Player Bin&lt;br /&gt;
playback:  playbin2: Player Bin 2&lt;br /&gt;
mulaw:  mulawenc: Mu Law audio encoder&lt;br /&gt;
mulaw:  mulawdec: Mu Law audio decoder&lt;br /&gt;
mobirtspsrc:  mobirtspsrc: MobiRtspSrc&lt;br /&gt;
ffmpeg:  ffdec_alac: FFMPEG ALAC (Apple Lossless Audio Codec) decoder&lt;br /&gt;
ffmpeg:  ffdec_qcelp: FFMPEG QCELP / PureVoice decoder&lt;br /&gt;
ffmpeg:  ffdeinterlace: FFMPEG Deinterlace element&lt;br /&gt;
ffmpeg:  ffaudioresample: FFMPEG Audio resampling element&lt;br /&gt;
uridecodebin:  decodebin2: Decoder Bin&lt;br /&gt;
uridecodebin:  uridecodebin: URI Decoder&lt;br /&gt;
decodebin:  decodebin: Decoder Bin&lt;br /&gt;
coreindexers:  memindex: A index that stores entries in memory&lt;br /&gt;
coreelements:  capsfilter: CapsFilter&lt;br /&gt;
coreelements:  fakesrc: Fake Source&lt;br /&gt;
coreelements:  fakesink: Fake Sink&lt;br /&gt;
coreelements:  fdsrc: Filedescriptor Source&lt;br /&gt;
coreelements:  fdsink: Filedescriptor Sink&lt;br /&gt;
coreelements:  filesrc: File Source&lt;br /&gt;
coreelements:  identity: Identity&lt;br /&gt;
coreelements:  queue: Queue&lt;br /&gt;
coreelements:  filesink: File Sink&lt;br /&gt;
coreelements:  tee: Tee pipe fitting&lt;br /&gt;
coreelements:  typefind: TypeFind&lt;br /&gt;
coreelements:  multiqueue: MultiQueue&lt;br /&gt;
video4linux2:  camsrc: Video (video4linux2/raw) Source&lt;br /&gt;
avi:  avidemux: Avi demuxer&lt;br /&gt;
avi:  avimux: Avi muxer&lt;br /&gt;
avi:  avisubtitle: Avi subtitle parser&lt;br /&gt;
audiotestsrc:  audiotestsrc: Audio test source&lt;br /&gt;
audiorate:  audiorate: Audio rate adjuster&lt;br /&gt;
audioconvert:  audioconvert: Audio converter&lt;br /&gt;
alsa:  alsamixer: Alsa mixer&lt;br /&gt;
alsa:  alsasrc: Audio source (ALSA)&lt;br /&gt;
alsa:  alsasink: Audio sink (ALSA)&lt;br /&gt;
alaw:  alawenc: A Law audio encoder&lt;br /&gt;
alaw:  alawdec: A Law audio decoder&lt;br /&gt;
palmvideosink:  palmvideosink: palmvideosink&lt;br /&gt;
palmvideoencoder:  palmvideoencoder: palmvideoencoder&lt;br /&gt;
palmqcelpdemux:  palmqcelpdemux: palmqcelpdemux&lt;br /&gt;
palmqcelpdemux: audio/x-gst-fourcc-sqcp: no extensions&lt;br /&gt;
palmmp3demux:  palmmp3demux: palmmp3demux&lt;br /&gt;
palmjpegencfilesink:  palmjpegencfilesink: palmjpegencfilesink&lt;br /&gt;
palmhttpsrc:  palmhttpsrc: Palm HTTP Source Element&lt;br /&gt;
palmamrdemux:  palmamrdemux: palmamrdemux&lt;br /&gt;
adpcmdecoder:  palmadpcmdecoder: ADPCM Decoder&lt;br /&gt;
palmaacdemux:  palmaacdemux: palmaacdemux&lt;br /&gt;
staticelements:  bin: Generic bin&lt;br /&gt;
staticelements:  pipeline: Pipeline object&lt;br /&gt;
&lt;br /&gt;
Total count: 36 plugins, 129 features&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Additional reference from XO Laptop site:  &lt;br /&gt;
&lt;br /&gt;
http://wiki.laptop.org/go/Programming_the_camera&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.laptop.org/go/GStreamer#Using_gst_at_the_command_line&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Currently looking at ways to use the camera preview pipe as a method of video recording through the WebOS GUI by diverting it to the filesystem.&lt;br /&gt;
&lt;br /&gt;
File of interest:  /usr/lib/luna/luna-media/palmInitMedia.js&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
More on the camera module: http://www.st.com/stonline/products/literature/bd/14404/vx6852.htm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ToDo  ==&lt;br /&gt;
1.) Figure out proper way to freevideosink via a homebrew app&amp;lt;/br&amp;gt;&lt;br /&gt;
2.) Implement preview screen (possibility: send video through palmvideosink, then to palmvideoencoder)&amp;lt;/br&amp;gt;&lt;br /&gt;
3.) Get Videos app to display recorded video&amp;lt;/br&amp;gt;&lt;br /&gt;
4.) Video conferencing via UDPsink?&amp;lt;/br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cpcrook</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=VideoRecording&amp;diff=3912</id>
		<title>VideoRecording</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=VideoRecording&amp;diff=3912"/>
		<updated>2009-08-06T19:19:35Z</updated>

		<summary type="html">&lt;p&gt;Cpcrook: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;At your rooted command line:&lt;br /&gt;
&lt;br /&gt;
(make sure FS is rw)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
mount -o remount,rw /&lt;br /&gt;
gst-launch camsrc ! palmvideoencoder ! filesink location=/media/internal/downloads/foo.mts&lt;br /&gt;
mount -o remount,ro /&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
- No GUI&amp;lt;br&amp;gt;&lt;br /&gt;
- No sound (need a muxer plugin? verify alsasrc works)&amp;lt;br&amp;gt;&lt;br /&gt;
- Frame rate seemed pretty decent too.&amp;lt;br&amp;gt;&lt;br /&gt;
- Video is H.264 at 480x320.&amp;lt;br&amp;gt;&lt;br /&gt;
- Image is rotated 90 degrees CCW&lt;br /&gt;
&lt;br /&gt;
other useful gstreamer commands:&lt;br /&gt;
&lt;br /&gt;
gst-inspect (shows list of sources to pipe through, mostly decoders/demuxers)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
root@castle:/var/home/ccrook# gst-inspect&lt;br /&gt;
palmvideodecoder:  palmvideodecoder: palmvideodecoder&lt;br /&gt;
palmaudiodecoder:  palmaudiodecoder: palmaudiodecoder&lt;br /&gt;
wavparse:  wavparse: WAV audio demuxer&lt;br /&gt;
wavenc:  wavenc: WAV audio muxer&lt;br /&gt;
udp:  udpsink: UDP packet sender&lt;br /&gt;
udp:  multiudpsink: UDP packet sender&lt;br /&gt;
udp:  dynudpsink: UDP packet sender&lt;br /&gt;
udp:  udpsrc: UDP packet receiver&lt;br /&gt;
typefindfunctions: application/x-id3v2: mp3, mp2, mp1, mpga, ogg, flac, tta&lt;br /&gt;
typefindfunctions: application/x-id3v1: mp3, mp2, mp1, mpga, ogg, flac, tta&lt;br /&gt;
typefindfunctions: audio/mpeg: mp3, mp2, mp1, mpga&lt;br /&gt;
typefindfunctions: video/mpeg4: m4v&lt;br /&gt;
typefindfunctions: audio/x-m4a: m4a&lt;br /&gt;
typefindfunctions: application/x-3gp: 3gp&lt;br /&gt;
typefindfunctions: video/quicktime: mov&lt;br /&gt;
typefindfunctions: audio/x-wav: wav&lt;br /&gt;
typefindfunctions: adts_mpeg_stream: aac&lt;br /&gt;
typefindfunctions: audio/x-amr-nb-sh: amr&lt;br /&gt;
typefindfunctions: audio/x-amr-wb-sh: amr&lt;br /&gt;
rtsp:  rtspsrc: RTSP packet receiver&lt;br /&gt;
rtsp:  rtpdec: RTP Decoder&lt;br /&gt;
rtsp:  rtspgoogle: Google RTSP Extension&lt;br /&gt;
gstrtpmanager:  gstrtpbin: RTP Bin&lt;br /&gt;
gstrtpmanager:  gstrtpclient: RTP Client&lt;br /&gt;
gstrtpmanager:  gstrtpjitterbuffer: RTP packet jitter-buffer&lt;br /&gt;
gstrtpmanager:  gstrtpptdemux: RTP Demux&lt;br /&gt;
gstrtpmanager:  gstrtpsession: RTP Session&lt;br /&gt;
gstrtpmanager:  gstrtpssrcdemux: RTP SSRC Demux&lt;br /&gt;
rtp:  rtpdepay: RTP depayloader&lt;br /&gt;
rtp:  rtpac3depay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpdvdepay: RTP DV Depayloader&lt;br /&gt;
rtp:  rtpdvpay: RTP DV Payloader&lt;br /&gt;
rtp:  rtpilbcpay: RTP Payloader for iLBC Audio&lt;br /&gt;
rtp:  rtpilbcdepay: RTP iLBC packet depayloader&lt;br /&gt;
rtp:  rtpg726depay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpg726pay: RTP packet payloader&lt;br /&gt;
rtp:  rtpg729depay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpg729pay: RTP Payloader for G729 Audio&lt;br /&gt;
rtp:  rtpgsmdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpgsmpay: RTP GSM audio payloader&lt;br /&gt;
rtp:  rtpamrdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpamrpay: RTP packet payloader&lt;br /&gt;
rtp:  rtppcmadepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtppcmudepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtppcmupay: RTP packet payloader&lt;br /&gt;
rtp:  rtppcmapay: RTP packet payloader&lt;br /&gt;
rtp:  rtpmpadepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmpapay: RTP packet payloader&lt;br /&gt;
rtp:  rtpmpvdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmpvpay: RTP MPEG2 ES video payloader&lt;br /&gt;
rtp:  rtph263ppay: RTP packet payloader&lt;br /&gt;
rtp:  rtph263pdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtph263depay: RTP H263 packet depayloader&lt;br /&gt;
rtp:  rtph263pay: RTP packet payloader&lt;br /&gt;
rtp:  rtph264depay: RTP packet depayloader&lt;br /&gt;
rtp:  rtph264pay: RTP packet payloader&lt;br /&gt;
rtp:  rtpL16pay: RTP packet payloader&lt;br /&gt;
rtp:  rtpL16depay: RTP packet depayloader&lt;br /&gt;
rtp:  asteriskh263: RTP packet parser&lt;br /&gt;
rtp:  rtpmp1sdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmp2tdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmp2tpay: RTP MP2T audio payloader&lt;br /&gt;
rtp:  rtpmp4vpay: RTP MPEG-4 Video packet payloader&lt;br /&gt;
rtp:  rtpmp4vdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmp4apay: RTP packet payloader&lt;br /&gt;
rtp:  rtpmp4adepay: RTP packet parser&lt;br /&gt;
rtp:  rtpmp4gdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmp4gpay: RTP packet payloader&lt;br /&gt;
rtp:  rtpspeexpay: RTP packet payloader&lt;br /&gt;
rtp:  rtpspeexdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpsv3vdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtptheoradepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtptheorapay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpvorbisdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpvorbispay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpvrawdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpvrawpay: RTP packet payloader&lt;br /&gt;
queue2:  queue2: Queue&lt;br /&gt;
quicktime:  qtdemux: QuickTime demuxer&lt;br /&gt;
quicktime:  rtpxqtdepay: RTP packet depayloader&lt;br /&gt;
playback:  playbin: Player Bin&lt;br /&gt;
playback:  playbin2: Player Bin 2&lt;br /&gt;
mulaw:  mulawenc: Mu Law audio encoder&lt;br /&gt;
mulaw:  mulawdec: Mu Law audio decoder&lt;br /&gt;
mobirtspsrc:  mobirtspsrc: MobiRtspSrc&lt;br /&gt;
ffmpeg:  ffdec_alac: FFMPEG ALAC (Apple Lossless Audio Codec) decoder&lt;br /&gt;
ffmpeg:  ffdec_qcelp: FFMPEG QCELP / PureVoice decoder&lt;br /&gt;
ffmpeg:  ffdeinterlace: FFMPEG Deinterlace element&lt;br /&gt;
ffmpeg:  ffaudioresample: FFMPEG Audio resampling element&lt;br /&gt;
uridecodebin:  decodebin2: Decoder Bin&lt;br /&gt;
uridecodebin:  uridecodebin: URI Decoder&lt;br /&gt;
decodebin:  decodebin: Decoder Bin&lt;br /&gt;
coreindexers:  memindex: A index that stores entries in memory&lt;br /&gt;
coreelements:  capsfilter: CapsFilter&lt;br /&gt;
coreelements:  fakesrc: Fake Source&lt;br /&gt;
coreelements:  fakesink: Fake Sink&lt;br /&gt;
coreelements:  fdsrc: Filedescriptor Source&lt;br /&gt;
coreelements:  fdsink: Filedescriptor Sink&lt;br /&gt;
coreelements:  filesrc: File Source&lt;br /&gt;
coreelements:  identity: Identity&lt;br /&gt;
coreelements:  queue: Queue&lt;br /&gt;
coreelements:  filesink: File Sink&lt;br /&gt;
coreelements:  tee: Tee pipe fitting&lt;br /&gt;
coreelements:  typefind: TypeFind&lt;br /&gt;
coreelements:  multiqueue: MultiQueue&lt;br /&gt;
video4linux2:  camsrc: Video (video4linux2/raw) Source&lt;br /&gt;
avi:  avidemux: Avi demuxer&lt;br /&gt;
avi:  avimux: Avi muxer&lt;br /&gt;
avi:  avisubtitle: Avi subtitle parser&lt;br /&gt;
audiotestsrc:  audiotestsrc: Audio test source&lt;br /&gt;
audiorate:  audiorate: Audio rate adjuster&lt;br /&gt;
audioconvert:  audioconvert: Audio converter&lt;br /&gt;
alsa:  alsamixer: Alsa mixer&lt;br /&gt;
alsa:  alsasrc: Audio source (ALSA)&lt;br /&gt;
alsa:  alsasink: Audio sink (ALSA)&lt;br /&gt;
alaw:  alawenc: A Law audio encoder&lt;br /&gt;
alaw:  alawdec: A Law audio decoder&lt;br /&gt;
palmvideosink:  palmvideosink: palmvideosink&lt;br /&gt;
palmvideoencoder:  palmvideoencoder: palmvideoencoder&lt;br /&gt;
palmqcelpdemux:  palmqcelpdemux: palmqcelpdemux&lt;br /&gt;
palmqcelpdemux: audio/x-gst-fourcc-sqcp: no extensions&lt;br /&gt;
palmmp3demux:  palmmp3demux: palmmp3demux&lt;br /&gt;
palmjpegencfilesink:  palmjpegencfilesink: palmjpegencfilesink&lt;br /&gt;
palmhttpsrc:  palmhttpsrc: Palm HTTP Source Element&lt;br /&gt;
palmamrdemux:  palmamrdemux: palmamrdemux&lt;br /&gt;
adpcmdecoder:  palmadpcmdecoder: ADPCM Decoder&lt;br /&gt;
palmaacdemux:  palmaacdemux: palmaacdemux&lt;br /&gt;
staticelements:  bin: Generic bin&lt;br /&gt;
staticelements:  pipeline: Pipeline object&lt;br /&gt;
&lt;br /&gt;
Total count: 36 plugins, 129 features&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Additional reference from XO Laptop site:  &lt;br /&gt;
&lt;br /&gt;
http://wiki.laptop.org/go/Programming_the_camera&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.laptop.org/go/GStreamer#Using_gst_at_the_command_line&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Currently looking at ways to use the camera preview pipe as a method of video recording through the WebOS GUI by diverting it to the filesystem.&lt;br /&gt;
&lt;br /&gt;
File of interest:  /usr/lib/luna/luna-media/palmInitMedia.js&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
More on the camera module: http://www.st.com/stonline/products/literature/bd/14404/vx6852.htm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ToDo  ==&lt;br /&gt;
1.) Figure out proper way to freevideosink via a homebrew app&lt;br /&gt;
2.) Implement preview screen (possibility: send video through palmvideosink, then to palmvideoencoder)&lt;br /&gt;
3.) Video conferencing via UDPsink?&lt;/div&gt;</summary>
		<author><name>Cpcrook</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=VideoRecording&amp;diff=3911</id>
		<title>VideoRecording</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=VideoRecording&amp;diff=3911"/>
		<updated>2009-08-06T18:51:06Z</updated>

		<summary type="html">&lt;p&gt;Cpcrook: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;At your rooted command line:&lt;br /&gt;
&lt;br /&gt;
(make sure FS is rw)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
mount -o remount,rw /&lt;br /&gt;
gst-launch camsrc ! palmvideoencoder ! filesink location=/media/internal/downloads/foo.mts&lt;br /&gt;
mount -o remount,ro /&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
- No GUI&amp;lt;br&amp;gt;&lt;br /&gt;
- No sound (need a muxer plugin? verify alsasrc works)&amp;lt;br&amp;gt;&lt;br /&gt;
- Frame rate seemed pretty decent too.&amp;lt;br&amp;gt;&lt;br /&gt;
- Video is H.264 at 480x320.&amp;lt;br&amp;gt;&lt;br /&gt;
- Image is rotated 90 degrees CCW&lt;br /&gt;
&lt;br /&gt;
other useful gstreamer commands:&lt;br /&gt;
&lt;br /&gt;
gst-inspect (shows list of sources to pipe through, mostly decoders/demuxers)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
root@castle:/var/home/ccrook# gst-inspect&lt;br /&gt;
palmvideodecoder:  palmvideodecoder: palmvideodecoder&lt;br /&gt;
palmaudiodecoder:  palmaudiodecoder: palmaudiodecoder&lt;br /&gt;
wavparse:  wavparse: WAV audio demuxer&lt;br /&gt;
wavenc:  wavenc: WAV audio muxer&lt;br /&gt;
udp:  udpsink: UDP packet sender&lt;br /&gt;
udp:  multiudpsink: UDP packet sender&lt;br /&gt;
udp:  dynudpsink: UDP packet sender&lt;br /&gt;
udp:  udpsrc: UDP packet receiver&lt;br /&gt;
typefindfunctions: application/x-id3v2: mp3, mp2, mp1, mpga, ogg, flac, tta&lt;br /&gt;
typefindfunctions: application/x-id3v1: mp3, mp2, mp1, mpga, ogg, flac, tta&lt;br /&gt;
typefindfunctions: audio/mpeg: mp3, mp2, mp1, mpga&lt;br /&gt;
typefindfunctions: video/mpeg4: m4v&lt;br /&gt;
typefindfunctions: audio/x-m4a: m4a&lt;br /&gt;
typefindfunctions: application/x-3gp: 3gp&lt;br /&gt;
typefindfunctions: video/quicktime: mov&lt;br /&gt;
typefindfunctions: audio/x-wav: wav&lt;br /&gt;
typefindfunctions: adts_mpeg_stream: aac&lt;br /&gt;
typefindfunctions: audio/x-amr-nb-sh: amr&lt;br /&gt;
typefindfunctions: audio/x-amr-wb-sh: amr&lt;br /&gt;
rtsp:  rtspsrc: RTSP packet receiver&lt;br /&gt;
rtsp:  rtpdec: RTP Decoder&lt;br /&gt;
rtsp:  rtspgoogle: Google RTSP Extension&lt;br /&gt;
gstrtpmanager:  gstrtpbin: RTP Bin&lt;br /&gt;
gstrtpmanager:  gstrtpclient: RTP Client&lt;br /&gt;
gstrtpmanager:  gstrtpjitterbuffer: RTP packet jitter-buffer&lt;br /&gt;
gstrtpmanager:  gstrtpptdemux: RTP Demux&lt;br /&gt;
gstrtpmanager:  gstrtpsession: RTP Session&lt;br /&gt;
gstrtpmanager:  gstrtpssrcdemux: RTP SSRC Demux&lt;br /&gt;
rtp:  rtpdepay: RTP depayloader&lt;br /&gt;
rtp:  rtpac3depay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpdvdepay: RTP DV Depayloader&lt;br /&gt;
rtp:  rtpdvpay: RTP DV Payloader&lt;br /&gt;
rtp:  rtpilbcpay: RTP Payloader for iLBC Audio&lt;br /&gt;
rtp:  rtpilbcdepay: RTP iLBC packet depayloader&lt;br /&gt;
rtp:  rtpg726depay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpg726pay: RTP packet payloader&lt;br /&gt;
rtp:  rtpg729depay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpg729pay: RTP Payloader for G729 Audio&lt;br /&gt;
rtp:  rtpgsmdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpgsmpay: RTP GSM audio payloader&lt;br /&gt;
rtp:  rtpamrdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpamrpay: RTP packet payloader&lt;br /&gt;
rtp:  rtppcmadepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtppcmudepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtppcmupay: RTP packet payloader&lt;br /&gt;
rtp:  rtppcmapay: RTP packet payloader&lt;br /&gt;
rtp:  rtpmpadepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmpapay: RTP packet payloader&lt;br /&gt;
rtp:  rtpmpvdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmpvpay: RTP MPEG2 ES video payloader&lt;br /&gt;
rtp:  rtph263ppay: RTP packet payloader&lt;br /&gt;
rtp:  rtph263pdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtph263depay: RTP H263 packet depayloader&lt;br /&gt;
rtp:  rtph263pay: RTP packet payloader&lt;br /&gt;
rtp:  rtph264depay: RTP packet depayloader&lt;br /&gt;
rtp:  rtph264pay: RTP packet payloader&lt;br /&gt;
rtp:  rtpL16pay: RTP packet payloader&lt;br /&gt;
rtp:  rtpL16depay: RTP packet depayloader&lt;br /&gt;
rtp:  asteriskh263: RTP packet parser&lt;br /&gt;
rtp:  rtpmp1sdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmp2tdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmp2tpay: RTP MP2T audio payloader&lt;br /&gt;
rtp:  rtpmp4vpay: RTP MPEG-4 Video packet payloader&lt;br /&gt;
rtp:  rtpmp4vdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmp4apay: RTP packet payloader&lt;br /&gt;
rtp:  rtpmp4adepay: RTP packet parser&lt;br /&gt;
rtp:  rtpmp4gdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmp4gpay: RTP packet payloader&lt;br /&gt;
rtp:  rtpspeexpay: RTP packet payloader&lt;br /&gt;
rtp:  rtpspeexdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpsv3vdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtptheoradepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtptheorapay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpvorbisdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpvorbispay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpvrawdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpvrawpay: RTP packet payloader&lt;br /&gt;
queue2:  queue2: Queue&lt;br /&gt;
quicktime:  qtdemux: QuickTime demuxer&lt;br /&gt;
quicktime:  rtpxqtdepay: RTP packet depayloader&lt;br /&gt;
playback:  playbin: Player Bin&lt;br /&gt;
playback:  playbin2: Player Bin 2&lt;br /&gt;
mulaw:  mulawenc: Mu Law audio encoder&lt;br /&gt;
mulaw:  mulawdec: Mu Law audio decoder&lt;br /&gt;
mobirtspsrc:  mobirtspsrc: MobiRtspSrc&lt;br /&gt;
ffmpeg:  ffdec_alac: FFMPEG ALAC (Apple Lossless Audio Codec) decoder&lt;br /&gt;
ffmpeg:  ffdec_qcelp: FFMPEG QCELP / PureVoice decoder&lt;br /&gt;
ffmpeg:  ffdeinterlace: FFMPEG Deinterlace element&lt;br /&gt;
ffmpeg:  ffaudioresample: FFMPEG Audio resampling element&lt;br /&gt;
uridecodebin:  decodebin2: Decoder Bin&lt;br /&gt;
uridecodebin:  uridecodebin: URI Decoder&lt;br /&gt;
decodebin:  decodebin: Decoder Bin&lt;br /&gt;
coreindexers:  memindex: A index that stores entries in memory&lt;br /&gt;
coreelements:  capsfilter: CapsFilter&lt;br /&gt;
coreelements:  fakesrc: Fake Source&lt;br /&gt;
coreelements:  fakesink: Fake Sink&lt;br /&gt;
coreelements:  fdsrc: Filedescriptor Source&lt;br /&gt;
coreelements:  fdsink: Filedescriptor Sink&lt;br /&gt;
coreelements:  filesrc: File Source&lt;br /&gt;
coreelements:  identity: Identity&lt;br /&gt;
coreelements:  queue: Queue&lt;br /&gt;
coreelements:  filesink: File Sink&lt;br /&gt;
coreelements:  tee: Tee pipe fitting&lt;br /&gt;
coreelements:  typefind: TypeFind&lt;br /&gt;
coreelements:  multiqueue: MultiQueue&lt;br /&gt;
video4linux2:  camsrc: Video (video4linux2/raw) Source&lt;br /&gt;
avi:  avidemux: Avi demuxer&lt;br /&gt;
avi:  avimux: Avi muxer&lt;br /&gt;
avi:  avisubtitle: Avi subtitle parser&lt;br /&gt;
audiotestsrc:  audiotestsrc: Audio test source&lt;br /&gt;
audiorate:  audiorate: Audio rate adjuster&lt;br /&gt;
audioconvert:  audioconvert: Audio converter&lt;br /&gt;
alsa:  alsamixer: Alsa mixer&lt;br /&gt;
alsa:  alsasrc: Audio source (ALSA)&lt;br /&gt;
alsa:  alsasink: Audio sink (ALSA)&lt;br /&gt;
alaw:  alawenc: A Law audio encoder&lt;br /&gt;
alaw:  alawdec: A Law audio decoder&lt;br /&gt;
palmvideosink:  palmvideosink: palmvideosink&lt;br /&gt;
palmvideoencoder:  palmvideoencoder: palmvideoencoder&lt;br /&gt;
palmqcelpdemux:  palmqcelpdemux: palmqcelpdemux&lt;br /&gt;
palmqcelpdemux: audio/x-gst-fourcc-sqcp: no extensions&lt;br /&gt;
palmmp3demux:  palmmp3demux: palmmp3demux&lt;br /&gt;
palmjpegencfilesink:  palmjpegencfilesink: palmjpegencfilesink&lt;br /&gt;
palmhttpsrc:  palmhttpsrc: Palm HTTP Source Element&lt;br /&gt;
palmamrdemux:  palmamrdemux: palmamrdemux&lt;br /&gt;
adpcmdecoder:  palmadpcmdecoder: ADPCM Decoder&lt;br /&gt;
palmaacdemux:  palmaacdemux: palmaacdemux&lt;br /&gt;
staticelements:  bin: Generic bin&lt;br /&gt;
staticelements:  pipeline: Pipeline object&lt;br /&gt;
&lt;br /&gt;
Total count: 36 plugins, 129 features&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Additional reference from XO Laptop site:  &lt;br /&gt;
&lt;br /&gt;
http://wiki.laptop.org/go/Programming_the_camera&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.laptop.org/go/GStreamer#Using_gst_at_the_command_line&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Currently looking at ways to use the camera preview pipe as a method of video recording through the WebOS GUI by diverting it to the filesystem.&lt;br /&gt;
&lt;br /&gt;
File of interest:  /usr/lib/luna/luna-media/palmInitMedia.js&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
More on the camera module: http://www.st.com/stonline/products/literature/bd/14404/vx6852.htm&lt;/div&gt;</summary>
		<author><name>Cpcrook</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=VideoRecording&amp;diff=3905</id>
		<title>VideoRecording</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=VideoRecording&amp;diff=3905"/>
		<updated>2009-08-06T16:49:02Z</updated>

		<summary type="html">&lt;p&gt;Cpcrook: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;At your rooted command line:&lt;br /&gt;
&lt;br /&gt;
(make sure FS is rw)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
mount -o remount,rw /&amp;lt;br&amp;gt;&lt;br /&gt;
gst-launch camsrc ! palmvideoencoder ! filesink location=/media/internal/downloads/foo.mts&amp;lt;br&amp;gt;&lt;br /&gt;
mount -o remount,ro /&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
- No GUI&amp;lt;br&amp;gt;&lt;br /&gt;
- No sound (need a muxer plugin? verify alsasrc works)&amp;lt;br&amp;gt;&lt;br /&gt;
Frame rate seemed pretty decent too.&amp;lt;br&amp;gt;&lt;br /&gt;
Video is H.264 at 480x320.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
other useful gstreamer commands:&lt;br /&gt;
&lt;br /&gt;
gst-inspect (shows list of sources to pipe through, mostly decoders/demuxers)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
root@castle:/var/home/ccrook# gst-inspect&lt;br /&gt;
palmvideodecoder:  palmvideodecoder: palmvideodecoder&lt;br /&gt;
palmaudiodecoder:  palmaudiodecoder: palmaudiodecoder&lt;br /&gt;
wavparse:  wavparse: WAV audio demuxer&lt;br /&gt;
wavenc:  wavenc: WAV audio muxer&lt;br /&gt;
udp:  udpsink: UDP packet sender&lt;br /&gt;
udp:  multiudpsink: UDP packet sender&lt;br /&gt;
udp:  dynudpsink: UDP packet sender&lt;br /&gt;
udp:  udpsrc: UDP packet receiver&lt;br /&gt;
typefindfunctions: application/x-id3v2: mp3, mp2, mp1, mpga, ogg, flac, tta&lt;br /&gt;
typefindfunctions: application/x-id3v1: mp3, mp2, mp1, mpga, ogg, flac, tta&lt;br /&gt;
typefindfunctions: audio/mpeg: mp3, mp2, mp1, mpga&lt;br /&gt;
typefindfunctions: video/mpeg4: m4v&lt;br /&gt;
typefindfunctions: audio/x-m4a: m4a&lt;br /&gt;
typefindfunctions: application/x-3gp: 3gp&lt;br /&gt;
typefindfunctions: video/quicktime: mov&lt;br /&gt;
typefindfunctions: audio/x-wav: wav&lt;br /&gt;
typefindfunctions: adts_mpeg_stream: aac&lt;br /&gt;
typefindfunctions: audio/x-amr-nb-sh: amr&lt;br /&gt;
typefindfunctions: audio/x-amr-wb-sh: amr&lt;br /&gt;
rtsp:  rtspsrc: RTSP packet receiver&lt;br /&gt;
rtsp:  rtpdec: RTP Decoder&lt;br /&gt;
rtsp:  rtspgoogle: Google RTSP Extension&lt;br /&gt;
gstrtpmanager:  gstrtpbin: RTP Bin&lt;br /&gt;
gstrtpmanager:  gstrtpclient: RTP Client&lt;br /&gt;
gstrtpmanager:  gstrtpjitterbuffer: RTP packet jitter-buffer&lt;br /&gt;
gstrtpmanager:  gstrtpptdemux: RTP Demux&lt;br /&gt;
gstrtpmanager:  gstrtpsession: RTP Session&lt;br /&gt;
gstrtpmanager:  gstrtpssrcdemux: RTP SSRC Demux&lt;br /&gt;
rtp:  rtpdepay: RTP depayloader&lt;br /&gt;
rtp:  rtpac3depay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpdvdepay: RTP DV Depayloader&lt;br /&gt;
rtp:  rtpdvpay: RTP DV Payloader&lt;br /&gt;
rtp:  rtpilbcpay: RTP Payloader for iLBC Audio&lt;br /&gt;
rtp:  rtpilbcdepay: RTP iLBC packet depayloader&lt;br /&gt;
rtp:  rtpg726depay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpg726pay: RTP packet payloader&lt;br /&gt;
rtp:  rtpg729depay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpg729pay: RTP Payloader for G729 Audio&lt;br /&gt;
rtp:  rtpgsmdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpgsmpay: RTP GSM audio payloader&lt;br /&gt;
rtp:  rtpamrdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpamrpay: RTP packet payloader&lt;br /&gt;
rtp:  rtppcmadepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtppcmudepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtppcmupay: RTP packet payloader&lt;br /&gt;
rtp:  rtppcmapay: RTP packet payloader&lt;br /&gt;
rtp:  rtpmpadepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmpapay: RTP packet payloader&lt;br /&gt;
rtp:  rtpmpvdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmpvpay: RTP MPEG2 ES video payloader&lt;br /&gt;
rtp:  rtph263ppay: RTP packet payloader&lt;br /&gt;
rtp:  rtph263pdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtph263depay: RTP H263 packet depayloader&lt;br /&gt;
rtp:  rtph263pay: RTP packet payloader&lt;br /&gt;
rtp:  rtph264depay: RTP packet depayloader&lt;br /&gt;
rtp:  rtph264pay: RTP packet payloader&lt;br /&gt;
rtp:  rtpL16pay: RTP packet payloader&lt;br /&gt;
rtp:  rtpL16depay: RTP packet depayloader&lt;br /&gt;
rtp:  asteriskh263: RTP packet parser&lt;br /&gt;
rtp:  rtpmp1sdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmp2tdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmp2tpay: RTP MP2T audio payloader&lt;br /&gt;
rtp:  rtpmp4vpay: RTP MPEG-4 Video packet payloader&lt;br /&gt;
rtp:  rtpmp4vdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmp4apay: RTP packet payloader&lt;br /&gt;
rtp:  rtpmp4adepay: RTP packet parser&lt;br /&gt;
rtp:  rtpmp4gdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpmp4gpay: RTP packet payloader&lt;br /&gt;
rtp:  rtpspeexpay: RTP packet payloader&lt;br /&gt;
rtp:  rtpspeexdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpsv3vdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtptheoradepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtptheorapay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpvorbisdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpvorbispay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpvrawdepay: RTP packet depayloader&lt;br /&gt;
rtp:  rtpvrawpay: RTP packet payloader&lt;br /&gt;
queue2:  queue2: Queue&lt;br /&gt;
quicktime:  qtdemux: QuickTime demuxer&lt;br /&gt;
quicktime:  rtpxqtdepay: RTP packet depayloader&lt;br /&gt;
playback:  playbin: Player Bin&lt;br /&gt;
playback:  playbin2: Player Bin 2&lt;br /&gt;
mulaw:  mulawenc: Mu Law audio encoder&lt;br /&gt;
mulaw:  mulawdec: Mu Law audio decoder&lt;br /&gt;
mobirtspsrc:  mobirtspsrc: MobiRtspSrc&lt;br /&gt;
ffmpeg:  ffdec_alac: FFMPEG ALAC (Apple Lossless Audio Codec) decoder&lt;br /&gt;
ffmpeg:  ffdec_qcelp: FFMPEG QCELP / PureVoice decoder&lt;br /&gt;
ffmpeg:  ffdeinterlace: FFMPEG Deinterlace element&lt;br /&gt;
ffmpeg:  ffaudioresample: FFMPEG Audio resampling element&lt;br /&gt;
uridecodebin:  decodebin2: Decoder Bin&lt;br /&gt;
uridecodebin:  uridecodebin: URI Decoder&lt;br /&gt;
decodebin:  decodebin: Decoder Bin&lt;br /&gt;
coreindexers:  memindex: A index that stores entries in memory&lt;br /&gt;
coreelements:  capsfilter: CapsFilter&lt;br /&gt;
coreelements:  fakesrc: Fake Source&lt;br /&gt;
coreelements:  fakesink: Fake Sink&lt;br /&gt;
coreelements:  fdsrc: Filedescriptor Source&lt;br /&gt;
coreelements:  fdsink: Filedescriptor Sink&lt;br /&gt;
coreelements:  filesrc: File Source&lt;br /&gt;
coreelements:  identity: Identity&lt;br /&gt;
coreelements:  queue: Queue&lt;br /&gt;
coreelements:  filesink: File Sink&lt;br /&gt;
coreelements:  tee: Tee pipe fitting&lt;br /&gt;
coreelements:  typefind: TypeFind&lt;br /&gt;
coreelements:  multiqueue: MultiQueue&lt;br /&gt;
video4linux2:  camsrc: Video (video4linux2/raw) Source&lt;br /&gt;
avi:  avidemux: Avi demuxer&lt;br /&gt;
avi:  avimux: Avi muxer&lt;br /&gt;
avi:  avisubtitle: Avi subtitle parser&lt;br /&gt;
audiotestsrc:  audiotestsrc: Audio test source&lt;br /&gt;
audiorate:  audiorate: Audio rate adjuster&lt;br /&gt;
audioconvert:  audioconvert: Audio converter&lt;br /&gt;
alsa:  alsamixer: Alsa mixer&lt;br /&gt;
alsa:  alsasrc: Audio source (ALSA)&lt;br /&gt;
alsa:  alsasink: Audio sink (ALSA)&lt;br /&gt;
alaw:  alawenc: A Law audio encoder&lt;br /&gt;
alaw:  alawdec: A Law audio decoder&lt;br /&gt;
palmvideosink:  palmvideosink: palmvideosink&lt;br /&gt;
palmvideoencoder:  palmvideoencoder: palmvideoencoder&lt;br /&gt;
palmqcelpdemux:  palmqcelpdemux: palmqcelpdemux&lt;br /&gt;
palmqcelpdemux: audio/x-gst-fourcc-sqcp: no extensions&lt;br /&gt;
palmmp3demux:  palmmp3demux: palmmp3demux&lt;br /&gt;
palmjpegencfilesink:  palmjpegencfilesink: palmjpegencfilesink&lt;br /&gt;
palmhttpsrc:  palmhttpsrc: Palm HTTP Source Element&lt;br /&gt;
palmamrdemux:  palmamrdemux: palmamrdemux&lt;br /&gt;
adpcmdecoder:  palmadpcmdecoder: ADPCM Decoder&lt;br /&gt;
palmaacdemux:  palmaacdemux: palmaacdemux&lt;br /&gt;
staticelements:  bin: Generic bin&lt;br /&gt;
staticelements:  pipeline: Pipeline object&lt;br /&gt;
&lt;br /&gt;
Total count: 36 plugins, 129 features&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Additional reference from XO Laptop site:  &lt;br /&gt;
&lt;br /&gt;
http://wiki.laptop.org/go/Programming_the_camera&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.laptop.org/go/GStreamer#Using_gst_at_the_command_line&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Currently looking at ways to use the camera preview pipe as a method of video recording through the WebOS GUI by diverting it to the filesystem.&lt;br /&gt;
&lt;br /&gt;
File of interest:  /usr/lib/luna/luna-media/palmInitMedia.js&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
More on the camera module: http://www.st.com/stonline/products/literature/bd/14404/vx6852.htm&lt;/div&gt;</summary>
		<author><name>Cpcrook</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=VideoRecording&amp;diff=3892</id>
		<title>VideoRecording</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=VideoRecording&amp;diff=3892"/>
		<updated>2009-08-06T14:56:55Z</updated>

		<summary type="html">&lt;p&gt;Cpcrook: New page: At your rooted command line:  (make sure FS is rw) mount -o remount,rw / gst-launch camsrc ! palmvideoencoder ! filesink location=/media/internal/downloads/foo.mp4 mount -o remount,ro /  -...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;At your rooted command line:&lt;br /&gt;
&lt;br /&gt;
(make sure FS is rw)&lt;br /&gt;
mount -o remount,rw /&lt;br /&gt;
gst-launch camsrc ! palmvideoencoder ! filesink location=/media/internal/downloads/foo.mp4&lt;br /&gt;
mount -o remount,ro /&lt;br /&gt;
&lt;br /&gt;
- No GUI&lt;br /&gt;
- No sound (need a muxer plugin? verify alsasrc works)&lt;br /&gt;
Frame rate seemed pretty decent too.&lt;br /&gt;
&lt;br /&gt;
other useful gstreamer commands:&lt;br /&gt;
&lt;br /&gt;
gst-inspect (shows list of sources to pipe through, mostly decoders/demuxers)&lt;br /&gt;
&lt;br /&gt;
Additional reference from XO Laptop site:  &lt;br /&gt;
&lt;br /&gt;
http://wiki.laptop.org/go/Programming_the_camera&lt;br /&gt;
http://wiki.laptop.org/go/GStreamer#Using_gst_at_the_command_line&lt;br /&gt;
&lt;br /&gt;
Currently looking at ways to use the camera preview pipe as a method of video recording through the WebOS GUI by diverting it to the filesystem.&lt;br /&gt;
&lt;br /&gt;
File of interest:  /usr/lib/luna/luna-media/palmInitMedia.js&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
More on the camera module: http://www.st.com/stonline/products/literature/bd/14404/vx6852.htm&lt;/div&gt;</summary>
		<author><name>Cpcrook</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Portal:Research&amp;diff=3891</id>
		<title>Portal:Research</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Portal:Research&amp;diff=3891"/>
		<updated>2009-08-06T14:51:54Z</updated>

		<summary type="html">&lt;p&gt;Cpcrook: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__notoc__&lt;br /&gt;
{{portal-header|&lt;br /&gt;
The Research Portal is for bleeding edge things being done with the device. &lt;br /&gt;
&lt;br /&gt;
Title all pages: '''Research [description]''' or '''Reference [description]'''&lt;br /&gt;
}}&lt;br /&gt;
{{portal-two-columns&lt;br /&gt;
|column1=&lt;br /&gt;
===Research:===&lt;br /&gt;
&lt;br /&gt;
* [[Applications Bundled on the Pre]]&lt;br /&gt;
* [[Application_Framework|Application Framework]]&lt;br /&gt;
* [[Blocking Updates]]&lt;br /&gt;
* [[BlueZ|BlueZ (Replacing Palm Bluetooth)]]&lt;br /&gt;
* [[Boot_Chain|Boot Chain]]&lt;br /&gt;
* [[Bootie]]&lt;br /&gt;
* [[Decrypt SSL (trusted man-in-the-middle technique)|Decrypt SSL (trusted man-in-the-middle technique)]] &lt;br /&gt;
* [[Introspecting_Dbus|Introspecting Dbus]]&lt;br /&gt;
* [[Key Codes|Key Codes]] &lt;br /&gt;
* [[Pre Specific Hash Codes|Pre Specific Hash Codes]] &lt;br /&gt;
* [[Pictures from Self-Test|Pictures from Self-Test]] &lt;br /&gt;
* [[Restore Debug Log|Restore Debug Log]] &lt;br /&gt;
* [[Reverse_Engineering_WebOS_Doctor|Reverse Engineering WebOS Doctor]]&lt;br /&gt;
* [[Reverse_Engineering_WebOS_Quick_Install|Reverse Engineering WebOS Quick Install]]&lt;br /&gt;
* [[Rooted Pre Issues|Rooted Pre Issues]] &lt;br /&gt;
* [[Running Processes|Running Processes]] &lt;br /&gt;
* [[Symlink Applications|Symlink Applications]] &lt;br /&gt;
* [[System Sounds|System Sounds]] &lt;br /&gt;
* [[TestApps|TestApps]] &lt;br /&gt;
* [[Update Service Trace|Update Service Trace]] &lt;br /&gt;
* [[Tidbits|Tidbits]] &lt;br /&gt;
* [[VideoRecording]]&lt;br /&gt;
* [[WebOS Exploration - Various Information|WebOS Exploration - Various Information]] &lt;br /&gt;
&lt;br /&gt;
|column2=&lt;br /&gt;
===Reference===&lt;br /&gt;
* [[webkit_transform|Webkit Transform]]- a powerful set of commands for manipulating elements.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Cpcrook</name></author>
	</entry>
</feed>