Difference between revisions of "LeopardBoard 365 GStreamer Pipelines - Legacy SDK"

From RidgeRun Developer Connection
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 15:16, 24 August 2010

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

  • 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

  • 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
  • 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