Font Size: a A A

The Application Development Of Embedded Streaming Media System Based On DaVinci Technologies

Posted on:2010-03-16Degree:MasterType:Thesis
Country:ChinaCandidate:C L ChenFull Text:PDF
GTID:2178360272496390Subject:Communication and Information System
Abstract/Summary:PDF Full Text Request
Today, the streaming media systems in the market mainly serve for large-scale corporations or government departments. This kind of streaming media system usally has very high performance and is very expensive which need high-class hardware equipments and professional persons for the device's maintenance. It is fit for applying in the eviroment with a large number of streaming media users. The low-end users including small enterprises and individuals has less money and the streaming media system for those users usually provide services for a limited number of users, They have a higher demand on the mobility and portability.To meet the low-end users'special needs for the the meida system, we designed and developed a standard streaming media system which costs very little and has a small size. We can easily install and maintain it. This system consists of the streaming media server and the client. The streaming media server is implemented on the DVEVM supplied by the wintch company which is based on the DaVinci technology. The client runs on the Windows operationg system and is developed on the PC platform.The streaming media server is the core of the system.It makes full use of the advantages of DaVinci technology in the multimedia applications field. The TMS320DM6446 processor based on DaVinci technology integrates the ARM926EJ-S core and DSP C64x + TM core. The ARM core can run commen control programs and the DSP core can process digital signals with a high speed, so the TMS320DM6446 processor is very suitable for the construction of multimedia applications.The efficient integration of the ARM core and the DSP core is the core issue of DaVinci technologies. We analyze the issue from two points of view of hardware and software. In the level of hardware, The ARM core exchange data through the shared DDR2 memory with the DSP core and they use interrupts to communicate with each other. As for the level of software, the integration of dual-core uses the concept of RPC (Remote Procedure Call). DSP is configured as a Codec Server and the ARM client can call the remote algorithm running on the side of DSP with the help of Codec Engine.The system uses the RTSP protocol to control the process of palying a streaming media and use the SDP protocol to describe the media information. The operation of initiation, control and termination for streaming media is implemented by RTSP. We use RTP protocol to transport streaming media data and the packet loss rate, delay jitter and relative statistical information are computed from the RTCP packets. The digital compression is one of the key technologies for developing the streaming system. We choose H.264 algorithm for viedo compression and G.729 algrithm for speech compression. H.264 compression algorithm not only has the high compression rate but also improve the performance of resistance to error bits. How to play audio and video stream synchronously is the last step in the process of developing a stream system. In this paper, we use the DirectShow technology to achieve the aim.Demand analysis is one step which can't be ommited when we develop a system. This system supports three types of streaming media applications: video on demand, video broadcast and live broadcast. The VOD service can provide the interactive operation such as playing, pausing, seeking and so on. The user can control the process of playing a multimedia file. In the video broadcast and live broadcast applications, the users receive streaming media data passively. The difference between the two is that the data source in the video broadcast come from media files stored in the media server and it is real-time data captured from the input devices in the live broadcast. It is worth mentioning in particular that this system can support data transmission with the interleaved mode so the users behind NAT or firewalls can use the system's service.This system can be abstracted into the network layer, data processing layer, signaling control layer and user interface layer. We use loosely coupled manner between all levels to design the system. After analyzing the function features of the streaming system, we give the solution design of the streaming media system. The streaming media server's development is based on the LScube project of the open source community and the streaming media client's development is based on MFC and DirectShow.In this paper, the development of streaming media system is decompounded into the following five parts: RTSP signaling module, parsing media files module, real-time data processing module, RTP network sending module and DirectShow playback module. These modules coordinate with each other to complete the whole function of the system.RTSP signaling module is responsible for the handling of RTSP signaling messages. The streaming media client firstly sends OPTIONS request to the server to query the server's ability and then send the DESCRIBE message to get the description information of streaming media resources.The client can send SETUP request to establish the streaming session after receiving the SDP description. The client uses the PLAY, PAUSE method to start or stop transmission of data streams after successful establishment of the streaming session and uses the REDIRECT method to redirect the location of the media resource. Teardowning a streaming media session is completed by sending the TEARDOWN method.In the service of VOD, the streaming media server needs to parse multimedia files with a variety of formats and read the audio and video stream from the multimedia files to send to the RTP sending thread. We use the API interfaces provided by ffmpeg project to parse meida files. Beacause parsing media files and sending audio and video data is implemented in two asynchronous threads, the thread parsing media files and RTP sending thread need for synchronization. The streaming system uses event messages to achieve synchronization of two threads mentioned above.In the service of live broadcasting, the streaming media server needs to caputure real-time audio and video frame which is implemented using Linux driver programs in real-time data processing module. The system uses a memory mapped to the user space from the Linux kernel space in order to transport data without operation of copying. We use the VISA API supplied by the Codec Engine engine to compress the real-time audio and video data. This system uses the H.264 and G.729 algorithm which has been packaged into Codec Server running in the DSP side. These algorithm listed above is supplied by the DVEVM development kit.The RTP network sending module located in the streaming server send the streaming media data over the network and the client needs to build an appropriate DirectShow Filter Graphic to receive, decode and playback the streaming data. The RTP source of the DirectShow chain receives RTP packets from the network and push to the next decoding Filter to decoding the compressed data. The decoded data is finally sent to the video card or sound card for playback by the Rnder Filter. We use a dual-buffer queue in the streaming media client which can cache some data in order to ensure the continuity of playing streaming media, but can also smooth the delay jitter of different packet and improve the playback quality.To sum up, the paper designs and develops a embedded streaming media system based on DaVinci technology. The streaming system makes full use of the advantage of the DaVinci and streaming media technology which is suitable for useness in the environment with little users.
Keywords/Search Tags:DaVinci Technologies, Embedded System, Streaming Media, RTSP
PDF Full Text Request
Related items