VLC & Subtitles
Rants
Jean-Baptiste Kempf
Thursday, May 24, 2018
VLC & Subtitles Rants Jean-Baptiste Kempf Thursday, May 24, - - PowerPoint PPT Presentation
VLC & Subtitles Rants Jean-Baptiste Kempf Thursday, May 24, 2018 Ecole Centrale Paris The Cone VLC 1.000.000 downloads per day 450.000.000 users on all platforms! * 2.800.000.000 + downloads since the early days VideoLAN VideoLAN Dev
Rants
Jean-Baptiste Kempf
Thursday, May 24, 2018
downloads per day
users on all platforms! *
downloads since the early days
VideoLAN Dev Days 2014
VLC 3.0 10
VLC 3.0 11
3.0 highlights
VLC 3.0 12
Platform support
10 RS3 →
10.13 64bits →
8.0 Oreo (API-4212) →
iOS 11 →
13
New CTL
14
New CTL support
VLC 3.0 15
VLC - VR 15
VLC VR
16
3.0.0 Android TV
17
3.0.0 Tizen
VLC 3.0 19
VLC Subtitles support
Image based
VLC 3.0 20
VLC Subtitles support
Text based
– Extensions ({\an}, {\h}, \h) – Similar: mpl2, dks, aqt, mpsub, smi, microdvd, jacosub, vplayer
– Including Rollup
– EBU-TT, EBU-TT-D, SMPTE-TT, ISMC-1
VLC 3.0 21
Complaints
– WebVTT
– TTML
– New does not mean better! – Ignore things that were done before – Big Mess
– Support both, or some part of those.
VLC 3.0 22
VLC
– Design by committee
– Mafja-style patents enforcement
– NIH syndrom – Broadcasters forget the real world…
– Reverse engineering – Samples based
VLC 3.0 23
Complaints, part 1
Generic complaints about new formats
– Created for the web, with separated fjles.
– Every implementation is in JS…
– Timing overlaps make some cases very complex to implement,
– Timings inside samples makes retiming impossible without reparsing the whole bitstream – Lots of overhead in samples, notably for empty samples – Timings can DropFrame
VLC 3.0 24
WebVTT
– SRT…
– Stylings are done in CSS
full CSS requirement →
– Requirement for a DOM representation, a CSS parser, but also a CSS rules management – CSS inheritance for little needs – Requirement for support of ::cue() selectors, who are de-facto functions ::cue(params) which requires to extend
existing engines (Not even supported by Firefox)
– Mix of anchors, scroll windows and coordinates – Clear after-thought
– Almost as bad as positioning – After-thought, once again…
VLC 3.0 25
TTML
– Which one:
– XML
– W3C
– Every feature under the world
– 8 #length-*, #markerMode…, 6 #styling, #clockMode.., stufg that are just 608 backports...
– Need to support all :-)
VLC 3.0 26
TTML rants
– XML – XML header makes probing very hard, unless you load a big chunk of the document
– Namespaces are hard <tt <tt:tt <foo:tt
– Mix between screen in % and fjxed font size or fjxed font size and region in % makes rendering very hard to predict (notably cuts) – depending on the system-font or the video resolution – Mix between %, cell and pixels – Baseline size depends on the font
layout is hard, notably for for zones and positioning →
– Seriously? – Specifjc to one video resolution, and will be lost, of course, after reencoding and so on
– Suggests people will mix images and text profjles
– Multiple relative or absolute timings: smpte-time, wall-clock-time, media-time
– Not valid for XML internal node reference – Cannot be verifjed or transformed with XSL easily
VLC 3.0 27