Skip to content
JeanYves-LG edited this page Feb 20, 2024 · 48 revisions

FFMPEG video codec version 1 (FFV1) (codec) Statut

Description

FFV1 est un codec vidéo sans perte et open-source qui a été développé spécifiquement pour la conservation à long terme des archives audiovisuelles. Il utilise une compression sans perte, ce qui signifie qu'il permet de conserver toute la qualité d'une vidéo d'origine tout en réduisant considérablement la taille du fichier.

L'avantage principal du FFV1 est sa fiabilité et sa réversibilité. En effet, il permet de stocker et de restituer les vidéos exactement comme elles étaient à l'origine, sans aucune perte de qualité ou altération, même après de nombreuses manipulations. FFV1 utilise une compression intra-cadre, ce qui signifie que chaque image est compressée séparément plutôt que d'utiliser des informations de référence entre les images successives. Cela permet d'éviter la propagation des erreurs de compression d'une image à une autre.

Créé en 2003 par le développeur Michael Niedermayer afin de disposer d'un format de flux audio open source pour le logiciel ffmpeg, FFV1 définit un algorithme de compression sans perte intra-trame (la compression est interne à chaque image, à l'inverse de la compression inter-trames, qui élimine la redondance sur une succession d'images). Cette compression permet d'atteindre un ratio de compression de 40 % par rapport au même flux non compressé. FFV1 s'appuie sur des technologies éprouvées et déjà anciennes pour éviter les risques liés aux brevets logiciels (CPO-LIB).

Qualité et caractéristiques du flux

Dans le cas d'un format de flux ou « codec », mentionner ici les caractéristiques minimales et maximales de qualité permises par le format (profondeur et fréquence d'échantillonnage, nombre de canaux, etc.).

Le flux vidéo d'un fichier FFV1 peut présenter toutes les tailles, de la SD (720x480 ou 720x576) à la 8K.

FFV1 gère les images en niveaux de gris, YUV et RVB, avec ou sans canal alpha (transparence), sans limitation en matière de profondeur d'échantillonnage (en pratique, on constate des valeurs de 8 à 16 bits par composante).

Sociabilité

FFV1 est également compatible avec de nombreux logiciels et systèmes d'exploitation, ce qui facilite son utilisation et son intégration dans les workflows de conservation et de diffusion des archives audiovisuelles. En résumé, le FFV1 est un codec vidéo sans perte très performant et fiable, qui garantit la conservation à long terme des vidéos tout en permettant une réduction significative de la taille des fichiers. C'est une solution idéale pour les projets d'archivage et de préservation du patrimoine audiovisuel.

Bien qu'il ne s'agisse pas d'un format de diffusion, plusieurs outils grand public sont capables de le lire (VLC, Windows Media Player) ou l'exploiter (VirtualDub, outil de montage simple).

FFV1 est très largement utilisé par les institutions de conservation pour les images animées (New York Public Library, British Film Institute, la Cinémathèque française, etc.) et les prestataires de numérisation vidéo (par ex., MWA Services).

Relations à d'autres formats

Le flux audio accompagnant le flux vidéo FFV1 peut être un flux PCM non compressé ou être encodé en FLAC (Free Lossless Audio Codec).

Versions

Les versions de FFV1 sont les suivantes : 1.0 : Première version stable de FFV1, publiée en 2003.

1.1 : Version améliorée de FFV1, publiée en 2006. Elle a apporté des modifications mineures au format.

2.0 : Version majeure de FFV1, publiée en 2010. Elle a introduit plusieurs améliorations significatives, notamment la prise en charge de la compression intertrame et la possibilité d'inclure des métadonnées associées à la vidéo. Cette version n’est plus utilisée.

3.0 : Version majeure de FFV1, publiée en 2013. Elle a ajouté de nouvelles fonctionnalités, telles que la prise en charge des images en niveaux de gris et des images avec des palettes de couleurs.

Il convient de noter que FFV1 est développé et maintenu par la fondation FFmpeg, et ces versions représentent les points de référence principaux de l'évolution du codec, cependant les différentes versions sont incompatible entre elles.

