jb, 28y

Thursday, February 9 2012

It's over 20,000!

I did over 20,000 posts on the Videolan Forums to answer questions...

You can check my profile.

Of course, I am far under VLC_help, who is at 23,700+ posts, but still, it's not too bad...

A lot of trolls and misunderstanding are there too, because many people still do not understand the concepts of volunteer, open source and free. But well, haters gonna hate.

Monday, February 6 2012

VLC 2.0 pour MacOS X

Intro

La nouvelle version de VLC, nommée TwoFlower ou 2.0, apporte de nombreuses améliorations et modifications spécifiques à MacOS X. Ce petit article permet de passer en revue ces améliorations, qui sont souvent peu décrites dans les articles plus généralistes.

Ces dernières années, le développement de VLC sous OSX a été un peu chaotique et incertain, avec un vrai questionnement sur le futur du projet. Néanmoins, sur l'année passée, Félix, aidé par plusieurs autres développeurs externes, par le reste de l'équipe de VLC et par un jeune designer, a pris le taureau par les cornes. Il est évident que de nombreux bugs resteront sur les premières moutures, mais les versions devraient se suivre rapidement pour réparer vos bugs les plus gênants.

Nouvelle Interface

La modification la plus visible de Twoflower est la nouvelle interface. Cette interface remplace l'ancienne interface, qui datait des premières versions de OSX.

Tout d'abord, cette interface se présente en une seule fenêtre, pour mieux coller au look actuel des applis OS X. Ensuite, elle existe en deux couleurs: une version noire, qui ressemble au look QuickTime X, et une version grise, comme pour Lion. De plus, sous Lion, elle permet de choisir entre le plein écran natif Lion ou le plein écran classique de VLC.

La plupart des fenêtres utiles lors de la visualisation des vidéos, notamment les filtres audio et vidéo, ont migré vers le style gris transparent HUD. De nombreuses autres fenêtres ont évolués, mais sans bouleversement.

Extensions

La nouvelle interface supporte les extensions lua de VLC pour créer des nouvelles fenêtres et fonctionnalités, comme l'intégration IMDB, Wikipedia, OpenSubtitles et autres. Ce support a été fait tardivement dans le développement, donc une période de stabilisation sera probablement nécessaire.

Périphériques

Jusqu'ici, sous Mac, VLC ne pouvait lire que la webcam intégrée. À partir de VLC 2.0, un support générique des périphériques QTKit a été ajouté pour l'audio (QTSound) et pour la vidéo (QTCapture). Cela devrait permettre de visionner et de rediffuser les webcams externes USB et FireWire, les microphones ainsi que les cartes DVB et SDI compatibles.

Au niveau du support Blu-Ray, VLC 2.0 permet de lire des disques et des dossiers non chiffrés de façon limitée, sous Linux et Windows. Une fois que certains bugs seront résolus, cela devrait être aussi le cas sous MacOS X, mais probablement seulement sous Snow Leopard et Lion. Pour les Blu-Rays chiffrés, la bibliothèque libaacs, n'est pas encore porté sous MacOS X. Avis aux amateurs!

Codecs

La version MacOS X de VLC 2.0 bénéficiera du même support amélioré des codecs, des formats et des filtres vidéos que les versions des autres plate-formes. La partie la plus intéressante concerne le décodage multi-threadé des codecs majeurs pour profiter des machines modernes multi-cores. De nouveaux codecs sont supportés, comme le ProRes, l'AVC/Intra, les codecs 10bits et certaines nouvelles variantes WMV. Le support des formats de fichiers existants a aussi nettement été amélioré, notamment pour le MKV et le MOV.

Le décodage GPU sous OSX, aka VDADecoder, n'est pas de la partie dans cette version, pour des raisons de priorité de développement. Sébastien, développeur VLC, a porté le code dans FFmpeg, mais la partie VLC n'est pas encore prête. On espère que cela arrivera dans une version mineure suivante.

Sortie vidéo

La sortie vidéo, en OpenGL a subit quelques modifications, simplifications et améliorations. Dorénavant, les sous-titres sont rendus à la taille de la fenêtre de sortie, quel que soit la source et directement fusionnés avec la vidéos en OpenGL. Cela améliore la qualité et la netteté des sous-titres. De plus, l'utilisation de fragment shaders pour faire les conversions d'espace de couleurs, même lorsque la source est en 10bits, devrait améliorer les performances.

Support OS X et PowerPC

Cette version 2.0 est compatible Leopard, Snow Leopard et Lion. La version intel 64 bits est la version prioritaire pour Snow Leopard et Lion, car elle seule a le support natif du plein écran sous Lion. La version intel 32 bits fonctionne quant à elle aussi sous Leopard. Il existe toujours une version powerpc pour Leopard, mais qui n'est testée que sous G5, faute de matériel. Cette version powerpc supporte aussi le multi-threading pour le décodage des formats HD, pour ne pas jeter tout de suite les derniers Mac Pro G5 ;) Il est cependant possible que la prochaine version majeure (2013?) ne supporte plus cette architecture.

Le futur

Plusieurs pistes de travail sont en cours: finir l'interface et la peaufiner pour palier aux manques qui seront forcément présents dans les premières versions, travailler sur le support Blu-Ray qui reste trop basique, intégrer le code pour le décodage GPU et changer la licence de VLCKit vers la LGPL afin de permettre de construire des applications non-GPL au-dessus du moteur de VLC.

Nota Bene: Cet article a été écrit par mes soins et donné gracieusement à MacBidouille et Mac4ever.

Wednesday, December 14 2011

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.

Monday, December 5 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

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

Saturday, December 3 2011

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.

Monday, November 28 2011

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.

- page 1 of 36


Jean-Baptiste KEMPF | jean-baptiste.kempf _(at)_ via.ecp.fr | Powered by Chaussure | xHtml et CSS valide