NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.

MCSDK VIDEO 2.1 PKT Demo Guide

From Texas Instruments Wiki
Jump to: navigation, search

TIBanner.png


MCSDK Video

Version 2.1.0

Ethernet Packet Based Video Demonstration Guide

Last updated: 10/03/2013


Introduction[edit]

c66x-multicore.jpg

Multicore video application demo build (named as sv01.out in the MCSDK Video [Getting Started Guide]) is the DSP build for demonstrating various real-time video application on TI C66x multi-core DSPs, including decoding, encoding, transcoding for QCIF/CIF/D1/720p/1080p video streams on single and multiple cores. This release provides three demos which uses Ethernet Packets as the data IO to achieve real-time video transcoding on Windows PCs.

This Ethernet Packet Based Video Demonstration Guide provides high-level instructions on how to run the above video demos using the pre-built sv01.out included in the release package. The major steps of running video demos include:

  • Preparing the PC
  • Preparing the EVM
  • Preparing Demo Image and Files
  • Running the demo


Demo Name Demo Location
Multi-channel Transcoding Demo mcsdk_video_2_1_x_x\demos\pkt_multichan_transcode_demo
D1 Decoding, Scaling, and Multi-core HD Encoding Demo mcsdk_video_2_1_x_x\demos\pkt_d1dec_resize_1080penc_demo
Multi-core 1080p Transcoding Demo mcsdk_video_2_1_x_x\demos\pkt_1080p30_transcode_demo

NoteNote: Running the demos requires Windows XP PCs, and the instructions below are applicable to Windows XP PCs also.

Helpful tips image.jpg

Useful Tip

1. If running the demo with the pre-built sv01.out, user can simply install the MCSDK Video [MCSDK Video Product Download] with only MCSDK Video component and then follow the instructions below. Running the demo has no dependency on either CCS, MCSDK, or the other components in the MCSDK Video.
2. Please visit Getting Started Guide for general information on MCSDK Video, including product download and installation.
3. After running packet based real-time video demos in this Demo Guide, it is recommended the user to experience other two video demos provided by MCSDK Video: 1) codec integration and test application which facilitates the development and testing of stand-alone Codecs Codec Integration and Test User Guide. 2) MCSDK Video demos on PCIe multicore DSP cards installed to Linux PCs MCSDK Video Demo on Linux PCIe DSP cards


Overview of Real-time Video Demos[edit]

Physical Components and Connection[edit]

A real-time video demo require three physical components: a PC, a EVM6678l, and a Gigabit Ethernet switch. The PC is connected to the Ethernet switch with an Ethernet cable, and the EVM is also connected to the Ethernet switch with an Ethernet cable. The physical layout is as shown below.

Physical ConnectionNew.JPG


How it works?[edit]

In a real-time video demo, the video input is RTP media in the form of Ethereal cap file. Sample input cap files can be found at the folder <MCSDK Video Install Dir>\demos\pkt_xxx_demo\input_caps, and they are used as master cap files. In order to run a video demo on a PC, a master cap file is processed with the PC's MAC address to generate cap files that can be sent from the PC to the EVM. This step of generating the custom cap files is part of Preparing Demo Image and Files which is described in details below. The generated custom cap files can be located at <MCSDK Video Install Dir>\demos\pkt_xxx_demo\customBuild\cap after executing the provided batch file.

After the cap files are generated, the PC sends this video RTP media to the EVM (executing sendPkts.bat as described below Running Video Demo ). The network packets are processed and complete video frames are assembled and sent to the decoder. Decoder generates video YUV data, upon which add-on video processing can be applied, such as spatial resizing, frame rate conversion, and graphics and text overlay. After that, the YUV data is encoded, and the encoded frames are then encapsulated over RTP and sent back to the PC. The PC receives and displays the transcoded streams with MPlayer (executing startMplayers.bat as describe below Running Video Demo).

Demos Included in MCSDK Video[edit]

There are two video transcoding demos included in MCSDK Video.

  • Demo 1 shows the capability of multi-channel video transcoding and highlights the software components for network processing, video protocol processing, decoding, overlay, resizing, and encoding. From Core 0 to Core 5, there are two video transcoding channels per core. The input for every channel is H.264 CIF. The transcoded output is H.264 CIF without resizing for Core 0 and Core 1, while it is resized H.264 QCIF for Core 2 to Core 5.
  • Demo 2 highlights the capability of High Definition video transcoding using multicore codecs. In this demo, the input is H.264 D1. Core 7 decodes the input, Core 6 resizes the decoded YUV data to 1080p, Core 0 to Core 5 encode the resized 1080p YUV data to H.264 1080p. For the multi-core encoding, Core 0 is the master encoding core, while Core 1 to Core 5 are slave encoding cores. Core 0 sends the encoded H.264 1080p stream back to the PC.


