lundi 28 juin 2010

Egaler le Player for AVCHD?




Le player for AVCHD dont je parlais dans mon précédent billet sait très bien lire aussi des vidéos HD qui se trouvent sur le disque dur. Pour en faire la démonstration, j'ai copié directement (via le couper coller de Windows) les dossiers AVCHD et AVF_INFO depuis la mémoire du caméscope (qui apparaît sous forme d'un périphérique amovible) vers la racine d'un de mes disques durs.

Lorsque je lance alors la commande Player for AVCHD, (via PMB Launcher, sous l'onglet Affichage), cette application lit la vidéo que je viens de recopier. La preuve en est que je peux débrancher le caméscope et que la lecture reste toujours possible. Elle est d'assez bonne qualité même sur mon ordinateur Pentium 4, aujourd'hui démodé, sous Windows XP SP3. Au passage, cela prouve que ce que je présumais dans un billet précédent est faux: il n'est pas nécessaire de faire l'hypothèse d'un traitement que subit la vidéo dans le caméscope. C'est forcément à la qualité intrinsèque du programme fourni par Sony que revient le mérite de cette relativement bonne lecture, bien meilleure en tout cas que ce que peut faite le lecteur Windows Media.

La question que je me pose, pour fabriquer des programmes nécessitant de lire des vidéos au format AVCHD, est de savoir si cette qualité est reproductible sous directshow, c'est-à-dire en composant un graphe avec des filtres appropriés et en le faisant jouer.

J'arrive assez facilement à reproduire le fonctionnement du lecteur Windows media, ce qui est sans surprise car ce dernier fonctionne sous directshow. Pour ce faire, j'ai pris soin d'installer sur mon système deux groupes de filtres directshow qui permettent de construire le graphe en question, à savoir Halli Media Splitter, qui est un filtre source combiné avec un splitter très bien adapté aux fichiers mts ou m2ts, et puis le fameux ffdshow qui permet dans ses versions récentes comme ffdshow-tryouts de décoder beaucoup de types de compression, dont le fameux MPEG-4 AVC utilisé dans la norme AVCHD.

On obtient alors le graphe très simple suivant (construit ici dans graphedit):


Ce graphe n'arrive pas bien loin chez moi puisque, exactement comme le lecteur Windows media, au bout de quelques secondes la vidéo se bloque et au mieux l'audio continue seul à jouer. Ce n'est donc manifestement pas comme cela que le Player for AVCHD fonctionne.

J'ai fait une petite découverte à ce propos (mais elle n'a peut-être rien à voir): avec PMB sont fournis toute une série de fichiers *.ax que l'on trouve chez moi dans le dossier d'installation, par exemple c:\Program Files\Sony\PMB et dans son sous-dossier TapeImporter.

Ces fichiers *.ax contiennent des filtres directshow, qui n'ont pas été installés sur mon système. A l'aide de mon utilitaire Filmerit, je les ai installés sur mon système et cela m'a donné 44 nouveaux filtres, tous classés dans la catégorie directshow, et - sauf pour trois d'entre eux - ayant un nom qui commence par Sony...

Pour être complet, les trois qui ne commencent pas par "Sony", s'appellent SGCtrl, Video Type Change et VMLib Filter. Je me demande si certains de ces filtres ne pourraient pas aider à former un graphe capable de lire aussi bien que Player for AVCHD.

En fait, rien n'est moins sûr, car ayant pris avec Filmerit une photo des filtres avant d'installer PMB et une autre après, il apparaît clairement que PMB n'installe aucune filtre directshow lors sur l'ordinateur. Donc soit il n'est pas basé sur la technologie de directshow, ce qui est probable vu qu'il n'est pas réservé à Windows mais doit aussi fonctionner avec Mac, soit il n'utilise que des filtres internes sans les installer dans le registre de Windows. Dans les deux cas, il sera difficile de reproduire le comportement de PMB ou de l'application Player for AVCHD.


dimanche 27 juin 2010

Lire des vidéos HD avec PMB

Sony fournit avec son caméscope HD le programme PMB, qui est souvent appelé sur Internet Picture Motion Browser, même si dans le programme lui-même seule l'appellation PMB est utilisée. Une fois installé sur l'ordinateur, il permet un certain nombre d'opérations et de traitements, notamment lire une vidéo HD, importer une ou plusieurs vidéos et photos depuis le caméscope vers l'ordinateur, inversement les exporter depuis l'ordinateur vers la mémoire du caméscope. On peut les uploader vers Youtube, Picasa ou Dailymotion. On peut créer toutes sortes de disques DVD ou au format ACHDV et pas mal d'autres choses plus secondaires.

