Presentation is loading. Please wait.

Presentation is loading. Please wait.

P2P Digital TV Recorder Supervisor: Professor Michael R. Lyu

Similar presentations


Presentation on theme: "P2P Digital TV Recorder Supervisor: Professor Michael R. Lyu"— Presentation transcript:

1 P2P Digital TV Recorder Supervisor: Professor Michael R. Lyu
Prepared by: Ho Tsz Wing, Andy Lau Wai Shun, Jack

2 Content Project background and objectives
Summary of Work in Semester 1 Improvements in Semester 2 Decentralized searching algorithm and buddy list Decentralized recording algorithm and bonus system Streaming and video format conversion Difficulties and Solution Further Improvements Conclusion

3 Project background Watching TV is a major entertainment
People often miss their favorite programs People need to schedule the recording of the programs

4 Project objectives Allow people to view back a previous TV program without doing scheduling themselves Let the users view the program on demand Increase the availability of the TV programs Achieve load balancing among the participating peers

5 Summary of Work in Sem1 P2P Digital TV Recorder Program Core
Download the video file from other peers No Buddy List All peers’ information is stored in a centralized server A centralized scheduling algorithm Peers unable to reject the recording task Using a complex algorithm to achieve high availability Performance enhancement Whole file replication Erasure code replication Research Results In most cases, erasure code replication performs better than whole file replication When the peer availability attains a certain level, the performance of the whole file replication close to erasure code replication

6 Improvement Work in Sem2
Problem Cause Solution Queries needed to handle increase dramatically with the increase of the number of peers Use buddy list system Try to keep as less as information in the sever Performance of the server become the bottleneck of the system

7 Improvement Work in Sem2
Problem Cause Solution Peers cannot reject the recording tasks => Inflexible A centralized server will assign the recording task to the online peer without considering their contribution to the system A distributed scheduling algorithm Implement a bonus system The user is able to accept or reject the task

8 Improvement Work in Sem2
Problem Cause Solution Replication methods take too much time and CPU resource As the original video in dvr-ms format is too large, no matter which replication we use, much time is consumed. Implement a streaming server Real time encoding is fast enough

9 Improvement Work - 1 Decentralized searching algorithm and buddy list
Decentralized recording algorithm and bonus system

10 Component of Server Xml.asp Database Login/Logout Application
User Search Application

11 Login / Logout / User Search
Offline B Login message A Directory Server C Online Offline Online Buddy Information E D Online Online

12 Task of Client Side Client Application Download Streaming Recording
Download (Implemented) Basic function Send the video file to the requested peer Download Client Application Streaming Encoding to wmv Preview function Recording Scheduling among peers Bonus system Streaming Recording

13 Download Topology – Napster (Sem1)
Client N4 Server Lookup(“TVB News”) Key=“TVB News” N8 N9 N7 N6 Simple, but O(N) states and a single point of failure

14 Download Topology – Gnutella (Sem 2)
Lookup(“TVB News”) N3 Client N4 Key=“TVB News” N6 N8 N7 N9 Robust, but in the worst case O(N) messages per lookup

15 P2P Digital TV Recorder Protocol
Type ID Port / Channel Download & Streaming / Recording Message IP Program Title TTL / Hop

16 Performance Enhancement
Forward the message to other peers All pass Check IP Field Check Message ID Check File Exist Check TTL

17 Scheduling of Recording Task
Centralized Decentralized Server will schedule the recording of all program in the morning Send out the recording request to 2 peers randomly before the program starts Peers who received the recording request cannot reject it. Peers initialize the recording task when the program starts Peers are able to determine recording or not if the bonus points of the peers attain a particular level Peers forward the recording message to one of its buddies

18 Scheduling Policies

19 Scheduling Policies

20 unable to decide record or not
Bonus System 10 10+ Free Rider Normal User unable to decide record or not able to decide record or not

21 Video-On-Demand (VoD) streaming
Improvement Work - 2 Video-On-Demand (VoD) streaming

22 Why use VoD streaming? Download VoD streaming
the user needs to wait for a long time errors may occur in the downloading process VoD streaming save the user a lot of time and storage space can be used as a preview function

23 Tools used in developing the streaming application
DirectShow Library GraphEdit Windows Media Encoder SDK

24 a media-streaming architecture for the Microsoft Windows® platform
DirectShow Library a media-streaming architecture for the Microsoft Windows® platform provides for high-quality capture and playback of multimedia streams Example uses: file players video editing applications file format converters etc.

25 DirectShow Filters and Filter Graphs
receive multimedia streams as input and produce output A source filter introduces data into the graph. A transform filter takes an input stream, processes the data, and creates an output stream. Renderer filters receive data and present it to the user Filter Graphs A set of connected filters controlled by a high-level component called the Filter Graph Manager

