Keyword - Linux

Entries feed - Comments feed

1 February 2016

15 years of VLC and VideoLAN

15 years!

Today marks the 15th anniversary of VLC!



Technically, today is the 15th anniversary of the relicensing of all the VideoLAN software to the GPL license, as agreed by the École Centrale Paris, on February 1st, 2001.


If you've been to one of my talks, (if you haven't, you should come to one), you know that the project that became VideoLAN and VLC, is almost 5 years older than that, and was called Network 2000.

Moreover, the first commit on the VideoLAN Client project is from August 8th 1999, by Michel Kaempf had 21275 lines of code already, so the VLC software was started earlier in 1999.

However, the most important date for the birth of VLC is when it was allowed to be used outside of the school, and therefore when the project was GPL-ized: February 1st, 2001.

Facts and numbers

Since then, only on VLC, we've had around,

  • 700 contributors,
  • 70000 commits,
  • at least 2 billion downloads,
  • hundreds of millions users!

And all that, mostly with volunteers and without turning into a business!

We have now ports for Windows, GNU/Linux, BSD, OS X, iPhone and iPad, Android, Solaris, Windows Phones, BeOS, OS/2, Android TV, Apple TV, Tizen and ChromeOS.


If you read this blog, you know that we're working hard on VLC 3.0, to unify most of our mobile ports, adding more GPU decoding, better adaptive streaming and ChromeCast integration.

We're still here and working for our users.


So, for all our users supporting us, I just want to say: thank you!


17 December 2015

Announcing VLC for Chrome OS

VLC on ChromeOS

ChromeOS is one of the last Operating Systems where you could not run VLC and play all your media as you wished. :)

Even worse, it was the only significant Desktop Operating Systems that we did not support (so far, VLC exists for Windows, OS X, Linux, BSD, Solaris, OS/2, Haiku/BeOS, ReactOS).

At the same time, VLC for Android is quite popular and is supported on most phones and tablets, and is currently being expanded to Android TVs or other forms of Android.

Today, I'm pleased to tell you that you can use it now! DOWNLOAD!


Android Runtime on Chrome

A few months ago, the Chrome team announced the possibility to run some Android applications on Chrome OS using the new Android Runtime for Chrome. Starting from that moment, we wanted to support this runtime.

Why did we want ARC support?

VLC is mostly a native application on all ​platforms​, using low-level APIs to output video, audio and get access to threads. VLC is using mostly C, C++ and hand-crafted ASM to get the best performance, as required for a realtime application.

Therefore, it's currently impossible to port VLC to Javascript and other Web technologies (or FirefoxOS). It might be possible in the future, but this is off-topic. :D

Usually, the mobile ports of VLC, like VLC for Android, VLC for iOS or Windows phone, use the native language of the platforms to create the interfaces and the media database.

For ChromeOS, the only solution we saw, before ARC was announced, was using PPAPI, NaCL and Javascript, but that would require to rewrite a complete interface in Javascript and would be a bit problematic for the database. That work would have taken months of work.

Therefore the ARC solution was a blessing, and helped us to recycle 95% of the Android code and optimizations we did in the last months (some are not released yet).
Of course, some work was required, nothing is magical, but way less than other solutions.


VLC on ChromeOS supports:

  • all video files supported in VLC, including MKV and DVD ISOs,
  • all audio files supported in VLC, including FLAC and other weird audio formats,
  • subtitles files, from SRT to SSA and with auto-detection, when possible,
  • a media database like on Android and iOS to select the right medias, and resume playback,
  • playback of streams, local and on the internet, include adaptive streaming like HLS or DASH,
  • we also support playlists, accelerated playback, audio equalizer, audio/video synchronization and hardware accelerated video/audio decoding.

Chrome video listing

Open Source and Free Software

As everything VideoLAN is doing, VLC for ChromeOS is completely free and open source.

We would LOVE help to improve this port! Join the community, fork the code and send patches!

The source code is licensed under the GPL (v2 or later) and is currently distributed as GPLv3, like VLC for Android.


The current version was tested on the 2 ChromeBooks we had access to:

  • a Chromebook Pixel,
  • an HP Chromebook 14.

It is possible that there are issues with other machines, and we ADVISE to use the latest Chrome 48 or the current beta version, to test VLC.

Please report the bugs, if you can!

Nota Bene: ChromeBit

