CS368-LI Digital Media Software Development Kit

Similar documents
CS368-TI Digital Media Software Development Kit

CS365-TI Digital Media Software Development Kit

RTP Protocol Transport of H.264 Video and AAC Audio

RTP Protocol Transport of H.264 Video and MPEG I/II Layer 3 Audio

ID 730L: Getting Started with Multimedia Programming on Linux on SH7724

LeopardBoard Hardware Guide Rev. 1.0

DevKit8000 Evaluation Kit

AT-501 Cortex-A5 System On Module Product Brief

DevKit8500D Evaluation Kit

Videophone Development Platform User s Guide

ARM+DSP - a winning combination on Qseven

Application Report. Zhengting He, Mukul Bhatnagar, Jackie Brenner... ABSTRACT

DSP Solutions For High Quality Video Systems. Todd Hiers Texas Instruments

SBC8140 Single Board Computer

DevKit7000 Evaluation Kit

A Multimedia Streaming Server/Client Framework for DM64x

Video Interface Module for TI EVM TMDXEVM8148 and TMDXEVM368

Overview. 3//5/ Preliminary Product Brief

IP Video Phone on DM64x

Intel Galileo gen 2 Board

HotChips An innovative HD video and digital image processor for low-cost digital entertainment products. Deepu Talla.

SBC3100 (Cortex-A72) Single Board Computer

CORRIGENDUM ISSUED FOR NATIONAL COMPETITIVE BIDDING UNDER TEQIP PHASE-II

S2C K7 Prodigy Logic Module Series

ARM Powered SoCs OpenEmbedded: a framework for toolcha. generation and rootfs management

TI TMS320C6000 DSP Online Seminar

Emerging Architectures for HD Video Transcoding. Leon Adams Worldwide Manager Catalog DSP Marketing Texas Instruments

Emerging Architectures for HD Video Transcoding. Jeremiah Golston CTO, Digital Entertainment Products Texas Instruments

The Information contained herein is subject to change without notice. Revisions may be issued regarding changes and/or additions.

Introduction to the TenByTen6410

Lesson 6 Intel Galileo and Edison Prototype Development Platforms. Chapter-8 L06: "Internet of Things ", Raj Kamal, Publs.: McGraw-Hill Education

An Example of Network Video Monitoring System Based on DM6446. ChaoJun Yan

Embest SOC8200 Single Board Computer

Lab 1. OMAP5912 Starter Kit (OSK5912)

DS-2CD792PF(NF)(-E) IP Camera. Technical Manual

FA3 - i.mx51 Implementation + LTIB

DS-2CD892P (N)-IR5 Analog Camera. Technical Manual

Fujitsu System Applications Support. Fujitsu Microelectronics America, Inc. 02/02

EyeCheck Smart Cameras

Fault tolerance in consumer products. Ben Pronk

Blackfin Products. ...maximum performance at minimum space

MYD-IMX28X Development Board

1-Port Industrial Ethernet to Serial Embedded Computer. SE5901 (SDK) Series FEATURED HIGHLIGHTS PRODUCT DESCRIPTION

AP-VR1000 Video Service Router

OMAPL138 Software Developers Guide

Video Conference Equipment High Performance Video Terminal Solution

Videophone Development Platform User s Guide

IPTV 1

Overview. 1/13/ Preliminary Product Brief

BPI-D1 User Manual. SinoVoip Co.,Limited

MYD-C437X-PRU Development Board

DaVinci. DaVinci Processor CPU MHz

MICROPROCESSOR SYSTEM FOR VISUAL BAKED PRODUCTS CONTROL

PXA270 EPIC Computer with Power Over Ethernet & Six Serial Protocols SBC4670

PCIe/104 or PCI/104-Express 4-Channel Audio/Video Codec Model 953 User's Manual Rev.C September 2017

Intelop. *As new IP blocks become available, please contact the factory for the latest updated info.

RK3036 Kylin Board Hardware Manual V0.1

HiSilicon STB Push-to-Talk Development Kit for Amazon AVS

1.3 CW x720 Pixels. 640x480 Pixels. 720P Wireless 150Mbps IPCAM. High Quality 720P MegaPixel Image