26 DirectShow Architecture

27 Writing a DirectShow Application
The application creates an instance of the Filter Graph Manager. uses the Filter Graph Manager to build a filter graph. uses the Filter Graph Manager to control the filter graph and stream data through the filters.

28 Approaches in Graph Building
Method Used The Filter Graph Manager builds the entire graph RenderFile The Filter Graph Manager builds part of the graph Render The application builds the entire graph AddFilter, Connect or ConnectDirect

29 Reasons for using DirectShow Library
Windows MCE records TV programs in dvr-ms format Dvr-ms files are not efficient for storage (1hr TV program recorded in good quality requires about 1668MB) Dvr-ms files cannot be streamed over the internet DirectShow is used to convert dvr-ms file to wmv file that can be used for streaming The file size of 1 hr wmv file is only 101MB if the bit rate is 225kbps

30 Number of days of TV programmes that can be recorded with a given hard disk size
22.09 20.63 1.31 1.25

31 GraphEdit The filter graph built by our application

32 Uses of DirectShow Library
Steps to convert dvr-ms file to wmv file using DirectShow Library: start once Windows MCE has finished recording a particular TV program create the filter graph and render the dvr-ms file original dvr-ms file will be deleted in the case that the storage space is not sufficient for new recording

33 Experiment Result Bit Rate (Kbps) Video Size File Size (KB)
Conversion Time (s) 218 320 x 240 1,711 58 441 3,317 60 666 4,928 62 480 x 360 1,731 115 3,413 116 5,069 125 The dvr-ms file used in this experiment has a length of 60s, a file size of 27,399KB and is recorded in good quality

34 Experiment Result Bit Rate (Kbps) Video Size File Size (KB)
Conversion Time (s) 666 320 x 240 4,928 62 480 x 360 5,069 125 640 x 480 5,170 209 800 x 600 5,194 327 The dvr-ms file used in this experiment has a length of 60s, a file size of 27,399KB and is recorded in good quality

35 Windows Media Encoder SDK
used to compress live or stored audio and video content into Windows Media files or streams create multimedia productions from devices attached to their computers

36 Steps to create an encoding application

37 Encoding with CBR and VBR
Constant Bit Rate (CBR) Encoding bit rate and size of the content are known before encoding for content that varies in complexity, the encoding quality is not constant Variable Bit Rate (VBR) Encoding it compensates for changes in the complexity of the content bit rate and size of the content are not known before the encoding

38 Uses of Windows Media Encoder SDK
When the client receives a streaming request, it will create an encoder object, encode the appropriate file using CBR encoding and broadcast it at the address It then connects to the requesting peer and the peer will view the file at the specified address

39 Streaming Architecture
Directory Server B E C D A Streaming Host Streaming request Connection established Streaming request

40 Difficulties and Solutions
Difficulty Dvr-ms file (the default file format for the recorded TV in Windows MCE) cannot be streamed over the Internet Cause Windows Media Encoder 9 Series SDK does not support the encoding and broadcasting of dvr-ms file Solution We have to use DirectShow Library to convert the dvr-ms file to a format that is compatible with Windows Media Encoder 9 Series SDK (i.e. wmv file).

41 Difficulties and Solutions
Difficulty The wmv file resulted from the conversion of dvr-ms file by DirectShow Library has sound only but no video. Cause The default transform filter chosen by the RenderFile method (InterVideo Video Decoder) cannot decode MPEG-2 stream to MPEG-1 stream Solution So we have chosen to use the GPL MPEG-1/2 Decoder in our filter graph to solve this problem

42 It is possible to have real time streaming in the following ways:
Further improvement It is possible to have real time streaming in the following ways: First, we can start the file conversion as soon as Windows MCE starts to record the TV program Next, we can use Windows Media Encoder SDK to encode the wmv file and broadcast it at Finally, the client can connect to the above address to get the video content instantly However, there is one drawback as doing recording and converting at the same time takes up a lot of CPU time

43 Further improvement It is also possible to use p2p technique to stream the file It can reduce the network bottleneck at the video server It can provide a fault tolerant Video-on-Demand streaming it raises technical, performance, quality, business, and legal issues

44 Conclusion We have implemented our application in a decentralized ways using a buddy list system to enhance the performance. We have introduced a distributed scheduling algorithm and a bonus system to enhance the availability of the TV programmes. We have also developed a streaming server to reduce the storage requirement and enabled the user to preview the TV programmes.

45 Thank You !


Download ppt "P2P Digital TV Recorder Supervisor: Professor Michael R. Lyu"

Similar presentations


Ads by Google