VLC Media Player and Digital Cinema
Transcription
VLC Media Player and Digital Cinema
VLC Media Player and Digital Cinema ENSEEIHT Industrial Project Claire ETIENNE – Project Manager Aurélie SBINNÉ Julien PUYOBRO Pierre VILLARD Samuel KERJOSE 15-03-2013 INTRODUCTION Subject : VLC and Digital Cinema : basically, allow VLC to read the files which are thrown in cinemas. ● ● Customer : Nicolas Bertrand and VideoLan ● Industrial supervisor : Christophe Biben ● Team : ● Claire ETIENNE, as Project Manager ● Aurélie SBINNÉ ● Julien PUYOBRO ● Pierre VILLARD ● Samuel KERJOSE 2 VLC PRESENTATION VLC is a media player and a streaming media player - highly portable - free and open-source - cross-platform → beginning : the 1st February 2001 → written in C / C++ / Qt → 69 languages → today : more than 1 000 000 000 downloading 3 PRESENTATION OF THE PROJECT AND ITS OBJECTIVES In Cinemas → Projection system is very expensive : Digital Cinema Package (DCP) requires specific equipment ● Part on Nicolas Bertrand's thesis : supply a software solution to the decompression of the images. → integrate this solution in the freeware VLC ● OBJECTIVE : Bring VLC to be able to open and to read a DCP file. 4 PROJECT MANAGEMENT : Schedule PROJECT MANAGEMENT : Organization Breakdown Structure 6 PROJECT MANAGEMENT : Risks analysis Week 1 Week 4 Week 8 Risks : Most of them were settled before the end of the project but the module access risk became more important. 7 PROJECT MANAGEMENT Meetings with customer and industrial supervisor, and objectives : 8 WHAT IS A DCP ? Digital Cinema Package : directory size between 80 and 500 Go. 9 XML PARSING Markups in CPL file : <MainPicture>...</MainPicture> <MainSound>...</MainSound> <MainSubtitle>...</MainSubtitle> 10 How does VLC work? 11 Input Modules 12 First Idea VLC can already play these 2 MXF ==> NO NEED to write an entire demultiplexer! IDEA : Create an ACCESS module and use the VLC core functions to play these two tracks at the same time 13 Exploration of VLC Core GOAL : to find a way to synchronize audio and video tracks option input-slave already created plays 2 tracks at the same time with good synchronization 14 Exploration of VLC Core 15 Exploration of VLC Core 16 Exploration of VLC Core 17 The module DCP.c Result: This reads the video or the audio, but not both... 18 Experiments on DCP.c Experiments: Results: Fail! Really bad idea! Use the core code for “input-slave” Fail! Code unusable Out of the VLC core Create a new input with the Input-slave option Fail! 19 VLC & Modules - “Normal” behaviour During discussions with VLC official developers, they talked us about Lua API 20 Lua API 21 VLC & Lua API - Behaviour with a Lua script 22 VLC & DCP Lua script Real command: ./vlc dcp/directory/path Simulated command: ./vlc video.mxf --input-slave=audio.mxf This solution will be merged in the next VLC release 2.1.0 ! 23 Demonstration Utopia Tournefeuille 24 Outcomes and open issues Outcomes: Script: good audio/video synchronization ● Dcp.c : xml parsing and video reading ● VLC's team accepted our patch ● Future advances: Audio handling and demux function (dcp.c) ● Remote files (Lua script) ● Tracks selection ● Subtitles conversion ● 25 CONCLUSION Any questions?