Preparing the PC[edit]

The Video demo requires a TFTP server and the MPlayer application. The TFTP server installer can be downloaded from TFTP download, and MPlayer can be found from MPlayer Download. Please install both the TFTP server and MPlayer. Note that MPlayer must be installed at "C:\Program Files\MPlayer for Windows", also ensure that the file of mplayer.exe exists at "C:\Program Files\MPlayer for Windows\mplayer" after the installation.

The Video demo also needs Active Perl and WinDump. Active Perl can be downloaded from Active Perl 5.14.2.1402. Install it to the default installation directory C:\Perl if this has not been done yet. WinDump can be download from [1].

To run the Video demo, the PC should be set up to be on a private network. The Ethernet adapter used for the demo needs to be disconnected from a DHCP network, and the Ethernet adapter needs to be configured to use the static IP address 192.168.0.102.

Below are the steps to configure the PC to use a static IP address.

  • Go to the Control Panel on a Windows PC and open Network Connections.

Static IP Network Connection.JPG

  • Right-click on the appropriate Ethernet device and select Properties.

Static IP Properties.JPG

  • In the list of items, select Internet Protocol (TCP/IP) and click on Properties.

Static IP TCPIP Properties.JPG

  • In the Internet Protocol (TCP/IP) Properties window, select Use the following IP address: , and fill in 192.168.0.102 for the IP address, 255.255.255.0 for the Subnet mask, and 192.168.0.1 for the Default gateway. The DNS server addresses may be left blank.

Static IP TCPIP Settings.JPG

  • Click Ok in the Internet Protocol (TCP/IP) Properties window, and click Close in the Local Area Connection Properties window. The PC is now configure with the static IP.

To verify that the configuration succeeded, open a command prompt window and run the command “ipconfig /all”. Verify that the Ethernet adapter that was configured now has the IP address 192.168.0.102.

Static IP TCPIP Verify.JPG

Preparing the EVM[edit]

General instructions of setting up your TMDXEVM6678L Evaluation Module (EVM) can be found at the link TMDXEVM6678L EVM Hardware Setup. Browsing this link to become familiar with the Hardware Setup of TMDXEVM6678L EVM is strongly recommended.

Initial Boot Loder (IBL) flash[edit]

The EVM needs to be correctly flashed with IBL and IBL configuration. The flash needs to be done just once. Please refer to http://processors.wiki.ti.com/index.php/BIOS_MCSDK_2.0_User_Guide#IBL for instructions on IBL flash. Note that when loading the i2cConfig.gel GEL file, please use i2cConfig.gel from MCSDK Video package, which is located in the <MCSDK Video Install Dir>\demos\utils\gel folder and provides the configuration required for running the video demos.

For MCSDK Video 2.1 Alpha release, please go to the <MCSDK Video Install Dir>\demos\utils\IBL_flash folder and follow the instructions in the document ~\IBL_flash\README.doc to do the flash.

Verify IBL flash[edit]

Once the EVM has been flashed with IBL and the IBL configuration, this procedure can be verified by seeing the TFTP request on the PC. Perform the following steps to verify that the EVM was flashed correctly.

  • Set the boot pins on the EVM to TFTP boot as specified at Boot Mode Dip Switch Settings
  • Set PC to use the static IP address 192.168.0.102 if this has not been done yet
  • Confirm that the EVM and PC are connected to the switch.
  • Start TFTP server on PC.
  • Power on the EVM.


Helpful tips image.jpg

Useful Tip

1. If the TFTP server receives a request for the file sv01.out from the IP address 192.168.0.126, then the EVM has been correctly flashed.
2. Details of IBL and flash can be found from BIOS MCSDK 2.0 User Guide, the section of Booting and Flash



Preparing Demo Image and Files[edit]

Go to the <MCSDK Video Install Dir>\demos\pkt_xxx_demo folder, and follow the steps below to prepare the DSP image and PC utilities.

  • Get MAC address and network device ID

Run the command "ipconfig /all" to get MAC address. Run "WinDump.exe -D" to get network device ID.

In the example below, the device configured with the static IP address (192.168.0.102) has a MAC address of 5C-26-0A-18-50-E2. Its network device ID is \Device\NPF_{D6473378-2A72-4CDF-8C92-405A7681E745}.

DEMO Get MAC.JPG

Demo Get DeviceID.JPG


  • Modify config.txt with MAC address and network device ID as obtained above
  • Run installdemo.bat config.txt to generate demo image and stream files


Helpful tips image.jpg

Useful Tip