Quick Start Guide for i.mx28 EVK. i.mx28 EVK Multimedia and connectivity

TS Manipulator Requirement Specifications & High Level Design Document. George Mason University

MYD-JA5D2X Development Board

Track Three Building a Rich UI Based Dual Display Video Player with the Freescale i.mx53 using LinuxLink

Developing i.mx Multimedia Applications Processors with Windows Embedded CE 6.0 WinCE 6.0 on the i.mx25 and i.mx35 PDK s

TQ2440 Development Platform Manual

AP-NC1500 Multi-Service Video Codec High-performance Network Surveillance Solution

AP-VR2000 Video Service Router High-performance Multimedia Gateway Solution

An Implementation of Rate-Adaptive IPTV System on DSP

Hi3520D V300 H.264 CODEC Processor. Brief Data Sheet. Issue 04. Date

SSL Encryption Secure network connections using data encryption between the camera and the network

Hi3536 H.265 Decoder Processor. Brief Data Sheet. Issue 03. Date

MYD-SAMA5D3X Development Board

Media Player MP-2020 Specification Sheet MP Media Player for 2.5 Hard disk Specification Sheet

AP-NC3800 Multi-Service Video Codec High-performance Network Surveillance Solution

Chapter 28. Multimedia

iw-rainbow-g3 / G3V FAQs:

Baltos ir Contact Online. More Pictures. Click on the thumbnails for the large picture

X.21, RS530, RS422, RS449, RS485

Micetek International Inc. Professional Supplier for PowerPC Development Tools

pcduino V3B XC4350 User Manual

User Instructions Multi-Channel H.264 HD Multimedia System

MYD-IMX28X Development Board

Product Technical Brief S3C2440X Series Rev 2.0, Oct. 2003

Hands-on with the Sitara Linux SDK

Product Technical Brief S3C2413 Rev 2.2, Apr. 2006

HDMI based Video Conference Device Recording

SPECIAL SPECIFICATION 6518 IP Video Codec

Hi3520D V200 H.264 CODEC Processor. Brief Data Sheet. Issue 01. Date

A-307. Mobile Data Terminal. Android OS Platform Datasheet

Track Two Building an Internet Radio with the TI Sitara AM3517 using LinuxLink

Software Design Challenges for heterogenic SOC's

1.3 CU-720PIR PIR. 720P PIR Passive PoE Night Vision IPCAM. All-in-One Security Solution IP Camera

Arm-based DIN-rail industrial computers with 4 serial ports, 2 LAN ports, 8 DI/DO, and VGA. Features and Benefits. Certifications

2 Mega-Pixel H.264 Box IP Camera ICA-HM125. Quick Installation Guide. Version 1.0

Uncompressed HD Video Streaming with Congestion Control

Embedded Streaming Media with GStreamer and BeagleBoard. Presented by Todd Fischer todd.fischer (at) ridgerun.com

HD/SD H.264 Capture Device (H.264 Video Encoder + Decoder) User s Manual Model 2226 Rev.A March 2010

Introduction to Sitara AM437x Processors

FriendlyARM. Mini2440.

1.3 CU-720PIR. 720P PIR Passive PoE Night Vision IPCAM. All-in-One Security Solution IP Camera

Transcription:

