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
MCSDK Video
Version 2.1.0
Ethernet Packet Based Video Demonstration Guide
Last updated: 10/03/2013
Contents
Introduction[edit]
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 |
Note: Running the demos requires Windows XP PCs, and the instructions below are applicable to Windows XP PCs also.
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.
|
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.
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.
- Right-click on the appropriate Ethernet device and select Properties.
- In the list of items, select Internet Protocol (TCP/IP) and click on Properties.
- 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.
- 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.
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.
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.
|
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}.
- 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
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. |
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.
- 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.
- 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.
- Start the demo
Go to the <MCSDK Video Install Dir>\demos\pkt_xxx_demo folder and open two command prompts.
- Run sendPkts.bat in one command window, which will send the video clips to the EVM
- Run startMplayers.bat in the second command window, which will display the clips sent from the EVM.
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:
Command window for starting MPlayer to display the clips from the EVM:
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).
- 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 |
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 |
Note: 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”).