1.This batch script generates the files used to run the demos on the PC according to the network information provided in config.txt. First, it takes the factory pre-built DSP image at <MCSDK Video Install Dir>\bin\dsp\sv01\sv01.out and configures it for a specific demo running on a specific PC: <MCSDK Video Install Dir>\mcsdk_video_2_1_x_x\demos\pkt_xxx_demo\customBuild\tftp\sv01.out. Second, it generates the files necessary for sending media streams to the DSP and for receiving and presenting the streams on the PC that are received from the EVM/DSP.
2. Note that the DSP image and streaming files need to be generated just once on a PC unless there is change in config.txt and the master DSP image at <MCSDK Video Install Dir>\bin\dsp\sv01\sv01.out.


Running the Demo[edit]

Now that the DSP image and PC utilites have been configured for the user’s environment, follow the steps below to run the Video IBL demo.

  • Start the TFTP server on the PC.
  • Change the Current Directory to the directory (<MCSDK Video Install Dir>\mcsdk_video_2_1_x_x\demos\pkt_xxx_demo\customBuild\tftp) that contains the DSP image sv01.out. Click the Show Dir button to confirm that sv01.out is located in that directory.

DEMO TFTP DirectoryNew.JPG

  • Change the Server Interface to the static IP address (192.168.0.102) that was configured above. If this IP address is not listed, then the static IP address will have to be configured again. Refer to the instructions above.

DEMO TFTP InterfaceNew.JPG

  • Connect the PC and EVM to the switch if this has not been done yet.
  • Power on the EVM. If the configuration has been successful, the EVM will download the DSP image via TFTP. Check the log viewer on the TFTP server to verify that the image has been downloaded.

DEMO TFTP LoadNew.JPG

  • Start the demo

Go to the <MCSDK Video Install Dir>\demos\pkt_xxx_demo folder and open two command prompts.

  1. Run sendPkts.bat in one command window, which will send the video clips to the EVM
  2. Run startMplayers.bat in the second command window, which will display the clips sent from the EVM.


Helpful tips image.jpg

Useful Tip

Antivirus/Firewall may interfere the packet flow between the demo PC and the EVM. If there is no playout for the transcoded streams, please try with Antivirus/Firewall temporarily disabled during the time of demo.

Command window for sending video clips to the EVM:

Demo SendPackets.JPG

Command window for starting MPlayer to display the clips from the EVM:

Demo Start Mplayer.JPG

For example, the transcoded streams are displayed as follows for Demo 1:

  • Top Row  : Reference streams which are looped-back in the PC.
  • Middle Row  : Trascoded streams with no resizing (Core 0 and Core 1, two channels per core).
  • Bottom Row  : Transcode streams which have been resized (Core 2 to Core 5, two channels per core).

Demo Video Windows Demo1New.JPG

  • Cancel and re-run the demo

The streaming is pre-configured as 100 iterations as specified in the generated sendPkts.bat, which is highlighted below. Modify this number to run more or less iterations. To cancel the demo, first cancel sendPkts.bat with CTRL+C in the command window, then cancel startMplayers.bat in the second command window. To re-run the demo, simply start the two batch files again: run sendPkts.bat and then run startMplayers.bat.

Reference\utils\bin\sendPackets.exe customBuild\config\autogen_config4sendPkts.cfg \Device\NPF_{D6473378-2A72-4CDF-8C92-405A7681E745} 100 s


Uninstall the Demo[edit]

Go to the <MCSDK Video Install Dir>\demos\pkt_xxx_demo folder, and run command installdemo.bat" to remove the files generated for running a demo.

Frequently Asked Questions[edit]

Q: How can I run the demo on a Windows 7 PC?[edit]

Currently running the MCSDK Video demo requires Window XP PCs, as indicated at the beginning of this page. The major issue is the need of finding a right version of MPlayer. We have verified one old version of MPlayer for Windows 7: MPUI.2008-02-10.Full-Package.exe. However, it may not be available for download now. If google search "MPUI.2008-02-10" returns a download link for that version, please download it, uninstall the existing MPlayer, and reinstall MPUI.2008-02-10 to C:\Program Files\MPlayer for Windows. Trying the latest version of MPlayer is also recommended.

For demo 1, in order to play the streams looped back to the PC, the following changes are needed: 1) In demos\pkt_multichan_transcode_demo\config\demoCfg.pl, change “print PKT_HDR_CFG ("header = $PC_MAC,127,0,0,1,$dst_udp,$PC_MAC,$PC_IP,$dst_udp\n\n");” to “print PKT_HDR_CFG ("header = $PC_MAC,$PC_IP,$dst_udp,$PC_MAC,$PC_IP,$dst_udp\n\n");”

2) In demos\pkt_multichan_transcode_demo\config\subj-1080p-laptop_template.cfg, replace the last four rows with:

sdp://"<PC_UTIL_ROOT_DIR>\config\sdp\t_rtp_0_0.sdp" -geometry 352x288+200+50 -fps 30

