VLC Media Player and Digital Cinema Loukmane Dessai1 Summary As project leader within the context of the ENSEEIHT Industrial Project I had the opportunity to work in collaboration with VLC, cinemas Utopia and four colleagues in order to provide a free and open-source software to read digital films (DCP). This project is built on a last year ENSEEIHT Industrial Project where the team who carried out it, managed to read only one reel of a DCP. Our objective was to complete this work to make the software be able to read all reels and thus an entire movie. Customer: Nicolas Bertrand Industrial supervisor: Younes Bensallam Period: 20 January 2014 to 14 March 2014 Team: Loukmane Dessai, Guillaume Gonnaud, Ludovic Hoareau, Anthony Giniers and Valentin Vetter Keywords Digital Cinema — VLC — DCP — Open-source — ENSEEIHT Industrial Project 1 3rd year Computer Science Engineering, Information Technology and Applied Mathematics Corresponding author: [email protected] Contents Introduction 1 1 1 Project management 1.1 Development plan and quality management . . . . . . . 2 1.2 Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 The purpose is to develop a solution open-source allowing to make, to distribute and to throw digital movies. Indeed, cinemas show digital movies since 2009. The problem is that the projection system is very expensive because the format of movies compression (DCP2 ) allows to preserve an excellent image quality but requires specific equipment to be decompressed in time (24 images per second). 1.3 Product . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.4 Planning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.5 Risk analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 Development 2 2.1 How does VLC work? . . . . . . . . . . . . . . . . . . . . . 2 2.2 DCP module . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 Results 3 3.1 Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3.2 Outcomes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3.3 Future advances . . . . . . . . . . . . . . . . . . . . . . . . . 3 Conclusion 3 References 3 The objective of Nicolas Bertrand’s thesis is to supply a software solution to the decompression of these images which would allow to decrease the cost of the installations of projection and to integrate this solution in VLC. The objective of the last year project was to bring the VLC software to be able to open and read only one reel of a DCP file. Videos are in DCP format, which is in fact a directory containing a video compressed in the JPEG2000 format, the audio in the WAV format and the subtitles in XML3 . Our objective is to bring the VLC software to be able to read all the reels of a DCP file and thus to read a full movie. Introduction 1. Project management This project is in the field of the digital cinema and open source software. The project joins a research activities carried out by the IRIT and the cinemas Utopia, in partnership with the VLC1 team. As project leader I was in charge of the project management. 1 VideoLan is an open-source and free media player. 2 Digital Cinema Package. In a DCP there are both the film and the trailer and the film is divided into reels. 3 eXtensible Markup Language. VLC Media Player and Digital Cinema — 2/3 1.1 Development plan and quality management At the beginning of the project, we set up a development plan in order to ensure and enhance the quality of the project. • Earliz: website to help the project management. • Meetings: with the stakeholders. • List of Actions: a list filled after each meeting for each members of the group. • Documents: both technical documents and about the project management (planning, risks...). • Wiki: website gathering tutorials and meeting reports. • Communication: IRC, meetings and mail. • Coding style: use of code convention to develop properly. • GIT: Distributed Version Control System. 1.2 Organization • Loukmane Dessai: Project leader and quality manager. I was in charge of all the management part, schedule, definition and distribution of the tasks. • Guillaume Gonnaud : conception and specification leader and developer. • Anthony Giniers: code analyser and developer. • Ludovic Hoareau: code analyser and developer. • Valentin Vetter: VCS4 manager. He was in charge of sending the patches to VLC. 1.3 Product Deliverable The product we had to deliver is composed of C++ codes that we had to send to VLC as Patches. As we had to wait for feedback from VLC to correct the patches, and after writing down the product requirements with the customer, we decided to share the product into several small and independent batches. Patches Requirements 1.4 Planning Figure 2. Timeline of the project 1.5 Risk analysis Figure 3. Table of the Criticality of the risks Main risk It was the response time of VLC to our patches. According to our customer, the time of response might range from five minutes to one week! Table 1. Mitigation of the VLC risk Prevention Small patches to facilitate reading Independent patches to work in parallel Send patches as soon as possible Action Contact VLC Try some pressure The product shall • be able to read a full movie (audio, video, subtitles). • allow users to navigate into the movie (slider, pause). • be used with an option to choose between the film or the trailer (both are found in the DCP). 2. Development Our work consisted in completing the DCP module of VLC to take into account the requirements. 2.1 How does VLC work? When VLC is launched with a input, a main thread is created, which create also an input thread. The following figure explains the next steps: Figure 1. Simplified Product Breakdown Structure 4 Version Control System. Management of changes into codes. VLC Media Player and Digital Cinema — 3/3 3. Results 3.1 Tests The tests consisted in watching a full film and searching for errors. Personal tests Tests on a low resolution film with personal computers. Tests on a high resolution (1k) film with a powerful computer. at ENSEEIHT at cinema Utopia Tests on a very high resolution (2k) film with a cinema projector. 3.2 Outcomes Sucess • The product is able to read a full film. • We can pause and resume. • We can use the option –cpl=n5 . Figure 4. Management of an input by VLC When an input is received, VLC looks for an access or access-demux module that can handle the type of the input. If an access is found, VLC looks for a compatible demultiplexer (demux). After the demux or the access-demux, the elementary streams are redirected to the decoders and the filters. Then the images are displayed. 2.2 DCP module We completed the access-demux DCP module used by VLC to read a DCP. The following figure explains the architecture of the module and how it works : We can use the slider but sometimes we lose the sound or the subtitles. Limitations 3.3 Future advances DCP module • Fix the slider (audio and subtitles issues). • Fix the option #n:m.6 About Nicolas Bertrand’s thesis • Decryption7 of DCP files. • Optimization of the JPEG2000 decoder. • Creation of a module for the subtitles part. Conclusion To sum up I can say that even if we did not manage to correct all minor errors, the project is a great success: VLC is now able to read a full DCP film ! As far I am concerned and as a leader, this project allowed me to discover a new aspect that I am not used to experiencing which is project management. Figure 5. Reading a film with the DCP module 1. Parse the XML files to collect all information about the reels. 2. Store the data in the variable dcp t. 3. Create the readers (audio and video) by calling the openRead() function for all reels. 4. Call the Demux() function to read the video and the audio. 5. Create the structure needed for the subtitles by calling openSubtitles(). 6. Call Demuxsubtitle() inside Demux() to activate the subtitles. References [1] Independants Solidaires F´ed´er´es. http://www.isf.cc. ISF. [2] Wiki isf. http://www.isf.cc/wiki. Nicolas Bertrand, 2014. [3] VideoLan. http://www.videolan.org. [4] Wiki videolan. https://wiki.videolan.org. 5n is a number: 0 for the trailer and 1 for the film the number for the trailer/film and m the number of the reel 7 DCP files are encrypted by the by studios to control its reading. 6n
© Copyright 2024 ExpyDoc