LeopardBoard 365 GStreamer Pipelines - Legacy SDK

From RidgeRun Developer Connection

(Difference between revisions)
Jump to:navigation, search
(Camera video capture)
Line 36: Line 36:
  #gst-launch audiotestsrc ! alsasink
  #gst-launch audiotestsrc ! alsasink
-
== Camera video capture ==
+
== Video capture ==
*Output:composite, mode:480P
*Output:composite, mode:480P
  #gst-launch -e v4l2src always-copy=false ! video/x-raw-yuv,format=\(fourcc\)UYVY, width=640, height=480, framerate=\(fraction\)30/1 ! dmaiperf ! dmaiaccel ! TIDmaiVideoSink sync=false accelFrameCopy=false videoOutput=composite videoStd=D1_NTSC
  #gst-launch -e v4l2src always-copy=false ! video/x-raw-yuv,format=\(fourcc\)UYVY, width=640, height=480, framerate=\(fraction\)30/1 ! dmaiperf ! dmaiaccel ! TIDmaiVideoSink sync=false accelFrameCopy=false videoOutput=composite videoStd=D1_NTSC

Revision as of 20:43, 24 August 2010

Contents

Video initialization

When you boot your board the RidgeRun logo will be displayed, in order to display video the following commands must be executed:

#loadmodules.sh
#fbset -disable

Component output initialization

There's a known bug with the component output initialization. Before you play or capture video using the component output this commands must be executed on the target:

#echo "COMPOSITE" > /sys/class/davinci_display/ch0/output
#echo "COMPONENT" > /sys/class/davinci_display/ch0/output

Video and audio playback

#gst-launch filesrc location=<filename>.mp4 ! qtdemux  name=demux ! queue ! dmaidec_h264 numOutputBufs=14 ! priority nice=-10 !  queue ! priority nice=-10 ! dmaiperf ! TIDmaiVideoSink  accelFrameCopy=true videoOutput=component videoStd=720P_60  demux.audio_00 !queue ! priority nice=-5 ! dmaidec_aac ! alsasink

NOTE: Depending on the video displayed, the CMEM pools need to be modified to meet the requirements. This is needed when you execute a pipeline and the following error is displayed:

 CMEMK Error: Failed to find a pool which fits <poolsize>

First you need the start and end addresses of the CMEM pools, these can be obtained executing loadmodules.sh and checking the output: a line like the next one will be printed

Loading CMEM from 0x<startaddr> to 0x<endaddr>

then type:

#rmmod cmemk
#modprobe cmemk phys_start=<startaddr> phys_end=<endaddr> pools=<somepools>, <mynewpools>

where <mynewpools> must be in format: <numberofpools>x<poolsize>.

Video playback

#gst-launch videotestsrc ! TIDmaiVideoSink
#gst-launch filesrc location= <filename>.mp4 ! qtdemux  name=demux ! queue ! dmaidec_mpeg4 numOutputBufs=14 ! TIDmaiVideoSink videoOutput=component videoStd=720P_60

Audio playback

#gst-launch audiotestsrc ! alsasink

Video capture

#gst-launch -e v4l2src always-copy=false ! video/x-raw-yuv,format=\(fourcc\)UYVY, width=640, height=480, framerate=\(fraction\)30/1 ! dmaiperf ! dmaiaccel ! TIDmaiVideoSink sync=false accelFrameCopy=false videoOutput=composite videoStd=D1_NTSC
#gst-launch -e v4l2src always-copy=false ! video/x-raw-yuv,format=\(fourcc\)UYVY, width=1280, height=720, framerate=\(fraction\)23/1 ! dmaiaccel ! dmaiperf ! TIDmaiVideoSink videoOutput=component sync=false accelFrameCopy=true videoStd=720P_60
Navigation
Toolbox