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?