Ma première impression de PMB est assez mitigée: sans que je lui demande quoi que ce soit, il se met à scanner des dossiers de mon disque dur pour identifier tout ce qui est vidéo ou image, et les cataloguer de la même façon que le ferait le logiciel Picasa de Google. Me voilà avec une interface beaucoup trop complexe dans laquelle je dois gérer et parcourir une foule d'images et de vidéos de mon ordinateur, alors que je voulais me concentrer sur les captures HD que je venais de transférer. Il faudra penser à désactiver quelque chose dans les options de PMB. En revanche, PMB est assez simple et facile à maîtriser lorsqu'on veut transférer des vidéos et photos depuis le caméscope vers l'ordinateur.

Curieusement, quand PMB transfère des vidéos depuis la mémoire du caméscope, il crée de nouveaux fichiers, apparemment différents de ceux qui se trouvent dans cette dernière, à savoir un fichier x.m2ts, un fichier x.modd et un fichier x.moff qui ont tous trois la même racine x mais des extensions différentes et qui se trouvent tous trois dans le même dossier.

Il n'est pas difficile de se rendre compte que x.m2ts est en fait l'exacte copie d'un fichier y.MTS qui se trouve dans la mémoire flash du caméscope. Voici par exemple les propriétés de deux fichiers qui se correspondent ainsi:


Le fichier qui se trouve dans la mémoire du caméscope a une racine qui est une numéro d'ordre à 5 chiffres, ici 00117 suivi de l'extension MTS. Sa date de création correspond à sa date de tournage, ici le samedi 19 juin 2010 à 22:31:12. Il pèse 136.249.344 octets.

Sans chercher bien loin, on trouve le fichier correspondant importé sur l'ordinateur:

On le repère d'abord par son nom, dont la racine est basée sur la date de capture: 20100619223112 suivie de l'extension .m2ts. On vérifie qu'il comporte exactement le même nombre d'octets.

Les deux autres fichiers créés par PMB ont la même racine, mais une extension différente.

S'agissant de celui qui a pour extension .modd, il est facile de voir en l'ouvrant par exemple avec notepad que c'est un fichier XML comportant un certain nombre de données relatives au clip vidéo considéré, y compris éventuellement les coordonnées GPS. En revanche, .moff reste incompréhensible quand on l'ouvre avec notepad.

On peut noter aussi que le fichier d'extension m2ts n'a aucune application associée dans mon système, mais qu'en revanche le fichier d'extension MTS affiche une icône du lecteur Windows Media. En réalité, quand je regarde dans les options des dossiers je constate que l'extension MTS n'est associée à rien, et si je clique avec le bouton droit sur un fichier MTS, aucune commande Ouvrir ne figure dans le menu contextuel.

Je tente néanmoins d'ouvrir les fichiers .mts ou .m2ts dans le lecteur Windows media: dans les deux cas, un message m'indique que les extensions ne sont pas reconnues par Windows media, mais qu'on peut essayer de l'ouvrir quand même. La vidéo s'ouvre alors effectivement dans le lecteur. L'audio joue normalement, mais l'image se bloque très vite au bout de quelques secondes. Voilà le symptôme redouté: mon ordinateur n'est même pas assez rapide pour lire une vidéo HD (ce qui nécessite de la décompresser en temps réel).

En réalité, PMB semble avoir des ressources que le lecteur Media n'a pas: si je double-clique dans PMB sur la vignette d'une vidéo HD, alors la vidéo joue complètement, certes dans une image de taille réduite et avec quelques saccades, mais c'est bien mieux que le lecteur Windows Media qui n'arrive plus à suivre après 4 secondes.

Il y a encore mieux: avec PMB est fourni un programme qui s'appelle PMB Launcher. Celui-ci sert de menu pour lancer toutes sortes d'application. Si je choisis la rubrique Affichage, on y trouve une commande Player for AVCHD. Lorsque le caméscope est branché sur l'ordinateur, cette commande semble considérer sa mémoire flash comme un disque AVCHD et affiche alors ses différents clips dans un menu. On peut donc les lire directement depuis la mémoire flash du caméscope dans le Player for AVCHD. Ma foi, c'est pas mal du tout, relativement fluide, sans blocage et même visible en plein écran.

