LeopardBoard 368 1080p support

From RidgeRun Developer Connection
Revision as of 13:35, 7 March 2014 by Spalli (Talk | contribs)

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

Introduction

One of the great features of the DM368 processor is support for HD 1080P video resolution. As I was working on getting GStreamer configured with 1080P support, I thought I would takes notes on the issues I ran into and how I resolved them. This wiki page is a work in progress of that effort.

You need to be using a DM368 with the DM368 DVSDK as the DM365 doesn't support 1080p.

Hardware

I am using a leo368 with MT9P031 CMOS sensor and TFP410 digital transmitter

SDK

I am using RidgeRun's 2011Q2 DM368 SDK with TI DVSDK 4.02.00.06 that includes H.264 Baseline/Main/High Profile Encoder on DM365/DM368 with support for resolutions up to 4096x4096.

Configuration

In order to use rr-rtsp-server demo, you need properly configure the SDK and add the GStreamer pipeline used by rr-rtsp-server.

720P Video Only

In order to use rr-rtsp-server demo, run make config and select:

-> User Applications  -> [*] RTSP Server example

-> Architecture configurations                     
 -> Component Standard(720P-60) 
 -> Maximum Video Output Buffer Size
          -> value: 720P
 -> Maximum Video Input Buffer Size
          -> value: 720P
-> Proprietary configurations                     
 (0x3b00000)Amount of Reserved memory from kernel
 (0x3200000)Amount of Reserved memory for cmemk

Add the GStreamer pipeline show below to the rr-rtsp-server.init file under $DEVDIR/myapps/rr-rtsp-server

/usr/bin/rr_rtsp_server  "( v4l2src always-copy=false chain-ipipe=false ! video/x-raw-yuv, format=(fourcc)NV12, width=1280, height=720 !  dmaiaccel ! queue ! dmaienc_h264 encodingpreset=2 ratecontrol=4 ! queue ! rtph264pay pt=96 name=pay0 )" &

720P Video + Audio

Use the same SDK configuration for 720P video only.

Add the below gstreamer pipeline in the rr-rtsp-server.init file under $DEVDIR/myapps/rr-rtsp-server

/usr/bin/rr_rtsp_server  "( v4l2src always-copy=false chain-ipipe=false ! video/x-raw-yuv, format=(fourcc)NV12, width=1280, height=720 ! dmaiaccel ! queue ! dmaienc_h264 encodingpreset=2 ratecontrol=4 ! queue ! rtph264pay pt=96 name=pay0 alsasrc buffer-time=800000  latency-time=30000 ! audio/x-raw-int, rate=22050 ! queue ! dmaienc_aac outputBufferSize=131072 bitrate=128000 ! queue ! rtpmp4gpay name=pay1 )" &

1080P Video Only

In order to use rr-rtsp-server demo, run make config and select:

-> User Applications  -> [*] RTSP Server example
-> Architecture configurations                     
 -> Component Standard(720P-60) 
 -> Maximum Video Output Buffer Size
          -> value: 720P
 -> Maximum Video Input Buffer Size
          -> value: 1080P
-> Proprietary configurations                     
 (0x3200000)Amount of Reserved memory from kernel
 (0x1E00000)Amount of Reserved memory for cmemk

Add the below gstreamer pipeline in the rr-rtsp-server.init file under $DEVDIR/myapps/rr-rtsp-server

/usr/bin/rr_rtsp_server "( v4l2src always-copy=false chain-ipipe=false ! video/x-raw-yuv,format=(fourcc)NV12, width=1920, height=1088 ! dmaiaccel ! queue ! dmaienc_h264 encodingpreset=2 ratecontrol=4 ! queue ! rtph264pay pt=96 name=pay0 )" &

Viewing streaming video using a web browser

For Testing above pipelines using the browsers (IE or Chrome ) Embedded Server(lighttpd) should be configured in the leopardboard side, and RTSP video streaming should be invoked by creating Embedded Server WebPages. (It needs an application framework to be developed)