LeopardBoard DM365 Video Streaming Demo with EVAL SDK

From RidgeRun Developer Connection
Revision as of 12:10, 5 August 2011 by Caguero (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

The following guide will show how to use Gstreamer for video streaming. There are two ways to accomplish this task:

  • Use the pre-built generic SD image, which can be download from SD_images at out download center download center

Steps to follow if using pre-built SD image

After booting the LeopardBoard with the precompiled SDK SD image use the following pipelines

  • LeopardBoard
HOST_ADDR=<Client's IP address>
PORT=3000

gst-launch v4l2src always-copy=FALSE chain-ipipe=true ! video/x-raw-yuv,format=\(fourcc\)NV12, width=1280, height=720, framerate=\(fraction\)23/1 ! queue ! dmaienc_h264 encodingpreset=2 ratecontrol=2 intraframeinterval=23 idrinterval=46 targetbitrate=3000000\
 ! rtph264pay !udpsink port=$PORT host=$HOST_ADDR sync=false enable-last-buffer=false&
  • On Client Ubuntu
PORT=3000

gst-launch udpsrc port=$PORT ! 'application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, profile-level-id=(string)640028, sprop-parameter-sets=(string)"J2QAKK2IDkOYIOEMKQpEByHMEHCGFIUiA5DmCDhDCkKQwEIYwhxmMhCGAhDGEOMxkIQwEIYwhxmMhCICEZjOI8KfEfiP4j8R8R4ziMREQoEIjEcR4j5PxH8n5PiPEcRkiLQCgC3I\,KO48sA\=\=", payload=(int)96, ssrc=(guint)1646914791, clock-base=(guint)4182448954, seqnum-base=(guint)19314' ! rtph264depay ! queue ! ffdec_h264 ! xvimagesink sync=false

This pipelines and others are documented at LeopardBoard DM365 Gstreamer Pipelines


Steps to follow if compiling RR's SDK

After following the DM365 Leopard 2011Q2 Getting Started Guide all the options needed for video streaming are available by default:

  • Gstreamer plug-ins
  • Ethernet support

Use the following pipelines at the Leopardboard and at the host with Ubuntu:

  • LeopardBoard
HOST_ADDR=<Client's IP address>
PORT=3000

gst-launch v4l2src always-copy=FALSE chain-ipipe=true ! video/x-raw-yuv,format=\(fourcc\)NV12, width=1280, height=720, framerate=\(fraction\)23/1 ! queue ! dmaienc_h264 encodingpreset=2 ratecontrol=2 intraframeinterval=23 idrinterval=46 targetbitrate=3000000\
 ! rtph264pay !udpsink port=$PORT host=$HOST_ADDR sync=false enable-last-buffer=false&
  • On Client Ubuntu
PORT=3000

gst-launch udpsrc port=$PORT ! 'application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, profile-level-id=(string)640028, sprop-parameter-sets=(string)"J2QAKK2IDkOYIOEMKQpEByHMEHCGFIUiA5DmCDhDCkKQwEIYwhxmMhCGAhDGEOMxkIQwEIYwhxmMhCICEZjOI8KfEfiP4j8R8R4ziMREQoEIjEcR4j5PxH8n5PiPEcRkiLQCgC3I\,KO48sA\=\=", payload=(int)96, ssrc=(guint)1646914791, clock-base=(guint)4182448954, seqnum-base=(guint)19314' ! rtph264depay ! queue ! ffdec_h264 ! xvimagesink sync=false

This pipelines and others are documented at LeopardBoard DM365 Gstreamer Pipelines