CS368-LI Digital Media Software Development Kit April 14, 2017 Document: DS170416-1 Document Status: released Revision: 2.5 Features! Cimarron Systems Digital Media SDK (DMSDK) for the Texas Instruments TMS320DM368 DaVinci Media Processor running DVSDK 4.02 on the Leopard Imaging LeopardBoard 368 DMSDK A/V RTP Streaming Server Application: RTP/RTCP server that encodes/streams H.264 video at 1920 x 1080i 30 fps / 1280 x 720p 30 fps with AAC-LC audio at 32 ksps. DMSDK A/V RTP Streaming Client Application: RTP/RTCP client that receives, reassembles and writes-to-file H.264 video and AAC-LC audio while it simultaneously encodes reassembled video and audio frames into a MPEG-2 Transport Stream. Implements an Automatic Exposure/White Balance Control Loop. Input from the LI-5M03 Camera Board or LI-HDI365 Component Video Board. RTP A/V Streaming Client/Server Input/Output via Ethernet.! Texas Instruments TMS320DM36x DVEVM DVSDK 4.02 Arago Community Linux Kernel with build system; Platform Support Package (PSP) including U-Boot bootloader, bootloader, memory manager, and interrupt controller; and Codec Engine with fully parameterized H.264, MPEG-4, MPEG-2, AAC-LC, G.711, and JPEG codecs. Texas Instruments Digital Media Application Interface (DMAI) video, audio, and speech encode and decode example applications. Texas Instruments Digital Video Test Bench (DVTB) encode and decode codec test/ validation applications. Texas Instruments Qt Embedded GUI Interface Builder and example applications. Texas Instruments GStreamer with DaVinci Plugin and example pipelines. Overview of the Development Environment The CS368-LI Digital Media SDK is a set of software components, applications, tools, and documentation designed to equip the experienced engineer with the means for fast standards-based development of digital media encoding, decoding, and streaming applications for the Texas Instruments TMS320DM368 DaVinci Digital Media Processor with the LeopardBoard 368. Figure 1 shows a context diagram of the typical environment in which the CS368-LI DMSDK operates including: the Leopard Imaging LeopardBoard 368 hosting the DMSDK, a Ubuntu Linux Host computer hosting the Texas Instruments TMS320DM36x DVSDK 4.02, an audio/video source device, and an audio/ video output device. Illustrated in Figure 2, key features of the Leopard Imaging LeopardBoard 368 hardware are:! TI TMS329DM368 ARM9-based processor operating at 432 MHz with 256 Mbytes NAND Flash and Copyright 2012 2017 Cimarron Systems, LLC all rights reserved.! 1

128 Mbytes of DDR2 RAM. Figure 1: CS368-LI DMSDK Development Context Diagram.! Interface for connecting a video camera with sensor sizes up to 2592H x 1944V pixels.! Interface for connecting an up to 1920 x 1080i 30 fps YP rp b component video input source.! Composite Video Input for video capture/processing of NTSC or PAL video formats.! RS-232 Interface for full-duplex terminal communication to the host at up 115,000 bps.! Ethernet 10/100Base-T for full-duplex communication to the host at up 100 Mbps.! USB Interface capable of operating in either host or slave mode.! Dual SD/MMC/MS/MMC/SD Card Interfaces for up to 8 Gbytes per card storage and/or boot source.! Audio Interfaces for processing monophonic audio input/stereo audio output.! JTAG Interface input connector for 14-pin debug cable.! 5VDC power input connector. Copyright 2012 2017 Cimarron Systems, LLC all rights reserved.! 2

! As shown in Figure 3, the core software components of the TMS320DM36x DVSDK 4.021 are:! DaVinci Multimedia Application Interface (DMAI): a thin utility layer positioned on top of the Linux OS and the Codec Engine that enables the developer to quickly write portable applications for the DaVinci platform. For details regarding DMAI usage, please see DaVinci Multimedia Application Interface (DMAI) 2.20.00 Build 15 User Guide.! express DSP Algorithm Interoperability Standard (XDAIS) includes a version that has been extended for digital media is know as XDAIS-DM or, for simplicity, XDM: the XDM standard defines a set of APIs that are uniform across various multimedia codecs designed to ease integration and ensure interoperability. For a description of XDM usage, please refer to the XDAIS Interface Reference. LeopardBoard 368 Microphone 256 MB Flash Speaker 128 MB RAM RS-232 LI-HDI365* Component Video Board Sensor Lens LI-5M03* Camera Board Voice Codec ISIF UART USB XTL DM368 SDIO DDR AEMIF EMAC Video DAC Ethernet Component / Composite Video * Note: either the LI-5M03 Camera Board or the LI-HDI365 Component Video Board can be connected but not both simultaneously. Figure 2: LeopardBoard 368 Block Diagram. USB SD Card! Video, Image, Speech, and Audio (VISA) Classes: a set of multimedia codec interface classes that allow applications straightforward methods for utilizing video, audio, speech, and imaging codecs. For details concerning VISA Classes, please refer to the XDAIS Interface Reference.! Codec Engine (CE): the Codec Engine framework manages the life cycle of algorithms that comply with the XDAIS-DM standard. For a description of Codec Engine functions, please see the Codec Engine Algorithm Creator User s Guide. 1 The CS368-TI DMSDK installs on the Texas Instruments dvsdk_dm368-evm_4.02.00.06 version of the TMS320DM36x DVSDK. Copyright 2012 2017 Cimarron Systems, LLC all rights reserved.! 3

