La rubrique « Krilleye » contient les articles affichés ci-dessous.
Publié le dimanche 5 avril 2009,
2 commentaires
Après de longues semaines de silence, je reviens ici avec ma première application Mac. Il ne s'agit encore que d'une maquette: elle fait ce que je souhaitais qu'elle fasse mais de nombreuses améliorations restent possibles.
De quoi s'agit-il ?
En quelques mots, Krilleye est un convertisseur de séquences AVCHD issues de certains camescopes numériques récents.
Krilleye offre deux fonctions principales. La première est l'archivage du contenu du camescope dans une image disque de type sparseimage. Cela permet de retrouver toutes les séquences et toutes les photos dans leur qualité d'origine. De plus lorsque l'image est montée sur le bureau, l'importation des séquences dans iMovie ou des photos dans iPhoto est aussi simple que si le camescope était branché.
La deuxième fonction est la conversion des séquences choisies en un petit format, avec une résolution de 480x270 pixels et une taille environ dix fois moindre. Cela permet une manipulation beaucoup plus facile, notamment pour le web ou le mail, avec une qualité qui reste acceptable pour une utilisation familiale.
Pour télécharger la version 0.1, cliquez sur ce lien : Krilleye-0.1.zip.
Le code source est disponible sur Google Code à : http://krilleye.googlecode.com/.
Du besoin à la solution
Il y a quelques mois, j'ai fait l'acquisition d'un camescope AVCHD. Je savais que l'application iMovie savait manipuler ce format. Après quelques essais, j'ai été assez déçu. Voici quelques raisons :
- D'abord, iMovie n'archive pas les séquences AVCHD d'origine. Il les transforme en un autre format, l'AIC (pour Apple Intermediate Codec), certes plus facile à monter mais aussi beaucoup plus gourmand en espace sur le disque dur. Au rythme où les films de famille s'accumulent, j'allais rapidement être envahi par des téraoctets de disques durs.
- Ensuite, il n'est pas facile d'envoyer à la famille ou aux amis des films HD de plusieurs dizaines de mégaoctets qu'ils ne pourront de toute façon pas visionner en qualité optimale sur leur ordinateur.
- Enfin, iMovie a du mal avec les séquences non entrelacées (1080p). Les images sautent rapidement du présent au passé puis au futur de façon très désagréable.
Peu à peu, en apprivoisant le camescope en en observant ce que j'en faisais, j'ai affiné mes deux besoins principaux :
- D'une part, je voulais conserver les originaux AVCHD, de la même manière que je conserve mes photos originales au format RAW. Si un jour prochain je veux faire un montage des meilleurs moments que j'ai filmés, j'ai besoin que les rushes soient de la meilleure qualité possible. Il est probable aussi que mon prochain ordinateur sera capable de les lire aussi facilement qu'un simple morceau de musique aujourd'hui.
- D'autre part, je voulais être capable de retrouver et visionner n'importe quelle séquence aussi facilement que je le fais avec mes photos. Quelques clics avec l'Apple Remote et me voici dans Front Row à revoir les premiers pas de la petite dernière ! Je voulais aussi envoyer par mail des séquences choisies, qui allaient donc se retrouver sur divers ordinateurs plus ou moins puissants. J'ai rapidement remarqué que le format HD n'était pas encore pratique pour cela. Sur Mac, seul VLC sait lire des séquences AVCHD, et encore avec de nombreuses saccades. Les autres formats sont beaucoup trop lourds à mon goût. En conséquence de tout cela, j'avais besoin de convertir mes séquences AVCHD en quelque chose qui soit beaucoup plus passe-partout, fût-ce au détriment de la qualité originale.
Les premiers mois, je réalisais l'archivage et la conversion manuellement : D'abord j'ouvrais l'utilitaire de disque pour créer une image de disque FAT32, puis j'y copiais le contenu du camescope par glisser-déposer. Ensuite je réalisais la conversion en petit format (parmi les applications qui savent faire cela, il y a MovieConverter qui inclut un module AVCHD gratuit nommé SuntaicHD), enfin j'importais les séquences converties dans iPhoto.
Mais cela ne me satisfaisait pas, il y avait beaucoup trop de manipulations à faire. Je voulais quelque chose de plus facile, intuitif et automatique qui pourrait être utilisé par n'importe qui. J'ai donc cherché comment faire une application Cocoa qui réalise toute seule ce que je faisais à la main. Voici donc ce que j'ai trouvé :
- Ma première piste fut les crédits et les liens de MovieConverter. En particulier, xport, ldecod et FFmpeg. Pour moi, ce n'étaient que des noms, je n'avais aucune idée de comment m'en servir dans un terminal ni comment les combiner ensemble pour obtenir un clip MOV ou AVI à partir de mes fichiers MTS. Je ne savais pas non plus comment intégrer un outil en ligne de commande à une application Cocoa, en particulier vis-à-vis du projet Xcode.
- Pour ce dernier point, Un article d'Apple me fut très utile. Il s'agit de : Building an Open Source Universal Binary.
- La façon d'utiliser FFmpeg et d'autres outils pour décoder une séquence AVCHD me fut expliquée dans un forum d'AVS, dans un fil intitulé : AVCHD .m2ts conversion for Linux. Attention, ce fil est une mine d'or pour le décodage AVCHD ! Un autre fil qui m'a été utile a été publié sur un forum de VideoLAN. Il s'agit de : .MTS (AVCHD/H.264) conversion?
C'est en mélangeant toutes ces informations et en les combinant avec d'autres ressources sur Cocoa que je suis finalement arrivé à produire Krilleye ! Maintenant, j'attends vos retours avec impatience. L'aventure ne fait que commencer.
Télécharger : Krilleye-0.1.zip
Accès au code source : http://krilleye.googlecode.com/