Pipeline vidéo WebCodecs borné et mesurable
Portée exacte
WebCodecs expose des encodeurs, décodeurs, trames et chunks bas niveau. Il peut utiliser les codecs disponibles et l'accélération de la plateforme, mais ne fournit pas à lui seul le démultiplexage, le multiplexage, une timeline ni l'interface d'édition.
Pipeline
fichier -> demux -> encoded chunks -> decoder -> VideoFrame
-> effets/rendu Worker ou GPU -> encoder -> chunks -> mux -> fichier
- Déplacer callbacks et transformations dans un Dedicated Worker.
- Transférer les
VideoFramequand possible ; fermer explicitement chaque trame dès qu'elle n'est plus utilisée. - Borner les queues selon
decodeQueueSize/encodeQueueSizeet ralentir la production : une file non bornée transforme un ralentissement en fuite mémoire. - Séparer aperçu interactif et export final ; leurs objectifs de résolution, qualité et latence diffèrent.
- Vérifier les configurations avec les méthodes de support avant de démarrer un job.
Compatibilité et repli
La disponibilité de l'API ne garantit pas celle d'un codec, profil, résolution ou mode matériel. Tester les combinaisons réellement supportées sur les navigateurs et appareils cibles. Le repli peut être un traitement serveur, un format d'import limité ou une voie WASM mesurée, avec un coût de téléchargement et de calcul clairement annoncé.
Tests
- Lecture et export longs, annulation, seek rapide, fichiers corrompus et mémoire après fermeture.
- Synchronisation audio/vidéo, cadence variable, orientation et métadonnées couleur.
- Temps jusqu'à la première image, images perdues, débit des queues, temps d'export et pic mémoire.