La version actuelle est la version 3.

  • La version 0 ne gérait que du 8 bits par composante ;
  • La version 1 a supprimé cette limitation, permettant ainsi de gérer théoriquement n'importe quelle profondeur d'échantillonnage ;
  • La version 3 ajoute la gestion de plusieurs « pavés » par image.

(La version 2 a été abandonnée avant d'être publiée.)

Contrairement à AVC/H.264 ou ProRes, le format FFV1 ne définit pas de profils de performance.

Conteneur

On détaille ici la nature des contenus additionnels embarqués (CPO-ADD) et leurs usages. La section en lien Métadonnées internes fournit plus de détails sur ce type de contenu précis.

Dans le cas d'un format conteneur, on précisera les formats ou les codecs embarqués des différents flux de données. Dans le cas d’un codec, on précisera dans quels conteneurs il peut être embarqué, et s’il existe un rapport particulier avec l’un d’eux.

Organisme de maintenance et documentation de référence

Depuis 2021, FFV1 fait l'objet d'une RFC (norme d'Internet maintenue par l'IETF) : RFC 8493, de statut informational.

Cette section donne l'identifiant du standard / de la norme décrivant le format ou à défaut son site officiel, ainsi que, le cas échéant, de la documentation additionnelle ou des études exhaustives sur le format dans une perspective de préservation à long terme.

Chaque ressource web doit avoir été collectée par Internet Archive ; la référence doit mentionner à la fois la ressource dans cet entrepôt et l'URL actuelle de la ressource. Ex. :

Dans le cas où l'URL n'a pas été collectée par IA, se rendre sur le site et demander la collecte en entrant l'URL dans la fenêtre de texte en bas à droite, intitulée "Save page now".

Identifiants

On indiquera dans cette section le(s) identifiant(s) correspondant au format dans les registres de formats Sustainability of Digital Formats de la Bibliothèque du Congrès, Wikidata, PRONOM de The National Archives et le wiki Just Solve the File Format Problem.

Extension(s) : on indique ici la ou les extensions officielles ou fréquemment utilisées.

Registre Identifiant
Wikidata Q579857
Bibliothèque du Congrès fdd000341
PRONOM
Just Solve the File Format Problem FFV1

Caractéristiques techniques

Le découpage de l’image (Slices)

Les différents découpages autorisés sont :

4 6 9 12 15 16 20 24 25 28 30 35 36 40 42 45 48 49 54 56 60 63 64 66 70 72 77 80 81 84 88 90 91 96 99 100 104 108 110 112 117 120 121 126 130 132 135 140 143 144 150 153 154 156 160 165 168 169 170 176 180 182 187 190 192 195 196 198 204 208 209 210 216 220 221 224 225 228 231 234 238 240 247 252 255 256 260 264 266 270 272 273 276 280 285 286 288 289 294 299 300 304 306 308 312 315 320 322 323 324 325 330 336 340 342 345 350 352 357 360 361 364 368 374 375 378 380 384 390 391 396 399 400 405 408 414 416 418 420 425 432 435 437 440 441 442 448 450 456 459 460 462 464 468 475 476 480 483 484 486 493 494 496 500 504 506 510 513 520 522 525 527 528 529 532 540 544 546 550 551 552 558 560 561 567 570 572 575 576 580 588 589 594 598 600 608 609 612 616 620 621 624 625 627 630 638 640 644 646 648 650 651 660 665 667 672 675 676 680 682 684 690 693 696 700 702 703 704 713 714 720 725 726 728 729 735 736 740 744 748 750 754 756 759 760 768 770 775 777 780 782 783 784 792 798 800 805 806 810 812 814 816 819 825 828 832 836 837 840 841 850 851 858 861 864 868 870 874 875 880 884 888 891 896 897 899 900 902 910 912 918 920 924 925 928 930 936 943 945 946 950 952 957 960 961 962 966 972 975 980 984 986 988 989 990 992 999 1000 1008 1012 1014 1015 1020 1023

A noter que plus le découpage est important et plus l’encodeur (et le décodeur) utilisera des ressources machine et le temps de codage / décodage sera important.

FFV1 permet d'associer à chaque pavé (slice) une empreinte CRC-32. Ce mécanisme d'empreinte numérique interne renforce sa résilience (CPC-ROB). Lors de l'encodage avec l'outil ffmpeg, il est nécessaire de spécifier l'option -slicecrc 1 pour activer ce mécanisme dans le fichier produit.

L'algorithme de compression FFV1 est relativement simple (CPO-SIM), comparé notamment à l'algorithme JPEG 2000 sans perte, donc plus rapide que lui et avec un ratio de compression légèrement supérieur (CPO-COM). Le ratio de compression entre le format de flux vidéo V210 et FFV1 est approximativement de 65% (le débit de FFV1 étant variable, cette valeur peut varier selon le contenu des images).

Chaque image (frame) du flux FFV1 est découpé en pavés (slices) qui peuvent disposer chacune d'une empreinte CRC-32 (CPO-ROB). Ce découpage permet également le multi-threading, donc l'accélération des processus d'encodage et décodage si le matériel le permet.

On décrira ici les caractéristiques techniques ayant un impact sur la durabilité des données, en particulier sur les critères de compacité (CPO-COM, notamment le ou les algorithme(s) de compression disponibles), simplicité (CPO-SIM), mécanismes de protection (CPO-PRO), robustesse (CPO-ROB), transparence (CPO-TRA) et indépendance / autonomie (CPO-AUT).

Résolution SD (720 x 576) Résolution HD (1920 x 1080)
Cadence / Espace colorimétrique Poids estimé pour 1 heure Poids estimé pour 1 heure
FFV1 25i 422 10 bits 42 Go 140.6 Go
FFV1 25i 420 8 bits 28 Go 82.3 Go

Métadonnées internes

Lorsque le format peut embarquer des métadonnées internes, qu'elles soient descriptives, de provenance ou techniques, on signalera dans cette section le type d’information et le formalisme de ces métadonnées.

Outils connus par la BnF

L'outil FFPLAY est capable de lire divers types de fichiers audio et vidéo. Il prend en charge de nombreux codecs et formats de conteneurs, à fortiori les codecs de FFMPEG. FFMPEG permet aussi de convertir tout type de fichier pivot dans le codec FFV1 pour toutes les versions.

L'outil d'analyse et d'extraction de métadonnées techniques pour la BnF est MediaInfo, qui dispose d'une sortie native dans le format de métadonnées de caractérisation préféré par la BnF, MPEG-7.

L'outil ffmpeg permet le décodage et la conversion de ce format vers des formats de diffusion, comme par exemple le MP4 H.264.

Le logiciel MediaConch de MediaArea permet de valider les fichiers FFV1, ce logiciel est proposé en GUI et en CLI. MKV Validator permet de valider des fichiers MKV.

FFV1 est le codec privilégié de l'outil libre ffmpeg.

La société MediaArea, sponsorisée par de nombreuses institutions de conservation internationales, a développé l'outil RAWcooked qui permet de convertir un flux vidéo brut (une séquence d'images en TIFF ou DPX) vers un fichier MKV FFV1 FLAC. (Cette transformation est intégralement réversible.)

On citera dans cette section les outils que la BnF considère comme particulièrement utiles pour réaliser :

  • la caractérisation ;
  • la validation du format ;
  • et, le cas échéant, la production ou la migration.

On mentionnera si l'une des versions de l'outil est préférable à une autre.

Usage ou présence dans les collections de la BnF

Le Codec FFV1 sera utilisé pour la numérisation des bandes EIAJ et 1 Pouce IVC de la BnF. Ces bandes magnétiques datant des années 70 ne pourront être lues qu'une seule fois en raison de la difficulté de lecture de ces supports fragiles.

Cette section décrit le ou les usage(s) majoritaire(s) du format à la BnF, et signale dans quels cas des fichiers de ce format ont intégré les collections de l'établissement.

Clone this wiki locally