Online Media Streaming

No Thumbnail Available
Date
2012
Authors
Sondos Ishtawi
Asmaa Salman
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
 In general our project is dealing with two parts, change the video format and streaming the video to the mobile. We use the android system for the mobile. Since android doesnt support all extension of videos, here was the problem, so we try to solve this problem by converting the extension of video from format doesnt support by android to supported format. To do thats we use the implementation of FFMPEG method, and with this method we successfully converted five formats of videos to a format supported by android. After we check thats the format of the videos could be played in the android, we came to the next stage, Streaming. To do thats, first we give a user on the mobile a username and password to connect to the server with these information, with this way we can achieve an authentication connection and dont allow anyone to access my server, we do this steps in android (in the client side) and we use php language over a WAMP server to build the server side. after the user have connect to the server in secure way, the part of streaming video from server ( pc ) to the client ( android ) is come. We make this steps in two different ways, first one we use the RTSP protocol (Real Time Streaming Protocol). This protocol is made for android in order to streaming media (video and audio). With the RTSP protocol, packets of data dont store in the mobile (client side), so with this method we solve the problem of the mobile storage. To display the packets of video into the mobile we build our playback MediaPlayer with a MediaController. the other way of video streaming we use is to stream the video over TCP sockets, this is way is more difficult and actually is less performance from the first one, because here we split  video into frame(images) then convert each image into array of bytes ( more difficult technique ) ,then stream each packet (array of bytes ) to the client, if any of these packets are lost through the streaming path, the video will display not in order and it will take more time to display the video, because in the client side we convert these packets into images then draw these images in the canvas with very little delay, all these steps in the client side will make the video take more time to be displayed and will not be as the quality as the RTSP provide.
 In general our project is dealing with two parts, change the video format and streaming the video to the mobile. We use the android system for the mobile. Since android doesnt support all extension of videos, here was the problem, so we try to solve this problem by converting the extension of video from format doesnt support by android to supported format. To do thats we use the implementation of FFMPEG method, and with this method we successfully converted five formats of videos to a format supported by android. After we check thats the format of the videos could be played in the android, we came to the next stage, Streaming. To do thats, first we give a user on the mobile a username and password to connect to the server with these information, with this way we can achieve an authentication connection and dont allow anyone to access my server, we do this steps in android (in the client side) and we use php language over a WAMP server to build the server side. after the user have connect to the server in secure way, the part of streaming video from server ( pc ) to the client ( android ) is come. We make this steps in two different ways, first one we use the RTSP protocol (Real Time Streaming Protocol). This protocol is made for android in order to streaming media (video and audio). With the RTSP protocol, packets of data dont store in the mobile (client side), so with this method we solve the problem of the mobile storage. To display the packets of video into the mobile we build our playback MediaPlayer with a MediaController. the other way of video streaming we use is to stream the video over TCP sockets, this is way is more difficult and actually is less performance from the first one, because here we split  video into frame(images) then convert each image into array of bytes ( more difficult technique ) ,then stream each packet (array of bytes ) to the client, if any of these packets are lost through the streaming path, the video will display not in order and it will take more time to display the video, because in the client side we convert these packets into images then draw these images in the canvas with very little delay, all these steps in the client side will make the video take more time to be displayed and will not be as the quality as the RTSP provide. 
Description
Keywords
Citation