sdp://"<PC_UTIL_ROOT_DIR>\config\sdp\t_rtp_0_1.sdp" -geometry 352x288+600+50 -fps 30

sdp://"<PC_UTIL_ROOT_DIR>\config\sdp\t_rtp_0_2.sdp" -geometry 352x288+1000+50 -fps 30

sdp://"<PC_UTIL_ROOT_DIR>\config\sdp\t_rtp_0_3.sdp" -geometry 352x288+1400+50 -fps 30

After the above changes, rerun “installdemo.bat config.txt”. Then follow the steps above to run demo 1.

Demo 2 will work after you install the right version of MPlayer.


Useful Resources and Links[edit]

Product Download and Updates[edit]

For product download and updates, please visit the links listed in the table below.

Product Download Link
MCSDK Video (2.1 GA) Download http://software-dl.ti.com/sdoemb/sdoemb_public_sw/mcsdk_video/latest/index_FDS.html
MCSDK Video (2.2 Alpha) Download

http://software-dl.ti.com/sdoemb/sdoemb_public_sw/mcsdk_video/02_02_00_23/index_FDS.html
http://software-dl.ti.com/sdoemb/sdoemb_public_sw/mcsdk_video/02_02_00_28/index_FDS.html

BIOS MCSDK Download http://software-dl.ti.com/sdoemb/sdoemb_public_sw/bios_mcsdk/02_01_02_05/index_FDS.html
Desktop Linux SDK Download http://software-dl.ti.com/sdoemb/sdoemb_public_sw/desktop_linux_sdk/01_00_00_07/index_FDS.html
C6678 Codec Download http://software-dl.ti.com/dsps/dsps_public_sw/codecs/C6678/index.html


MCSDK Video Instructions[edit]

Please visit the links below to install MCSDK Video, run the video demos, and get the details on how the MCSDK Video demos are developed.

Links for Linux Links for Windows
Getting Started Guide MCSDK Video Getting Started for Linux
Desktop Linux SDK Getting Started
MCSDK Video Getting Started for Windows
Demo Guide Run PCIe based Demos on Advantech DSPC-8681E & DSPC-8682E Run TFTP based Demos on TMDXEVM6678LXE
Development Guide Develop PCIe based Demos in MCSDK Video Develop TFTP based Demos in MCSDK Video


Technical Support[edit]

For technical discussions and issues, please visit the links listed in the table below.

Forum/Wiki Link
C66x Multicore forum http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639.aspx
Multimedia Software Codecs forum http://e2e.ti.com/support/embedded/multimedia_software_codecs/default.aspx
TI-RTOS forum http://e2e.ti.com/support/embedded/f/355.aspx
Code Composer Studio forum http://e2e.ti.com/support/development_tools/code_composer_studio/f/81/t/3131.aspx
TI C/C++ Compiler forum http://e2e.ti.com/support/development_tools/compiler/f/343/t/34317.aspx
Embedded Processors wiki http://processors.wiki.ti.com

NoteNote: When asking for help in the forum you should tag your posts in the Subject with “MCSDK VIDEO”, the part number (e.g. “C6678”) and additionally the component (e.g. “NWAL”).



E2e.jpg {{
  1. switchcategory:MultiCore=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article MCSDK VIDEO 2.1 PKT Demo Guide here.

Keystone=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article MCSDK VIDEO 2.1 PKT Demo Guide here.

C2000=For technical support on the C2000 please post your questions on The C2000 Forum. Please post only comments about the article MCSDK VIDEO 2.1 PKT Demo Guide here. DaVinci=For technical support on DaVincoplease post your questions on The DaVinci Forum. Please post only comments about the article MCSDK VIDEO 2.1 PKT Demo Guide here. MSP430=For technical support on MSP430 please post your questions on The MSP430 Forum. Please post only comments about the article MCSDK VIDEO 2.1 PKT Demo Guide here. OMAP35x=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article MCSDK VIDEO 2.1 PKT Demo Guide here. OMAPL1=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article MCSDK VIDEO 2.1 PKT Demo Guide here. MAVRK=For technical support on MAVRK please post your questions on The MAVRK Toolbox Forum. Please post only comments about the article MCSDK VIDEO 2.1 PKT Demo Guide here. For technical support please post your questions at http://e2e.ti.com. Please post only comments about the article MCSDK VIDEO 2.1 PKT Demo Guide here.

}}

Hyperlink blue.png Links

Amplifiers & Linear
Audio
Broadband RF/IF & Digital Radio
Clocks & Timers
Data Converters

DLP & MEMS
High-Reliability
Interface
Logic
Power Management

Processors

Switches & Multiplexers
Temperature Sensors & Control ICs
Wireless Connectivity