À propos du projet
Ce dépôt offre une introduction douce et pratique à la technologie vidéo numérique destinée principalement aux développeurs et ingénieurs logiciels, mais accessible à toute personne souhaitant apprendre. Il explique les concepts fondamentaux à l'aide d'un vocabulaire simple, d'éléments visuels et d'exemples pratiques.
Les principaux sujets abordés incluent :
- Terminologie de base : représentation des images sous forme de matrices, modèles de couleurs RGB, profondeur de bits, résolution, ratios d'aspect (DAR et PAR), fréquences d'images, débit binaire (CBR et VBR), et balayage entrelacé versus progressif.
- Élimination de la redondance : exploitation de la sensibilité visuelle humaine à la luminance plutôt qu'à la chrominance, le modèle de couleurs YCbCr, la sous-échantillonnage de la chrominance (par exemple, 4:2:0), et les types d'images (I-frames, P-frames, B-frames).
- Internes des codecs vidéo : un pipeline de codec générique incluant le partitionnement d'images, les prédictions (inter et intra), les transformations, la quantification, le codage entropique (VLC, CABAC, CAVLC), et les formats de flux binaires comme H.264. Il traite également de la manière dont H.265 obtient de meilleurs ratios de compression que H.264.
- Streaming en ligne : architecture générale, téléchargement progressif, streaming adaptatif, et protection du contenu (DRM).
Le guide comprend des sections pratiques nécessitant Docker, utilisant des versions conteneurisées de FFmpeg et MediaInfo pour inspecter les propriétés vidéo, générer des histogrammes, visualiser les vecteurs de mouvement et analyser les flux binaires. Il fournit également des notebooks Jupyter pour l'apprentissage interactif avec Python, NumPy et Matplotlib. Le contenu est disponible en plusieurs langues, dont l'anglais, le chinois, le japonais, le coréen, le russe, le portugais et l'espagnol.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.