Transcodage vs encodage — La différence et quand chacun s'applique

Transcodage vs encodage

Les termes sont souvent utilisés indifféremment. Au sens strict :

  • L’encodage est l’action de compresser des données vidéo brutes dans un format codec (par exemple H.264).
  • Le transcodage est l’action de décoder une vidéo déjà encodée puis de la ré-encoder vers un autre codec, conteneur, débit ou résolution.

La majorité de l’« encodage » sur les plateformes vidéo cloud est techniquement du transcodage — votre MP4 téléversé (déjà encodé par votre caméra ou NLE) est décodé puis ré-encodé en plusieurs variantes HLS.

Pourquoi les plateformes transcodent les uploads

Les fichiers source varient : 4K H.264, 1080p HEVC, 8K ProRes, AV1, VP9, codecs anciens étranges issus de vieilles caméras. La plateforme a besoin de :

  • Plusieurs variantes de résolution pour le streaming à débit adaptatif
  • Un codec prévisible pour la compatibilité du lecteur (généralement H.264)
  • Une sortie segmentée HLS plutôt qu’un MP4 unique
  • Optionnellement, le chiffrement appliqué pendant l’étape d’encodage

Pour produire tout cela, la plateforme décode la source (avec FFmpeg, GStreamer ou un décodeur matériel) et ré-encode — c’est-à-dire transcode.

Transcodage matériel vs logiciel

  • Transcodage logiciel (FFmpeg + libx264) — flexible, toutes plateformes, lent sur CPU. ~1× temps réel pour du 1080p H.264 sur CPU moderne.
  • Transcodage matériel (NVIDIA NVENC, Intel QuickSync, AMD VCN) — rapide, jeu de fonctionnalités fixe, GPU requis. AVCaption utilise NVENC à ~10-20× temps réel.

Le matériel est radicalement plus rapide mais légèrement moins efficace en compression à qualité égale. Pour une plateforme d’hébergement vidéo livrant rapidement plusieurs variantes, le matériel est le bon compromis.

Quand on dit « juste encoder »

Quand vous avez de la vidéo brute non compressée (par exemple depuis un frame-grabber ou un pipeline de rendu), encodage est le bon terme. Le pipeline d’AVCaption opère presque toujours sur des fichiers source déjà compressés, donc c’est du transcodage au sens strict.

Liens

← content.back_to_index