H.264 video streaming system on embedded DSP platform - Abdul Majeeth, Mohamed Ansary (2010)
This report presents the integration of a video streamer module with a baseline H.264/AVC encoder running on a TI DaVinci embedded platform (TMSDM6446EVM). The main objective of this project is to achieve real-time streaming of the baseline H.264/AVC video from an embedded system over a local area network (LAN) such that live video can be observed on remote station using standard H.264 enable players. The implemented video streamer module will be used as one of the base module of a networked video surveillance system. In the report, the encoding of baseline H.264/AVC and the hardware components of the platform are first discussed. Various streaming protocols are studied during the initial phase of the project, in order to implement the video streamer on the DM6446 embedded board. A multi-threaded application encoder program that encodes raw video frames into H.264/AVC is modified to include a UDP based data server which can transfer the video data on demand. For the video streaming over LAN, open source Live555 MediaServer is used to stream the video data to remote stations (PCs) where the video can be viewed using standard VLC media player. Initially, file streaming was implemented from PC to PC. Upon successfully implementation on PC, the video streamer was ported to the embedded board. The steps involved in porting the Live555 application will be described in the report. Both unicast and multicast file streaming are implemented in the video streamer. Due to the limitation of file streaming, live streaming approach was subsequently adopted. Several methodologies were investigated on how to integrate the video streamer and the encoder program on the embedded platform. Modifications are made to both the encoder program and the Live555 application to achieve live streaming of H.264/AVC video. Results of both file and live streaming will be presented in this report.