Ubuntu Linux Host TMS320DM368 DVSDK 4.02 Software Stack CodeSourcery G++ Tool Chain Embedded Linux Build System Other Linux User-space Applications DVSDK Embedded Linux Kernel DVSDK U-Boot Bootloader DVSDK Framework Components DVSDK Demonstration Applications DVSDK DMAI Applications DVSDK DVTB Applications Network File System Ubuntu Linux Operating System Kernel Ubuntu Linux Operating System Calls, File/Memory Systems, Sockets, Processes, and Device I/O USB Hard Disk Drive Ethernet Serial I/O Ubuntu Linux Host / DVEVM Interfaces I/O Interconnects TMS320DM368 DVEVM DVSDK 4.02 Software Stack Linux User-space Applications Qt Embedded Open Source Linux Libraries GStreamer TI Plugin DaVinci Multimedia Application Interface (DMAI) Platform Support Package DM365MM Module Linux Operating System Kernel VISA IRQ EDMA CMEM Codec Engine Linux Utilities Supervisor Mode Audio Speech Video Image Framework Components A/V Codecs Figure 3: Ubuntu Linux Host and Texas Instruments TMS320DM36x DVEVM DVSDK 4.02 Software Architecture. Copyright 2012 2017 Cimarron Systems, LLC all rights reserved.! 4

! Platform Support Package (PSP): the DVEVM DM36x PSP contains the following components: Baseport DM368 SoC support Baseport DVEVM support EDMA support GPIO support Video drivers: Video capture Video display IPIPE previewer/resizer H3A AF/AEW For more details, please see the DaVinci PSP Linux Installation User Guide.! Framework Components (FC): Framework Components for the DVEVM DM36x contains a number of software components that are specific to the DM368 hardware architecture. For more detail, please refer to the Framework Components API Reference.! Linux Utilities (LinuxUtils): Linux Utilities for the DVEVM DM36x contains the following components: CMEM Manager EDMA Manager SDMA Manager VICP Manager For more details, please refer to the Linux Utils API Reference. For additional information concerning set-up of the LeopardBoard 368 hardware and software, please refer to the LeopardBoard 368 Overview. For installation of the Texas Instruments DVSDK 4.02 then installation of the CS368-LI DMSDK, please refer to the Cimarron Systems CS368-LI DMSDK Installation Guide. DMSDK Functional Architecture As illustrated in Figure 4, the CS368-LI DMSDK software architecture includes functional modules that implement the RTP A/V Streaming Server on the LeopardBoard 368 and the RTP A/V Streaming Client on the Ubuntu Linux Host. The RTP A/V Streaming Server Application includes: an A/V Capture; H.264 Video Encoder; AAC-LC Audio Encoder; RTCP Transmitter User Agent; and RTP Transmitter components. The Streaming A/V Client Application includes: a RTP Receiver; a RTCP Receiver User Agent; MPEG-2 Transport Stream (TS) Encoder that multiplexes the encoded H.264 video and AAC-LC audio into a transport stream; and MPEG-2 TS Output/File Writer components. The primary functions performed by both the RTP A/V Streaming Server and Client Application components are described in the next sections. RTP A/V Streaming Server Functional Modules As illustrated in Figure 5, the LeopardBoard 368 RTP A/V Streaming Server component includes modules that implement video and audio capture; buffer input/output, creation, and execution functions for the codecs that encode A/V; the encoded A/V bit stream management function; the encoded A/V bit stream RTP packetization function; the RTCP user agent; the RTP/UDP/IP transmit and receive functions; and the main function. A short description of each of the LeopardBoard 368 CS368-LI DMSDK RTP A/V Streaming Server functional modules is presented below:! User Interface/Control: provides the user interface as well as start-up, shut-down, and thread control services to the application.! Global Time: provides a global timekeeping service to the application and any of its threads. Copyright 2012 2017 Cimarron Systems, LLC all rights reserved.! 5

