Video On Demand player with DRM support In order to provide Video On Demand (VoD) service to public, it is necessary to incorporate Digital Rights Management (DRM) into the Video On Demand platform, including the video player. Without DRM, the content providers would not provide the movies to the service providers, and thus there would be no VoD service available to the Internet users. The platform must be robust to prevent the content from being leaked from the VoD solution and then distributed in an unprotected way via Internet. The most critical part of the VoD platform is the video player because it is under direct control of the user. The user may attack the player to store the decoded content to the hard drive. In order to avoid this, the player should use only trusted components of the media processing pipeline between the decryption and the presentation of the content. Therefore, the components should be checked whether they are trusted. Otherwise the user could modify some component to write the decoded content to the hard drive and thus could make a content leak. Unfortunately, some open source licenses like GPL and LGPL give the user the right to replace such components, therefore the components working with decoded content should not use such licenses. Due to the lack of free decoder libraries with suitable licenses, the GPL and LGPL libraries may be used for the school project. The goal of the project is to implement a VoD player with DRM support that would prevent the content from being leaked. The player will be implemented for MS Windows platform but it should be easily portable to other platforms. Therefore, it should not use platform specific features where it is not necessary (i.e. everywhere except media presentation components). The project team should implement: - nice and simple user interface with standard video player features like seeking, full screen support, volume setting, GUI skins etc. - decoder of DVB-T subtitles [2] (RLE encoded images) - video/audio/subtitles output components using DirectX so that the output would benefit from hardware acceleration - open the media streams using the RTSP protocol [3], transfer the media using the RTP protocol [4], support the prebuffering of media to avoid playback disruptions because of network jitter. Since the player is Video on Demand player, RTSP/RTP is the main source of the media. - support switching of the audio language and the subtitles language during playback, allow to hide subtitles. - support fast forwarding and rewinding over RTSP/RTP - support jumping to DVD-like chapters, i.e. choose a DVD-like chapter in a menu and jump to its beginning - use Itonis DRM library [1] for content decoding - checking whether the media processing pipeline components are trusted Optionally, the project could be extended by implementing: - VoD player as a Firefox [6] plugin, or a Java applet - support of streaming over HTTP [5] - own AAC audio decoder under suitable license Team members: 4 References [1] Itonis, www.itonis.tv [2] ETSI EN 300 743 - Digital Video Broadcasting (DVB) Subtitling systems [3] RFC 2326 - RTSP (Real Time Streaming Protocol) [4] RFC 3550 - RTP (Real-Time Transport Protocol) [5] RFC 2616 - HTTP (Hypertext Transfer Protocol) [6] Firefox, www.mozilla.org