VideoRecording


 * The built-in camera on the current version of WebOS allows videoRecording.
 * To use it, tap the video icon (rightmost icon) from inside the camera app.
 * Rotate your phone sideways clockwise (to the right)
 * Tap red icon to start recording.
 * Tap red icon to stop recording.
 * Tap the 'flash' icon to toggle the flash LED while recording.

Output:
 * Output of the videos go into your 'video roll' area, and can be offloaded via USB.
 * You can edit videos directly on the device for start/stop point (total length)
 * If you want you can connect USB to offload the video but note also - :
 * You can email videos immediately from anywhere directly from the phone/EVDO - no need to connect to computer first.
 * Patches available to extend the allowed email length (30 seconds.)
 * Same as anything else you can do with a stored video (upload to facebook, etc.)

 This wasn't always present as a feature. What follows is the legacy page, before this feature existed.  At your command line (after accessing linux):

(make sure FS is rw) - No GUI - No sound (need a muxer plugin? verify alsasrc works) - Frame rate seemed pretty decent too. - Video is H.264 at 480x320. - Image is rotated 90 degrees CCW

other useful gstreamer commands:

gst-inspect (shows list of sources to pipe through, mostly decoders/demuxers)

Additional reference from XO Laptop site:

http://wiki.laptop.org/go/Programming_the_camera http://wiki.laptop.org/go/GStreamer#Using_gst_at_the_command_line

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.

File of interest: /usr/lib/luna/luna-media/palmInitMedia.js

More on the camera module: http://www.st.com/stonline/products/literature/bd/14404/vx6852.htm

Relies on Prelease for launching shell scripts. Use Flashlight App! to install it before attempting to run. Currently stop button doesn't work.

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 --Prenos 16:59, 9 September 2009 (UTC)

ToDo
1.) Figure out proper way to freevideosink via a homebrew app (killing gst-launch properly) (probably will involve invoking a custom service) UPDATE: sending an INT signal seems to work? not sure if I'm missing something here... --Prenos 15:14, 6 October 2009 (UTC) 2.) Mux in sound from alsasrc
 * "gst-launch alsasrc ! alsasink" will give you sound from the mic playing back through the speakers, verifying alsasrc. It quickly loses resolution though, and starts giving "can't keep up with audio source" errors. --Zinge 08:23, 7 August 2009 (UTC)


 * "gst-launch alsasrc ! wavenc ! filesink location=/media/internal/downloads/test.wav" will record audio no problem. --Cpcrook 17:36, 7 August 2009 (UTC)
 * "gst-launch camsrc ! palmvideoencoder ! avimux name=mux ! filesink location=/media/internal/downloads/foo.mts alsasrc ! mulawenc ! mux." will mux audio and video, though the timing was a bit off when I played it back. --Muchtall 18:15, 7 August 2009 (UTC)

3.) Implement preview screen (possibility: send video through palmvideosink, then to palmvideoencoder so its still accessible for preview?) UPDATE: this seems semi-posible, as there are supported gstreamer elements that could "tee" the pipeline to 2 locations, unfortunately a custom app using palmvideosink seems unlikely as it's locked up in MediaServer --Prenos 15:14, 6 October 2009 (UTC)

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) UPDATE: This definitely SHOULDN'T work. You're piping a RAW h264 bitstream to a file with no container. Honestly I'm suprised it plays back in totem/smplayer. My only guess is they somehow contain them during stream. I'm working on backporting qtmux, as it's the only viable solution I've come up with that would be compatible with Pre's environment --Prenos 15:14, 6 October 2009 (UTC) 5.) Video conferencing via UDPsink? UPDATE: I'm thinking theoraenc and net2stream to an icecast server. 2 way probably isn't possible, i suppose this would be more 'http video streaming' than conferencing --Prenos 15:14, 6 October 2009 (UTC) 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. --Prenos 20:10, 27 August 2009 (UTC) UPDATE: this seems to be infeasble due to memory limitations, tons of segfaults and things. might have to do some serious buffering and framerate adjustments to get this to work. Will try with more efficient encoders --Prenos 15:14, 6 October 2009 (UTC)