Currently, the Chromebit by ASUS is untested, because it seems to be not available in France yet, and ASUS did not answer to our query to get access to one.

Any testing on this would be welcome!

Nota Bene 2: ARChon

In the same way, ARChon Runtime is currently not supported, because it was not tested at all.

Help on this is welcome too!


You can download it here!

Be careful, it's just the first release, but for now, Enjoy!

26 October 2015

This week in VideoLAN - 23

23rd week of VideoLAN reports

Yet another week, another new weekly report about the VideoLAN community and the VLC development community.

Features and changes


Protocol Redirections

We've added support for inter-module redirections.
In the past, the HTTP or FTP redirections were only done in the same module. That caused limitations, if we wanted for example to redirect to a different protocol, like HTTP-> FTP or HTTP -> HTTP2.
Now, a redirection will spawn a new module, that can support a different protocol.

OS X notifications

In the past, we've supported only Growl for notifications on OS X.

Since quite a few versions, OS X supports native notifications. So we've added support for those notifications. Growl is still possible as a fallback.
Those notifications are only visible if VLC is in the background, of course.

Evas video output

As you've probably seen, on this blog, lately, we've done a EFL/EMotion backend.

This was the first step, but it was done with a memcpy at every frame, which is BAD and SLOW.

Therefore, we've added a new video output to VLC, based on Evas, the canvas library of EFL. It supports directly YUV, RGB, and TBM (Tizen Buffer Manager).

We also added a new libVLC call, so you can get VLC to draw directly in an Evas Object: libvlc_media_player_set_evas_object.

We will use that for our Tizen port of VLC.

Subtitles font fallback

VLC font rendering engine was never good for non-western languages.

A few month ago, we've added support for harfbuzz to shape CTL correctly.

This week, Salah-Eddin added support for font fallback to our Freetype module, for Linux, Android and Windows.

On the following example, we have Korean, Japanese and Chinese characters:


This is how it used to render for 2.2.x: Without-fallback.png

Cool, no?

Core input

The week actually started with a rework of the demux controls in the core. This makes stream, the access and the access_demux modules more similar and simplifies the code.
Moreover, sometimes the demuxers can seek even if the access cannot (or the other way around); those cases should behave correctly now.

The old caching module was fixed when seeking near the end of the file. This was the cause of the WMA regression on the latest Android versions (1.6.x up to 1.6.4).


The ALSA device selection was fixed so that the "default" choice is always available. And the ALSA device selection menu was fixed too.

As usual, we've added misc changes in the mp4 demuxer, the OS X interface, the playlist demuxer.
Also the nightly builds on Windows were updated to more recent 3rd party libraries, notably codecs.


After last week, we kept on doing small bugfix releases for VLC/Android: we've published 1.6.5, 1.6.6 and during the last week.

The bugfixes are focused on seeking, small crashes and Android TV remote events.

We've added optional buttons to seek in the video player, like in the Beta application, like this: Nexus5_SeekButtons.jpg

We've rewritten the preferences view by using the new Android Preferences view supplied by appcompat 23.1. It should fix a few bugs we had, notably the title color of the preferences. It should also give us a slightly better Android TV preferences dialog.

For the next release, we've rewritten the MediaSession control using the new MediaSessionCompat. This means a new notification, new lock screen integration, better integration with external devices, and probably a good step on the road to Android Auto.

Finally, we've removed a permission for Android TV: AUDIO_RECORD.


This week, we released VLC for iOS 2.6.6, fixing numerous crashes and adding support for SSA styled subtitles.

Besides that, there was nothing very visible on iOS this week, because most of the work was done to support Apple TV, in the same codebase.

This mostly involves splitting some logic from the views and rewriting most of the views.
It also requires modifications of some of the external libraries, notably to support the cloud services.

And of course the usual fixes for UPnP browsing.

We've also had a few small commits in DVBlast, VLC/Tizen and VLC/WinRT.

That's pretty good for this week! See you soon!

27 February 2008

MacBook install: triple boot: linux, windows, Mac OS

This details the installation of a MacBook white, shipped in the beginning of 2008.

Set up Mac OS X


First before anything, update to the latest MacOS X.5.2, and all the necessary downloads... Reboot as many times as needed


Then, install VLC, Firefox 3 béta, Adium and Xcode if you need it.


Quite easy, so far, no ?

Install Windows XP

Be sure to have your Windows XP SP2 CD and a legit license number.


