User Tools

Site Tools


mobile-video

This is an old revision of the document!


Goals for Spring 2009

- Develop a GUI to allow for easy demo of videostreaming between two N800s. dyndns will be used to update IP of device splitsockets kernel will be loaded motion jpeg (for video) and raw pcm (for audio) will be the base codecs; allow user to select alternative codecs in the future powertop or equivalent tool will be enabled to measure power usage (and provide estimated usage time) when video conferencing is used simulate power measurements with splitsockets and compare to measurements of basic streaming

Completed Tasks

- Tested ddclient using development environment; updated uw-wings dyndns account

- Started writing SplitSockets streaming application for N800 to redirect packets from localhost UDP to a remote client over SplitSockets.

  • Debugged SplitSockets on N800 kernel. Packets are being detected by the SplitSockets proxy sporadically; turns out N800 802.11 driver is tuned to use 802.3 v1 headers, which require the length field to be populated correctly. N800 802.11 driver (and low-level kernel network driver) must be forced to accept v2 headers to continue with the current SplitSockets implementation.

Steps to Initialize Nokia N800 for Video Streaming / SplitSockets

Note: For items in bold below, use host computer (i.e. Ubuntu vm).

  1. Power-down N800. Hold down Home button and power-up again to put in usb target disk mode.
  2. sudo ./flasher-3.0 -F RX-34_DIABLO_4.2008.36-5_PR_COMBINED_MR0_ARM.bin -f -R
  3. Complete the steps in the wizard that appears.
  4. Power-down N800. Hold down Home button and power-up again to put in usb target disk mode. Prepare Splitsockets kernel (ss_zImage).
  5. sudo ./flasher-3.0 –kernel ss_zImage -f -R
  6. On the N800, open the Application manager and perform the following steps:
    • Tap on the upper-left dropdown menu, select Tools, and tap on Application catalogue.
    • Connect to a wireless network (if not connected already).
    • Tap “New”, clear the “Web Address:” box and type 'matrix'. Click cancel, then select the Red pill.
    • Click on each catalogue, tap “Edit”, and make sure that the “Disabled:” checkbox is cleared.
    • Go to the Main view and tap “Browse installable applications”. Tap on the binoculars and type 'openssh'.
    • Select 'openssh' from the list and tap “Install”. Tap “OK” and “OK” again. For password, use 'toor'.
  7. On the N800, open a terminal (use '-' button at top to zoom out) and ssh to localhost as root:
    • ssh root@localhost
  8. Type 'ifconfig'. At this point, you can ssh to the device using the host computer.
  9. Install the following packages for video and audio streaming support (italic = optional):
    • apt-get install gstreamer-tools
    • apt-get install gstreamer0.10-plugins-extra
    • apt-get install gstreamer0.10-plugins-base-ogg
  10. For basic video streaming (transmit, no audio), use the following command (insert destination ip address in $1 and port number in $2):
    • gst-launch v4l2src ! video/x-raw-yuv,framerate=8/1,width=320,height=240 ! ffmpegcolorspace ! jpegenc ! udpsink host=$1 port=$2
  11. To receive video (no audio), use the following command (insert port number in $1):
    • gst-launch udpsrc port=$1 ! jpegdec ! xvimagesink
  12. The first time the camera activated, a basic streaming app may appear. Just go to the settings and uncheck the box to prevent it from opening when the camera is activated.
  13. To use Splitsockets, the following initial config steps are required (use appropriate interface name and Splitsockets server mac address):
    • echo “wlan0” > /proc/sys/net/splitsockets/interface_name
    • echo “00:12:17:63:1D:4E” > /proc/sys/net/splitsockets/serv_mac_addr

Testing SplitSockets

Links

http://cs707.pbwiki.com/Videoconferencing%20and%20Power%20Management%20on%20Mobile%20Devices

mobile-video.1237666133.txt.gz · Last modified: 2009/03/21 15:08 by hytham