J'ai du mal à imaginer comment cela se passe, mais pour avoir ce résultat je suppose que la vidéo est traitée en partie dans le caméscope lui-même, selon un processus qui ressemble à la lecture directe sur écran TV. Il doit donc avoir moins besoin de solliciter le processeur. Me voilà rassuré: il existe au moins un moyen de visualiser correctement des vidéos HD sur mon vieil ordinateur. Mais cela suppose de les lire directement depuis le caméscope.

samedi 26 juin 2010

Brancher le camescope sur l'ordinateur



Passée la prise en mains de mon nouveau caméscope, mon objectif est maintenant de voir comment on peut le relier à l'ordinateur et y traiter les fichiers vidéos HD.

La connexion se fait par un cordon USB, avec une prise mini-USB mâle pour la connexion sur le camescope. L'écran de l'ordinateur se met alors dans un mode figé, signalant le raccordement mais ne permettant plus d'utiliser le menu. La gestion doit se faire depuis l'ordinateur

Sur l'ordinateur, le caméscope apparaît sous Windows comme un "périphérique utilisant des supports amovibles" supplémentaire.



En fait il est au standard FAT32 et permet d'accéder en lecture et écriture à la mémoire flash. Chez moi, elle affiche 63.216.484.352 octets, soit moins que les 64Go annoncés si on prend la définition 1Go = 1024Mo = 1024*1024Ko = 1024*1024*1024 octets. De fait Windows ne lui donne que 58,8Go.


Autre remarque sur ce "disque": d'origine il ne comporte aucun nom de volume. On peut lui en donner un, ce qui permettra d'identifier plus facilement le caméscope dans l'explorateur de Windows quand il est raccordé. Ici je l'ai appelé "SONY HD". A noter qu'il est limité à 8 caractères.

Attention quand même à une difficulté: sur la mémoire flash du caméscope (celle qui apparaît maintenant comme le périphérique SONY HD sur mon ordinateur), la structure des dossiers et des fichiers est très particulière: si on repère assez vite des fichiers .MTS qui correspondent aux clips vidéos proprement dits et des fichiers .JPG qui correspondent aux photos, il y en a d'autres, notamment des fichiers .CPI ou MPL qui contiennent des informations sur les clips, et des fichiers INDEX.BDM et MOVIEOBJ.BDM qui contiennent probablement des données d'indexation. Modifier manuellement, ou effacer certains de ces fichiers est évidemment TRÈS DÉCONSEILLÉ, car cela pourrait rendre inutilisable toute la structure logicielle du caméscope et donc bloquer son fonctionnement.

Lire directement ces fichiers ou copier certains d'entre eux sur l'ordinateur pour ensuite les manipuler ne pose pas de problème, mais écrire directement sur la mémoire du caméscope est hautement dangereux et totalement à éviter. On dispose pour cela d'une application particulière PMB ( abréviation de Picture Motion Browser) que Sony fournit pour importer les vidéos et les photos sur l'ordinateur, et éventuellement les réexporter dans l'autre sens.

Première journée de capture

J'ai emporté mon nouveau camescope pour un dimanche en province où j'ai filmé différents épisodes de mes visites.

Je vous passe quelques surprises à propos de son fonctionnement, du genre le bouton marche/arrêt qui est remplacé par l'ouverture de l'écran ou du viseur. Il y a aussi des réglages d'usine qui ne me conviennent pas et qu'il faut changer à travers un menu tactile au fonctionnement d'abord un peu déroutant. Parmi ces réglages, il m'a fallu par exemple trouver comment désactiver la fonctionnalité qui enregistre une photo chaque fois que quelqu'un sourit!

Je découvre aussi après mes premières captures qu'elles n'ont pas été faites avec la qualité maximale 1920x1080 en 24Mbits/sec, mais seulement en 1440x1080. Je modifie donc manuellement ce réglage, car après tout si j'ai acheté un camescope HD, autant profiter de la qualité maximum!

