Planet VideoLAN
Welcome on Planet VideoLAN. This page gathers the blogs and feeds of VideoLAN's developers and contributors. As such, it doesn't necessarly represent the opinion of all the developers, the VideoLAN project, ...
January 26, 2012
Felix Paul Kühne
VLC 2.0-RC1 for Mac
VLC 2.0 reached the Release Candidate milestone. RC1 builds for Mac are available here.
Please note the following:
You use Mac OS X 10.6 or 10.7 on a Core2Duo, Xeon or Intel i3/i5/i7? Get the "intel64" binary.
You still use Mac OS X 10.5 on Intel or a CoreDuo CPU (first Intel-based machines introduced by Apple a few years ago)? Get the "intel32" binary.
You want to use VLC on a PowerPC-based Mac? Get the "powerpc" binary.
The "intel32" binary will also run on Mac OS X 10.7, but you'll miss a few features, so be sure to get the "intel64" package.
Of course, the actual release will handle this selection automatically for the non-tech savvy users.
To have a look at the changes and new features, check this list!
Please also note that the execution of VLC 2.0 so-called Hackintosh devices and within virtualized Mac OS X installation will likely fail due the lack of hardware graphics acceleration (called "Quartz Extreme").
Enjoy this preview release and feel free to file bugs or regressions in the comments or on our bug tracker. There are a few known issues left. Prior to reporting, please check this list.
January 15, 2012
Felix Paul Kühne
VideoLAN at SCALE 10x
VideoLAN will have a booth at SCALE 10x, the Southern California Linux Expo, at the Hilton Los Angeles Airport Hotel this week. The event takes place next week-end from January 20-22.
The booth (#74) will be manned by Rémi Denis-Courmont and me. Feel free to drop by and have a look at our forthcoming 2.0 release of VLC media player!
December 23, 2011
Jean-Paul Saman
Gitolite and SELinux
Letting gitolite, git-daemon, gitweb and SELinux play well together needs some careful thought. Although most of the hard work is already done you still need to tweak the permissions a little. Especially when the git repository is not stored under /var/lib/gitolite. In the following discussion I assume that the gitolite repository is installed under /home/git or /home/gitolite.
The gitolite installation manual does a good job of giving a step by step instruction. What it does not describe is the SELinux settings needed to let it work together. The following instructions have been performed on a Fedora 16 system, but should hold true for any other SELinux enabled system.
Gitweb and SELinux
Gitolite plays well together with gitweb. However there are a couple of caveats you need to know.
To enable gitweb to browse the gitolite user directory you must follow the instructions from the gitolite manual. Which among other things tell you to perform the following:
Add git (or gitolite) user to the httpd group:
$ usermod -a -G httpd git
Allow the group to browse the git home directory.
$ chmod g+rx /home/git
In addition to that you must allow the httpd daemon to browse the git home directory.
Check the SELinux permissions for httpd and git:
$ getsebool -a | grep httpd
$ getsebool -a | grep git
And especially these settings:
$ getsebool httpd_enable_homedirs
httpd_enable_homedirs --> off
$ getsebool git_system_enable_homedirs
git_system_enable_homedirs --> off
Make sure the httpd daemon can browse the directory /home/git (or /home/gitolite) with:
$ setsebool -P httpd_enable_homedirs on
Do the same for git:
$ setsebool -P git_system_enable_homedirs on
The -P option of 'setsebool' ensures that this settings is retained over reboots of the server.
Another issue is that each time you add a new repository to conf/gitolite.conf, commit it to your working copy and then push it to the remote repository, then the file 'project_list' gets rewritten and the SELinux permissions are put back to default. I have not found a way to automate this yet, so it needs to be done manually as root each time a new repository is added:
$ chcon -t httpd_sys_content_t projects_list
December 14, 2011
Jean-Baptiste Kempf
VLC 1.2: nouveautés
Un an et demi après la dernière version majeure (1.1.0), VLC revient avec une nouvelle version: 1.2.0, disponible en pré-version de test. L'occasion de revenir sur les nouveautés de cette version.
Avec près de 8000 changements fait par 150 développeurs, 600 bugs fermés et près de 200 000 lignes de code modifiées, cette version est une des versions les plus importantes de VLC. Plus d'informations sur les contributeurs de VLC 1.2.
De son petit nom "TwoFlower" (qui vient de l'univers DiscWorld), les principales nouveautés de VLC portent sur les sorties vidéos, les nouveaux codecs, le support des Blu-Ray et les interfaces.
Nota Bene: ce post est un écrit qui a servit de base à un article de PCINpact que vous trouverez en ligne.
Coeur Vidéo
Les modifications les plus importantes, mais aussi moins visibles, portent sur la réécriture du coeur vidéo et les modules d'affichage à l'écran.
Sous-titres
Dans les versions actuelles de VLC, les sous-titres textes ont souvent une mauvaise qualité de rendu, notamment lors de visionnage de vidéo SD sur des écrans HD. En effet, pour des raisons de performance, VLC rend les sous-titres à la taille de la vidéo, puis les intègre dans la vidéo avant de les passer à la carte graphique en une seule texture, qui fait le scaling de l'ensemble. Dans certains cas, les sous-titres sont crénelés et de mauvaise qualité.
Sous TwoFlower, un nouveau mode de rendu est possible: VLC envoie 2 textures à la carte graphique, une pour la vidéo, à sa taille d'origine et une pour les sous-titres, à la taille de l'écran. La carte graphique se charge du scaling de la vidéo et d'afficher l'ensemble. Le résultat est bien plus agréable, mais demande du matériel plus récent.
Ce nouveau mode de rendu est disponible pour les sorties Direct3d pour Windows, OpenGL pour Linux et MacOS X et x11 pour Linux.
Shaders, 3D et performance
Le nouveau coeur vidéo permet aussi des améliorations de performances en déchargeant plus de calculs sur le GPU, lorsque cela est possible.
Par exemple, l'utilisation de shaders ARB dans la sortie vidéo OpenGL permet de faire les conversions YUV vers RGB sur le GPU, même en profondeur de 10 ou 12bits.
De plus, les bases des shaders sous Direct3d et de l'affichage 3D ont été ajoutés pour les prochaines versions. Un fork de VLC permet déjà l'affichage 3D sous nVidia Stereo Vision.
Filtres vidéos
VLC 1.2 voit l'ajout de nombreux filtres vidéos, certains connus, comme hqdn3d (suppression du grain), ou gradfun (suppression des gradients), d'autres originaux comme un nouveau filtre de grain, un filtre d'inverse téléciné ou un filtre de stabilisation pour les caméscopes.
Codecs, Formats
VLC TwoFlower, comme à chaque version, apporte le support de nombreux nouveaux codecs, formats de fichiers et périphériques.
Un support limité des Blu-Rays est donc intégré sur toutes les plate-formes. La configuration est compliquée et peu documentée, et une grosse proportion des Blu-Rays n'est pas supportée du tout. Les menus ne sont pas activés non plus. Ceci étant dit, c'est un premier pas.
L'ajout des protocoles de streaming adaptatifs HLS et DASH, des périphériques de capture de vidéo sous MacOS et des cartes d'acquisition professionnelles de types SDI viennent compléter le tableau au niveau du support des périphériques et protocoles.
Codecs
Au niveau codecs, le décodage multi-coeur est dorénavant possible et activé en H.264, DivX, VP3/Theora, Jpeg2000 et Webm/VP8, ce qui peut apporter des améliorations très importantes en performance, notamment en Full-HD. VLC était, sur ce point là, bien en-dessous des packs de codecs du style CoreAVC.
Autre ajout important, notamment pour les professionnels et les fans d'animation japonaise, les codecs en profondeur 10bits, en H.264, Jpeg2000, DNxHD et ProRes sont dorénavant décodés et correctement affichés.
En plus du support de nouveaux codecs, de très nombreuses améliorations ont été apportés à l'existant, notamment au niveau décodage audio et sous-titres HD, au support des méta-données, des codecs RealVideo, des images fixes et des formats Matroska et MPEG-2 TS.
Enfin, le décodage matériel est dorénavant supporté pour les cartes CrystalHD et les smartphones avec OpenMax IL, sous Android.
Interfaces
Les interfaces de VLC ont toujours été les parents pauvres de ce logiciel, notamment sous Mac OS X.
Cette version introduit donc une réécriture complète des interfaces Mac OS et Web.
L'interface Mac OS se présente dorénavant en une seule fenêtre, avec une barre latérale, comme iTunes ou Mail. 2 styles sont possibles dans les préférences: le noir de QT X et le gris de Lion. La plupart des fenêtres secondaires utilisent la transparence...
Ports
La version 1.2 de VLC apporte le portage de VLC sous iOS, Android, OS/2 et Windows 64bits.
Pour cela, le coeur de VLC a été adapté, des sorties audio et vidéo pour iOS, Android, OS/2 et Direct2d ont été ajoutées, et de nombreuses optimisations assembleurs ARM, ont été écrites.
libVLC en LGPL
La dernière chose importante de VLC 1.2.0, c'est le passage du coeur de VLC (libVLCcore et libVLC) de GPLv2 vers LGPLv2.1. Cela permet aux développeurs utilisant une autre licence que la GPL d'utiliser le moteur de VLC.
December 05, 2011
Jean-Baptiste Kempf
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
Blu-Ray
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.
DVDs
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.
Metadata
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
Codecs support has also improved quite a bit, but that's for the next blogpost. :D
December 03, 2011
Jean-Baptiste Kempf
Disc libraries releases: bluray, aacs, dvdcss
So, we are working quite actively on VLC 1.2. Many improvements were merged into VLC 1.2, notably for DVD and Blu-Ray playback.
Therefore, there were a few releases of libraries used by VLC, lately.
libbluray 0.2.1
A contrario of this weird number, this is actually the first release of libbluray that is usable.
libbluray is an open-source library designed for Blu-Ray Discs playback for media players, like VLC, xine or MPlayer.
It could be seen as the equivalent to libdvdnav, but for Blu-Ray Discs.
libaacs 0.3.0
In spite of this weird number too, this is actually the first release of libaacs.
libaacs is an open-source library implementing the AACS specification, for all systems, for interoperability.
True, stand-alone, it is of very little use :D
libdvdcss 1.2.11
I am, de facto, the new maintainer of libdvdcss. Congratz to me!
Therefore, I've done a release: 1.2.11.
This is just a boring release, just to incorporate patches and small maintenance, but shows that the project is still alive.
Other libraries
I just wanted to mention that:
- libdvdnav 4.2.0
- libdvdread 4.2.0
- libdvbpsi 0.2.2 (not disc related)
were released too, in the last weeks.
Those projects are still alive and maintained. Cool.
November 28, 2011
Jean-Baptiste Kempf
Who wrote VLC 1.2?
VLC 1.2
So, VLC 1.2.x is approaching. But who wrote it? Here are some statistics computed by Rémi. You need iframe to read this.November 02, 2011
Jean-Paul Saman
Multimedia Summit 2011
In Prague (Czech Republic) the Multimedia Summit was held as part of the Kernel Summit. It was good to meet the developers of the Video4Linux subsystem in the Linux kernel. VLC uses the v4l2 interfaces (and libv4l2) for capturing from WebCams and any other capturing devices supported on Linux.
In recent years the v4l2 subsystem has gotten a boost in development and specification, especially since Hans Verkuil started developing a test suite for it. By inviting multimedia applications to the summit the next step in further fostering this subsystem has been made. For us userspace application developers knowing how a kernel subsystem like v4l2 is progressing is makes a ton of difference in supporting it.
The renewed interested in the v4l2 subsystem by not only desktop multimedia applications, but also by embedded SoC/DSP vendors is a vote for confidence in the current maintainers. SoC, DSP and DVB vendors are converging in supporting v4l2 as a standard API to driver their capture, DVB-S/C/T, hardware- decoders and encoders. This is a win for not only desktop but also for the embedded world. Finally there is going to be a sane API for all multimedia related hardware and software.
I really applaud to this trend and hope it will continue for years to come.