Bonjour,
Pour bien choisir le logiciel de compression HAP, voici quelques clefs pour comprendre les compromis de qualités et performances lors de la restitution:
Le Hap est l'association de deux algorithmes de compression:
L'algorithme DTX de compression d'image 8 bits destructif: L'avantage des images DXT c'est qu'elles sont affichables nativement par les cartes graphiques sans avoir à les décompresser. Cela permet un gain de temps de décompression non négligeable ainsi qu'un gain de bande passante sur la carte graphique: DXT1 divise la taille en octet d'une image par 6, DXT5 par 4. Cependant la compression DXT sera toujours un peu décevante sur les dégradés: effets de bande.
L'algorithme Snappy de compression de fichier non destructif: L'avantage de Snappy c'est qu'il est très rapide a exécuter sur un processeur. S'il est découpé en chunk, la décompression peut être parallélisée sur plusieurs cœurs du processeur, ce qui décuple les performances de décompression.
A ce jour, il existe 4 modes de qualité pour le format HAP:
- Hap: (DXT1 une texture compressé RGB)
- HapAlpha: (DXT5 une texture compressé RGBA) (support de la transparence)
- HapQ: (DTX5 une texture compressé RGBA don l'usage de la couche Alpha est dévié pour "augmenter" la qualité du RGB, donc pas de support de la transparence en HapQ)
- HapQ Alpha (2 textures compressées, ce mode n'est pas lu par Smode à ce jour)
Attention: HapQ offre une meilleur qualité que le Hap quand l'image a de hautes fréquences (du détails et de forts contrastes). HapQ utilisant un espace colorimétrique non RGB (YCoCg) sa qualité sur les basses fréquences (léger dégradés dans l'image) laisse a désirer par rapport a son équivalent moins lourd Hap.
Tous les logiciels d'encodage HAP ne se valent pas:
Pour que les performances de restitutions soit bonnes, les chunks multiples doivent être supportés. L'encodeur DXT doit également être de bonne qualité pour minimiser au maximum les effets de bande lié à ce type de compression.
Voici donc quelques solutions logiciels par ordre de préference:
- Les logiciels qui supportent les plugins Quicktime comme After Effect ou Media Encoder d'Adobe.
Le plugins Quicktime HAP pour Windows offrant une très bonne compression DXT et modifié par Smode Tech pour bénéficier des 16 chunks est à télécharger ici:
http://download.smode.fr/utilities/HapQuickTimeSetup-SmodeTech.msi
user: smodevideo
password: 8k8k
- La version Mac du plugin Quicktime. Malheureusement ces versions officielles des plugins Quicktime ne supportent pas le multi chunks, ce qui pause problème pour profiter pleinement du CPU multicoeur lors du streaming de videos de grande résolution. Donc on préférera la version de Smode Tech le temps que les développeurs de chez Vidvox ai fixé ce point sur Mac.
https://github.com/Vidvox/hap-qt-codec/releases/tag/version-12
Il est également possible d'exporter du HAP et du Hap Alpha avec Smode (l'export en HapQ ou HapQ Alpha n'est pas disponible à ce jour). L'encodeur DXT de Smode repose sur Squish par defaut, offrant une meilleur qualité que celui fournis par les pilotes des cartes graphiques actuelles. Voici le lien vers la documentation:
http://smode.fr/doc/ref/how-to/export-a-video.htm
FFmpeg (https://ffmpeg.org/)
C'est un peu austère mais gratuit. Il supporte les chunks multiples. Il a un encodeur DXT rapide mais de piètre qualité. Voici les lignes de commande qui utilisent les différents formats HAP:
ffmpeg.exe -i %fichierVideoSource% -vcodec hap -format hap -chunks 16 %destination%
ffmpeg.exe -i %fichierVideoSource% -vcodec hap -format hap_q -chunks 16 %destination%
ffmpeg.exe -i %fichierVideoSource% -vcodec hap -format hap_alpha -chunks 16 %destination%
Bien cordialement.