Go to spotlight, look for Boot Camp assistant or find it from your Applications folder.

  • Run it.
  • Prepare a disk space for Windows ( 16GB is ok, I think )
  • Quit and re-run it.
  • Install Windows with your CD Rom inside.
  • Reboot and wait during all the Windows installation that is long and needs a couple of reboots. Mine did fail once, for no obvious reasons.

Windows XP

Once you have your complete Windows XP installation, you will see a Boot Camp icon on your task bar. Keep it.

  • Put the Apple OS X CD-ROM in, and let it do all the installation of the drivers. It may require some reboots, but at the end, you have a very new and completely functional Windows XP!
  • Reboot
  • Do your Windows Update and reboot and again, and reboot, and again... Until nothing appears there.
  • Launch the Boot Camp assistant and Default Mac OS HD

Mac OS again

Reboot to mac OS. Be pleased.


This should work with any distribution and was tested with Debian and Ubuntu


  • Go to Applications/Utils and launch Disk Tool
  • Split and resize the main partition in order to have a new partition that you name Linux and format in HFS. (16GB here)
  • Check everything.

Reboot on linux

  • Put your linux live CD and reboot
  • Press `C` to boot on the CD
  • Launch your live-CD and install linux.


During the install I deleted the new partition and added two in place:

  • One root partition /
  • One swap 1GB
  • Finish everything, reboot

You should be careful to install your grub in your linux partition and NOT in the MBR, to let reFit do it correctly.


On Mac OS X, install rEFIt and configure it quite quickly.

Reboot and use rEFIt to boot on linux using the "option" key.

Configure linux

You have all you want working except the wireless... Which is a Broadcom BCM4328

sudo apt-get install ndiswrapper-utils-1.9

Find in your Windows partition your wireless drivers:

sudo su

cp -r /media/Windows/WINDOWS/DRVSTORE/bcmwl5_**/ /root/

mv bcmwl5_*** bcmw

cd bcmw

ndiswrapper -i bcmwl5.inf

ndiswrapper -l

ndiswrapper -m

modprobe ndiswrapper



Uncomment what is needed in your sources.list.



If you have any issues, like not having the linux partition shown anymore, reinstall grub on your linux partition with a live-CD.

19 December 2007

Nouveaux systèmes d'exploitation, Multi-Processeurs et Virtualisation

Dernièrement, plusieurs systèmes d'exploitation sont sortis, en version finale ou en version de test. Outre les habituels ajouts de pilotes, type de matériel et des nouvelles technologies, les fonctionnalités de gestion des multiprocesseurs et de virtualisation sont de plus en plus appréciées et regardées de près, comme les dernières sorties nous le montre.

En effet, puisque les puces augmentent moins en fréquence qu'en nombre de cœurs (comme les processeurs Core 2 Duo, Core 2 Quadro, Niagara, Power6, et Phenom), les système doivent apprendre à gérer, pour des applications personnelles ( et non seulement professionnelles), plusieurs processeurs (SMP).

Ensuite, la grande tendance actuelle du monde professionnel, qui maîtrise le SMP depuis des années, est la montée en puissance des environnements de para-virtualisation, tels que Xen, par rapport à des solutions de virtualisation native comme VMWare, VirtualPC ou Parallels. Ces solutions offrent presque la même flexibilité d'administration et d'abstraction des machines pour les systèmes d’exploitation.

Ainsi, la virtualisation native, qui simule intégralement le hardware, permet de faire tourner n'importe quelle système sur son hyperviseur, mais au prix de performances globalement moins bonnes que les solutions de para-virtualisation, puisque la traduction est intégrale.

Par contre, un système de para-virtualisation n'expose que l'ABI de l'hyperviseur aux systèmes hôtes, et nécessite donc une modification des systèmes hôtes. Par contre, une fois modifiés, ces hôtes peuvent avoir des performances proche des performances natives, même sous une architecture difficilement virtualisable comme l'est l'Intel x86. Cette vision intéresse le secteur IT parce que le compromis entre choix de systèmes et performance-flexibilité est très avantageux.

Ainsi, Oracle VM et Sun xVM, ont été annoncés il y a quelques semaines, et sont toutes les deux des solutions de virtualisation basées sur l'hyperviseur de Xen.

