Qu’est-ce qu’un fichier ASF ?
Advanced Systems Format est un conteneur multimédia de Microsoft pour l’audio, la vidéo et les métadonnées synchronisés. Il a été conçu particulièrement pour la diffusion en continu et est associé aux contenus Windows Media.
Fonctionnement des fichiers ASF
Un fichier ASF est une série d’objets, chacun commençant par un GUID qui l’identifie et une taille. Trois types se trouvent au niveau supérieur : un objet d’en-tête obligatoire au début du fichier, un objet de données obligatoire qui le suit et des objets d’index facultatifs à la fin. L’en-tête décrit le fichier et chaque flux, et peut aussi répertorier les codecs utilisés, des métadonnées descriptives telles que le titre et l’auteur, ainsi que des informations de protection du contenu. L’objet de données contient le média sous forme de paquets, chacun avec un horodatage de présentation, et un paquet peut contenir des données pour un ou plusieurs flux. Les flux peuvent utiliser n’importe quel format compressé ou non compressé, et un même fichier peut en contenir plusieurs, par exemple plusieurs flux audio ou de la vidéo à plusieurs débits binaires. Microsoft a conçu ce format pour la lecture depuis des serveurs multimédias et HTTP ainsi que depuis un stockage local.
Points clés
.asf,.wmaet.wmvcorrespondent à un même conteneur. Microsoft utilise.wmaet.wmvpour les fichiers ASF dont le contenu est encodé avec les codecs Windows Media Audio ou Video, et la Library of Congress répertorie.asfpour les fichiers sans flux binaires Windows Media. FFmpeg identifie le format en comparant le début du fichier au GUID de l’objet d’en-tête, et non d’après le nom du fichier. Sa constante pour ce GUID (vérifiée dans la version 8.0) est la valeur hexadécimale30 26 B2 75 8E 66 CF 11 A6 D9 00 AA 00 62 CE 6C, soit les mêmes octets que la Library of Congress répertorie comme signature pour.asf. Microsoft indique que l’objet d’en-tête est obligatoire au début de chaque fichier ASF ; la même vérification s’applique donc aux fichiers.wmaet.wmv.- Le conteneur ne détermine pas le codec. La présentation de Microsoft indique que les flux ASF peuvent utiliser n’importe quel format compressé ou non compressé ; deux fichiers ASF valides peuvent donc nécessiter des décodeurs entièrement différents, et un nom
.wmvou.wmaest une convention, pas une garantie. Analysez chaque flux avant de choisir entre remultiplexage et transcodage. - ASF peut contenir des DRM. Un objet de chiffrement du contenu ou un objet étendu de chiffrement du contenu dans l’en-tête signale un contenu protégé par la gestion des droits Windows Media, qui peut nécessiter une licence contenant une clé avant la lecture. Lorsqu’aucune clé de déchiffrement n’est fournie, le démultiplexeur ASF de FFmpeg (vérifié dans la version 8.0) détecte les deux objets et se contente d’avertir : « DRM protected stream detected, decoding will likely fail! » pour le premier et « Ext DRM protected stream detected, decoding will likely fail! » pour le second. Les deux messages sont journalisés au niveau
warningde FFmpeg ; un niveau de journalisation moins détaillé, tel queerror, les masque donc. Le démultiplexeur ne définit la métadonnéeencryptionque pour l’objet étendu ; pour le premier, il stocke à la place comme métadonnées les valeurs non vides deASF_Protection_Type,ASF_Key_IDetASF_License_URL. Recherchez l’un ou l’autre de ces avertissements, pas uniquement l’entréeencryption, et rejetez ces téléversements dès le départ au lieu de compter sur un transcodage. - Un fichier ASF qui s’ouvre n’est pas nécessairement complet ou indexé. L’objet d’index, qui permet un accès direct aux données selon le temps, est facultatif et se trouve en dernier, et Microsoft précise qu’un fichier partiellement téléchargé peut encore être lu tant qu’il contient l’objet d’en-tête et au moins un objet de données. Vérifiez la durée et le comportement de la navigation dans la chronologie sur les téléchargements tronqués et les enregistrements interrompus.
Quand les fichiers ASF sont utiles
Prenez en charge ASF lors de l’ingestion de fichiers et d’archives Windows Media anciens, qui arrivent généralement sous la forme .wmv, .wma ou .asf. Avant la conversion, vérifiez deux éléments que le conteneur seul ne vous indique pas : les codecs utilisés par les flux et la présence d’une protection DRM, car un contenu protégé peut nécessiter une licence avant sa lecture et FFmpeg avertit que son décodage échouera probablement. Pour la diffusion sur le Web, prévoyez un autre conteneur : le guide de MDN sur les conteneurs multimédias utilisés sur le Web ne comporte aucune entrée ASF et indique que MP4 et WebM sont pris en charge dans tous les navigateurs. MDN précise que cette prise en charge concerne uniquement le conteneur, pas un codec particulier ; les codecs que vous identifiez déterminent donc si les flux peuvent être copiés dans le nouveau conteneur ou doivent être transcodés.
Comment Transloadit vous aide avec les fichiers ASF
Le tableau des formats audio/vidéo de Transloadit, qui s’applique aux Robots basés sur FFmpeg tels que /video/encode et /audio/encode, répertorie asf comme un format que ces Robots peuvent lire et écrire sur chaque pile FFmpeg répertoriée.
Le tableau indique la prise en charge du conteneur par pile, pas un résultat testé pour chaque codec contenu dans un fichier ASF téléversé, et ne dit rien des fichiers protégés par DRM, pour lesquels FFmpeg lui-même avertit que le décodage échouera probablement. Testez des fichiers anciens représentatifs avant de vous fier à cette prise en charge.
Explorer les possibilités de Transloadit en matière de formats de fichiers et de compression
Références
- Microsoft Learn : présentation du format ASF (SDK Windows Media Format)
- Microsoft Learn : structure des fichiers ASF (Media Foundation)
- Description de format fdd000067 de la Library of Congress : ASF (Advanced Systems Format)
- FFmpeg 8.0 asfdec_f.c, lignes 196–203 : détection d’ASF par le GUID de l’objet d’en-tête
- FFmpeg 8.0 asf_tags.c, lignes 23–25 : octets du GUID de l’objet d’en-tête
- FFmpeg 8.0 asfdec_f.c, lignes 765–796 : avertissements de détection de DRM dans le démultiplexeur ASF
- Documentation des formats FFmpeg : démultiplexeur asf (section 3.4) et multiplexeurs asf, asf_stream (section 4.17)
- Documentation de l’outil FFmpeg : copie des flux et option générique -loglevel
- MDN : formats de conteneurs multimédias (index des conteneurs utilisés sur le Web)