Mais au total ce rodage se passe bien, et mon camescope revient le dimanche soir plein de souvenirs. Ils apparaissent sous forme de vignettes, une par scène, que l'on peut visualiser sur l'écran intégré. Bien entendu, c'est encore mieux de les visualiser sur ma TV écran plasma Full HD. Sauf que Sony n'a pas joint au package le cable HDMI qui le permettrait confortablement.
C'est un cable qui comprend d'un côté une prise mâle HDMI à brancher sur la TV et de l'autre une prise mâle mini HDMI, plus petite, à brancher sur le camescope. Pour être juste, d'autres possibilités de raccordement existent et sont fournies, donc la frustration n'est pas trop forte. Ce câble paraît cependant un achat complémentaire indispensable. Tout comme l'achat d'une batterie supplémentaire, car la capacité de celle qui est fournie d'origine (modèle NP-FV50) a été le facteur limitant pour ma journée de tournage.

Au bout du compte, le résultat sur ma TV a été tout à fait convaincant et démontre la supériorité du HD sur le DV: vidéos absolument non pixellisées même sur un très grand écran regardé de près, vidéo nativement au format 16x9, lecture directe possible de chaque scène sans devoir rembobiner ou avancer une cassette. La principale faiblesse reste à mes yeux dans les mouvements horizontaux de la caméra où l'entrelacement de l'image ne suffit pas à garantir une fluidité parfaite.

vendredi 25 juin 2010

Débuts dans la Haute Définition




Depuis plusieurs années, des utilisateurs me demandaient de développer mes logiciels comme ImageGrab ou DVDate pour la Haute Définition (HD). J'avais toujours répondu que je ne pouvais pas le faire tant que je ne serais pas équipé d'une caméra HD moi-même. En effet, je suis pour l'essentiel un programmeur expérimental qui teste des solutions en vraie grandeur sur son matériel.

Je vous avoue que j'avais en fait aussi une réticence pour me lancer dans la Haute Définition en raison de l'existence d'au moins deux standards (HDV sur cassettes et AVCHD sur disque dur ou mémoires flash) et des difficultés nombreuses que présente la HD pour le montage, surtout avec un ordinateur ancien comme le mien (Pentium 4, qui bénéficie certes d'une fonction d'Hyperthreading, mais loin d'être aussi puissante que les puces 4 coeurs récentes).

Je me suis néanmoins décidé il y a quinze jours à acheter un camescope Handycam SONY HDR-CX550VE qui enregistre en AVCHD sur une mémoire flash de 64Go. Ma motivation principale est liée au fait que mes deux camescopes DV (modèle DCR-PC101E) ont tous les deux soit une fatigue, soit même rendu l'âme au niveau du moteur d'entrainement de la cassette DV. C'est donc avant tout parce qu'il n'a pas de pièce mobile, comme un moteur de cassette, que j'ai opté pour ce type de camescope. Pour un prix inférieur j'aurai pu avoir le modèle équivalent avec un disque dur de 240Go, mais j'ai opté pour la mémoire flash, même limitée à 64Go, car elle me paraît moins fragile qu'un disque dur et aussi plus légère.

L'appareil a d'autres atouts, notamment un objectif d'angle beaucoup plus grand que les modèles DV ou que certains modèles HD concurrents. Il bénéficie des systèmes de stabilisation de l'image, de capture en basse lumière etc... qui se trouvent sur la plupart des camescopes Sony récents. A noter qu'il a un GPS intégré qui permet de géolocaliser ses prises de vue.

Bon, mais je ne suis pas là pour faire de la publicité à Sony. Vous pouvez voir une description complète du modèle en question ici. Mon message d'aujourd'hui se veut surtout une introduction aux billets qui vont suivre dans les jours à venir pour vous raconter mes premiers pas avec ce matériel.

Pour les curieux, je précise que j'ai acheté le camescope sur Pixmania qui l'a expédié par Colissimo. Pas de problème particulier à signaler chez Pixmania, toujours aussi correct. Le prix du camescope était intéressant par rapport à la concurrence et bénéficiait même d'une promotion au titre de vente flash (attention on pouvait tomber en même temps sur la page avec promo et celle sans promo, il faut donc bien vérifier si on a le meilleur prix du jour!). Attention aussi au fait que les accessoires me semblent plus chers chez Pixmania que sur d'autres sites. Je l'ai donc acheté nu. S'agissant de Colissimo, leur site permet un suivi efficace de la commande. Néanmoins il m'a indiqué deux jours de suite que la livraison n'avait pas pu être faite en raison de mon absence, alors que le livreur n'avait laissé aucune indication dans ma boite aux lettres, et que la plupart du temps quelqu'un était présent chez moi. Cela ne me paraît pas totalement convaincant. C'est donc avec trois jours de retard que le colis est arrivé.