De même, les divers systèmes d'exploitation professionnels commencent à intégrer ces fonctionnalités de façon native: • NetBSD, un des derniers grands système d'exploitation de type BSD encore en développement vient de sortir une nouvelle version: 4.0. NetBSD 4.0, qui conserve sa stabilité et sa portabilité (plus de 54 plateformes supportées pour cette nouvelle version), met l'accent sur l'intégration du support pour le para-virtualiseur Xen dans sa version 3.

• OpenBSD, célèbre pour sa stabilité et sa sécurité a sorti sa dernière version (4.2), début novembre, en annonçant un meilleur support pour les systèmes multiprocesseurs et multi-cœurs, tout en continuant son support des divers virtualiseurs, commencé l'année dernière.

Linux, dans ses noyaux 2.6.23 (début octobre) et 2.6.24 (release candidate n°5), a ajouté, dans sa branche stable, un hyperviseur simple, lguest, a intégré le support complet de Xen en tant que client et a amélioré le support en tant qu'hôte dans une virtualisation. En outre, Linux, a ajouté un nouvel ordonnanceur « juste » ( pour remplacer celui de la branche 2.6, en O(1) ) afin d'améliorer à la fois la réactivité pour les utilisateurs, mais aussi afin d'ajouter des fonctionnalités pour améliorer les performances sur des système multi-cœurs et pour réordonnancer les tâches par groupes.

• Microsoft Server 2008 a, quant à lui, atteint sa RC1, version de test ouverte à de nombreux professionnels alors que la sortie officielle sera faite courant février. Outre des très nombreuses nouvelles fonctionnalités, l'intégration de « Hyper-V », dont la première version publique vient de sortir, est probablement la fonctionnalité la plus recherchée par les professionnels. Hyper-V est un système 64-bit de virtualisation de type partitionnement de système d'exploitation, qui n'est pas une virtualisation, mais se rapproche plus d’un partitionnement de type chroot, connu dans le monde Unix depuis longtemps.

16 November 2007

Oracle Open World 2007, San Francisco

Les annonces se sont multipliés, pendant l'Oracle Open World, le show annuel à San Francisco, du géant du logiciel.

Oracle a annoncé son offre de Virtualisation, nommée Oracle VM. Basée sur Xen, le logiciel libre de virtualisation, sous licence GPL, ce nouveau serveur sera supporté par Oracle, pour toutes les applications, celle de l'éditeur comme les autres et peut faire fonctionner Linux et Windows. Les bases de données d'Oracle, les applications Fusion et les autres applications d'Oracle seront donc certifiées pour fonctionner avec ce serveur de Virtualisation, mais ne seront plus supportées dans les autres environnements de virtualisation, tels que VMWare, Citrix ou Microsoft. Ce changement n'avait pas été anticipé par les acteurs habituels.

Oracle a aussi profité de cet événement pour annoncer que son offre « Unbreakable Linux », lancé il y a 9 mois, a déjà conquis plus de 1500 clients sur RedHat, ce qui dépasse les prévisions. En outre, Oracle a annoncé une modification de son service de support, qui sera personnalisé pour chaque entreprise, puisque ses clients pourront envoyer à Oracle les informations sur leur environnement.

Du côté des applications, les bases de données d'Oracle, et leur version 11g, le cœur de métier d'Oracle n'ont pas été en reste, avec un accord avec Cisco pour créer un protocole accéléré pour les liens dans les clusters de bases Oracle RAC. Les autres applications seront, quant à elles, probablement intégrées peu à peu dans le Framework Fusion. Oracle a aussi mis l'accent sur sa participation à l'initiative OpenSocial lancée par Google, et sa probable intégration dans ses applications de CRM.

Enfin, Oracle a confirmé son offre d'achat pour BEA Systems, mais pour un prix par action légèrement inférieur à celui précédemment annoncé, et inférieur aux attentes de BEA Systems.

Chose étrange, Dell et Sun a profité de l'événement pour faire des annonces qui ne sont aucunement liés à Oracle. Dell a profité de son passage à San Francisco, pour présenter un nouvel ordinateur de salon orienté grand public et un nouveau Tablet PC. Dell a aussi rappelé son engagement écologique avec sa "green initiative" et son nouveau program Greenprint. Sun a annoncé pour sa part un accord avec Dell, pour distribuer OpenSolaris sur les serveurs Dell PowerEdge. Sun a aussi dévoilé Sun xVM, une nouvelle famille de produit de virtualisation pour serveurs x86 et Sparc, et a fait écho aux annonces d'Oracle.