! Capture: initializes, manages, and deletes the video capture buffer processes. for the LI-5M03 Camera Board Input, initializes the Image Pipe for input from the camera; programs the Automatic Exposure/White Balance Engine with an expose sampling window and an initial sensor gain value; and dynamically adjusts the sensor gain value based on ambient light conditions. CS368-LI DMSDK RTP A/V Streaming Applications Software Architecture LeopardBoard 368 Ubuntu Linux Host RTP A/V Streaming Server A/V Capture H.264 Video Encoder AAC-LC Audio Encoder RTCP Tx User Agent RTP Tx TI Embedded Linux Kernel RTP A/V Streaming Client MPEG-2 TS Output / File Writer MPEG-2 TS Encoder RTCP Rx User Agent RTP Rx Ubuntu Linux Network: Ethernet, Wireless, etc. Figure 4: CS368-LI DMSDK RTP A/V Streaming Application Software Architectural Diagram.! H.264 Video Encoder: initializes, manages, and shuts down the H.264 video codec. initializes, manages, and deletes the video encoder output buffers. passes H.264 encoded video bitstreams to the Video RTP Transmitter.! AAC-LC Audio Encoder: initializes, manages, and shuts down the AAC-LC audio codec. initializes, manages, and deletes the audio encoder output buffers. passes AAC-LC encoded audio bitstreams to the Audio RTP Transmitter.! DV RTP Transmitter/RTCP User Agent: receives/processes Video RTCP Rx User Agent Client Messages. controls the Video RTCP Tx User Agent User Agent. initializes, manages, and shuts down the Video RTP Transmitter in accordance with certain system parameters. initializes, manages, and shuts down the Video RTP Transmitter sockets in accordance with certain system parameters. independently forms the H.264 video bitstream into Video RTP Transmitter packets then transmits them onto the network and, optionally, writes the bitstream to a file (videofile.264).! DA RTP Transmitter/RTCP User Agent: receives/processes Audio RTCP Rx User Agent Client Messages. controls the Audio RTCP Tx User Agent User Agent. initializes, manages, and shuts down the Audio RTP Transmitter in accordance with certain system parameters. initializes, manages, and shuts down the Audio RTP Transmitter sockets in accordance with certain system parameters. Copyright 2012 2017 Cimarron Systems, LLC all rights reserved.! 6

! independently forms the AAC-LC video bitstream into Audio RTP Transmitter packets then transmits them onto the network and, optionally, writes the bitstream to a file (audiofile.aac). The RTP A/V Streaming Server implements H.264 video and AAC audio streaming in accordance with IETF RFC 3550 RTP: A Transport Protocol for Real-Time Applications, RFC 6184 RTP Payload for H.264 Video, and RFC 3551 RTP Profile for Audio and Video Conferences with Minimal Control. 2 RTP A/V Streaming Server Software Architecture I/O Interconnects ui g_time capture codecs video dv_rtp da_rtp main Qt Embedded Open Source Linux Libraries GStreamer TI Plugin DaVinci Multimedia Application Interface (DMAI) Platform Support Package DM365MM Module Linux Operating System Kernel Codec Engine VISA IRQ EDMA Linux Utilities CMEM Supervisor Mode Audio Speech Video Image Framework Components A/V Codecs Figure 5: RTP A/V Streaming Server Software Architectural Diagram. RTP A/V Streaming Client Functional Modules As illustrated in Figure 6, the LeopardBoard 368 RTP A/V Streaming Client component includes: a thread that implements the RTP Audio Socket Receive, RTCP Video Message Socket Transmit, and AAC-LC File Writer functions; a thread that implements the RTP Video Socket Receive, RTCP Video Message Socket Transmit, and H.264 Video File Writer functions; a thread that implements the Control, MPEG-2 Transport Stream Encode, and MPEG-2 TS File Writer functions; and the main function that starts/shuts down the application by initializing/shutting down the application threads. A short description of each of the CS368-LI DMSDK Ubuntu Linux Host RTP A/V Streaming Client functional modules is presented below:! DV RTP Receiver/RTCP User Agent: generates/sends Video RTCP Receiver User Agent Client Messages. receives/processes Video RTCP Transmitter User Agent Server Messages. 2 For an excellent tutorial concerning the application of RTP, please see the presentation RTP: Multimedia Streaming over IP, by Colin Perkins, USC Information Sciences Institute. Copyright 2012 2017 Cimarron Systems, LLC all rights reserved.! 7

