Keyword - HLS

Entries feed - Comments feed

15 June 2015

This week in VideoLAN - 6

Yet another week in VideoLAN world

Continuing what I did for the last few weeks, and to please my friend Kostya; this post will tell you the interesting things that happened in the VideoLAN community and VLC development teams, for the last week.

Features and changes

VLC and libVLC

The week started with a few bug fixes, notably to improve the seek over HTTP, in the mp4 demuxer, the audiotrack Android output and the iOS video output.

2 important new API were added to libVLC to correctly get information about chapters and titles, useful for DVD control: libvlc_media_player_get_full_title_descriptions and libvlc_media_player_get_full_chapter_descriptions.

On Wednesday, an extensive patchset was merged by Fran├žois, modifying the adaptive logic from the DASH module, in order to rewrite the HLS demuxer using the same core logic.
The new HLS module should be easier to maintain, and will benefits from the improvements of the DASH module.

The skins2 module received numerous fixes for UTF-8 strings and Unicode filenames.

In the core, when looking for a codec, the lookup used to be a linear search, and this was just rewritten as a binary search.

Finally, we also got some OS/2 threading changes, Direct3D9 speed improvements for subtitles, more smooth streaming codec support, a new Xcode project to build VLC, improvements on our Doxygen documentation and better support for CC in mp4.


This week, the version 2.6.0 of VLC for iOS was tagged and pushed on the store for review.
This version:

  • supports the Apple Watch,
  • adds a mini-player to control playback when browsing movies or audio,
  • adds better playlists support,
  • improves the interface and thumbnails,
  • fixes numerous issues and crashes.

The version 2.7.0 was started, directly after. It will drop support for iOS6 versions, and the work to support SMB networking was started this week.


The refactoring work of the last weeks was continued. The audio playback background service was rewritten, with the objective of merging it with the video playback, in order to support video playlists.

The requested permissions were also simplified, and some were removed for the recent Android versions.

The VLC control widget is now resizable, we support more remote controls buttons (in both TV and normal modes), and we detect USB plugging/unplugging to refresh the library.

Finally, more code cleanups and MRL fixes in the library were merged.


The WinRT port has seen mostly designs rework this week.

The MiniPlayer is now smaller and translucent, the application is faster to start, the palette were refreshed, and the code structure of the Background audio was completely re-done.


The work on libdvbpsi 2.0.0 was started, and it started by dropping the support for WinCE.

That's all for this week! See you next one!

5 December 2011

VLC 1.2.0 features: part 2, formats

VLC 1.2.0

I've spoken already about VLC 1.2.0, especially about video, video again and authoring.

However, I haven't spoken about the format supported in VLC 1.2, even if there were some hints in my last post.

Discs and devices


One of the major cool thing of 1.2, will be a (very partial) support for Blu-Rays.

Through the VideoLAN project libbluray, VLC 1.2 should be able to open unencrypted disks and backup folders.

Playback of commercially encrypted disks is also doable, but I won't detail the setup here.


The whole stack of DVD playback libraries has been updated for VLC 1.2.0.

The releases of libdvdnav, libdvdread, libdvdcss should help to playback more recent disks and fix quite a few annoying issues.

Capture devices

  • In addition to quite a few fixes on DirectShow and V4L2 capture modules, QTCapture and QTSound capture modules were added for VLC for MacOS X. Requiring QuickTime 7.6.3, it should allow VLC to play, record and stream any QTKit device.
  • Decklink and DVEO/Linsys/ComputerModules SDI and SDI-HD cards are now supported as input.
  • PulseAudio devices are now supported as input too.

File formats and protocols

Adaptive Streaming

VLC 1.2 should support, at least partially:

  • HTTP live streaming, aka HLS, in both live and VOD mode;
  • MPEG DASH, aka Dynamic Adaptive Streaming over HTTP, in at least 2 profiles.

Those are still under heavy work, help is welcome.

File formats

First, we will have a completely rewritten support for still images playback. The removal of the old fake module should help to make simpler diaporamas with VLC.

Of course, VLC supports new formats, like caf, mtv, awb, f4v, amr, vro (DVD-VR), VDR recordings folders, EBU subtitles (stl). It also supports sid files, from Commodore 64.

The most important improvements to our existent formats should concern Matroska and TS.

A lot of work has been spent on our Matroska demuxer, to handle split-segments and correct seeking. There is still some work to do, but it should be light-year ahead of VLC 1.1.x.

For broadcast and professional people, in addition to the STL subtitles, we have now durations in the Mpeg2 TS files.


Finally, we've worked quite a bit on the Metadata support for most file formats.

APE tags, Ogg tags, seeking in flv, mxf, amr should be better supported. Also, as frequently requested, embedded cover arts in wmv, asf, wma are now correctly detected. The missing bits for cover art support are mainly for MKV and APE formats.

Styles for various subtitles formats are also better supported, especially for simple file formats.


Codecs support has also improved quite a bit, but that's for the next blogpost. :D