LeopardBoard 365 GStreamer Pipelines - Legacy SDK

From RidgeRun Developer Connection

(Difference between revisions)
Jump to:navigation, search
(Created page with '== Component output initialization == There's a known bug with the component output initialization == Camera video capture == *Output:composite, mode:640x480 gst-launch -e v4l2...')
Line 1: Line 1:
 +
== 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 ==
== Component output initialization ==
-
There's a known bug with the 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 ==
 +
*Output:component, mode:720P-60, package:mp4 (video:H.264, audio:AAC)
 +
#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 ==
 +
*Video test source
 +
#gst-launch videotestsrc ! TIDmaiVideoSink
 +
 
 +
*Output:component, mode: 720P_60, standard: mpeg-4
 +
#gst-launch filesrc location= <filename>.mp4 ! qtdemux  name=demux ! queue ! dmaidec_mpeg4 numOutputBufs=14 ! TIDmaiVideoSink videoOutput=component videoStd=720P_60
 +
 
 +
== Audio playback ==
 +
*Audio test source
 +
#gst-launch audiotestsrc ! alsasink
== Camera video capture ==
== Camera video capture ==
-
*Output:composite, mode:640x480
+
*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
*Output:component, mode:720P-60
*Output:component, mode:720P-60
-
  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
+
  #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
-
 
+
-
== Video and audio playback ==
+
-
*Output:component, mode:720P-60, package:mp4 (video:H.264, audio:AAC)
+
-
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
+

Revision as of 20:16, 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

Camera 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