controls the Video RTCP Receiver User Agent. initializes, manages, and shuts down the Video RTP Receiver in accordance with certain system parameters. initializes, manages, and shuts down the Video RTP Receiver input/output sockets in accordance with certain system parameters. depacketizes the H.264 video bitstream RTP packets then transmits the resulting video bitstream to the MPEG-2 TS Encoder and to the File Writer. RTP A/V Streaming Client Software Architecture ava_rtp_ts_client CodeSourcery G++ Tool Chain Embedded Linux Build System Other Linux User-space Applications DVSDK Embedded Linux Kernel DVSDK U-Boot Bootloader DVSDK Framework Components DVSDK Demonstration Applications DVSDK DMAI Applications DVSDK DVTB Applications DMSDK A/V RTP Streaming Application DMSDK A/V Application Framework Network File System Ubuntu Linux Operating System Kernel Ubuntu Linux Operating System Calls, File/Memory Systems, Sockets, Processes, and Device I/O USB Hard Disk Drive Ethernet Serial I/O Ubuntu Linux Host / DVEVM Interfaces I/O Interconnects Figure 6: RTP A/V Streaming Client Software Architectural Diagram.! DA RTP Receiver/RTCP User Agent: generates/sends Audio RTCP Receiver User Agent Client Messages. receives/processes Audio RTCP Transmitter User Agent Server Messages. controls the Audio RTCP Receiver User Agent. initializes, manages, and shuts down the Audio RTP Receiver in accordance with certain system parameters obtained from the Audio RTCP Transmitter User Agent. initializes, manages, and shuts down the Audio RTP Receiver input/output sockets in accordance with certain system parameters. depacketizes the AAC-LC audio bitstream RTP packets then transmits the resulting video bitstream to the MPEG-2 TS Encoder and to the File Writer. Copyright 2012 2017 Cimarron Systems, LLC all rights reserved.! 8

! MPEG-2 TS Encoder: creates, multiplexes then outputs MPEG-2 TS SDT, PAT, and PMT packets. creates, multiplexes then outputs MPEG-2 TS H.264 video bitstream packets. creates, multiplexes then outputs MPEG-2 TS AAC-LC audio bitstream packets.! MPEG-2 TS Output/File Writer performs the following functions: outputs MPEG-2 TS packets. writes the MPEG-2 TS file. System Requirements Prerequisites for installation of the CS368-LI DMSDK: 1. An instance of Ubuntu Linux 10.04 LTS running on a PC/Mac either natively or on a Virtual Machine (VM). 2. The LeopardBoard 368 must be configurable with Texas Instruments DVSDK version 4.02, i.e., dvsdk_dm368-evm_4.02.00.06. 3. The LeopardBoard 368 must be configurable with either the LI-5M03 Camera Board or the LI- HDI365 Component Video Board or both. For more information regarding this and other Cimarron Systems products, please contact us using one of the methods shown below. Contact Information: Cimarron Systems, LLC Evergreen, Colorado telephone: +1 (303) 674-9207 email: info@cimarronsystems.com website: www.cimarronsystems.com Revision History: Date Version Notes 11/27/2012 version 1.0 Initial version. 6/3/2013 version 1.5 Extended AE/WB functions. 1/3/2014 version 2.0 Added operation at 1920 x 1080i. 4/14/2017 version 2.5 Minor editorial corrections. Copyright 2012 2017 Cimarron Systems, LLC all rights reserved.! 9