Le FLV est le conteneur Flash Video, orphelin depuis le jour où le greffon qui lui avait donné son nom a été éteint. Le WebM est un sous-ensemble de Matroska bâti pour les navigateurs, qui porte de la vidéo VP8 ou VP9, et la chose la plus lente à encoder sur cette machine, d'un facteur dix. ffmpeg se tient entre les deux, et cette page dit exactement ce qui arrive à un fichier FLV en route vers le WEBM.
Ce qui s'exécute quand un fichier FLV devient un WEBM
ffmpeg tenu sur un seul fil d'exécution, sur une machine que nous louons et que nous surveillons. Votre fichier FLV est envoyé une fois, ffmpeg s'exécute une fois, le fichier WEBM revient, et aucun des deux fichiers n'est conservé. FLV vers WEBM fait partie des 3649 paires sur lesquelles ce moteur a été sondé avec un vrai fichier, et c'est pour cela que cette page existe quand celles que la sonde n'a pas su prouver n'existent pas.
Ce qui survit du fichier FLV dans le fichier WEBM
Le rapport d'image du FLV. Le moteur met à l'échelle sur la plus petite valeur entre 1280 pixels et la largeur source, laisse la hauteur suivre, et l'arrondit à un nombre pair parce qu'un encodeur en 4:2:0 refuse un nombre impair. Un FLV déjà large de 1280 pixels ou moins n'est pas redimensionné du tout.
La piste audio, qui voyage dans le WEBM aux côtés de l'image. C'est toute la différence entre cette paire et l'envoi du même FLV vers un format audio, où l'image est jetée.
La durée et l'ordre des images. ffmpeg réencode le FLV, il ne le remonte pas : le WEBM commence et finit là où le FLV commençait et finissait.
Ce que la conversion FLV vers WEBM vous coûte
Chaque pixel, une fois de plus. Le FLV est décodé en images brutes puis réencodé en WEBM : ce que le FLV avait déjà perdu reste perdu, et cette passe ajoute ses propres pertes par-dessus. Passez un fichier quatre ou cinq fois dans la boucle et les dégâts se voient sans les chercher.
Toute largeur au-delà de 1280 pixels. Le moteur réduit le FLV à 1280 parce que le coût d'encodage grandit avec le nombre de pixels : une source 4K coûte environ seize fois une source 1080p, pour un WEBM que personne n'avait demandé si gros. En dessous de cette largeur, rien n'est touché.
Les pistes de sous-titres et de données. ffmpeg passe -sn et -dn à l'entrée du WEBM, parce que la plupart d'entre elles n'entrent pas dans le conteneur et qu'un multiplexage qui échoue sur un sous-titre gâcherait une image pourtant parfaitement convertie.
Tout ce qui dépasse 120 secondes de FLV. ffprobe mesure la durée avant que l'encodeur démarre, et un FLV plus long revient en refus en moins d'une seconde plutôt qu'en expiration quatre minutes plus tard.
Si un modèle doit lire le fichier WEBM
Rien dans FLV vers WEBM n'aide un modèle de langue, et prétendre le contraire serait un argument de vente et non un fait. Un WEBM, ce sont des pixels et du son, tous deux coûteux à lire et aucun des deux n'étant du texte. Si ce que vous voulez vraiment, c'est ce qui se dit dans le FLV, le bon geste n'est pas le WEBM du tout : extrayez la piste audio en MP3, ce qui coûte un demi-crédit et revient en une seconde environ, puis faites-la transcrire.
En passant FLV vers WEBM sur le moteur réel avec un vrai fichier, ffmpeg a écrit 46 828 octets au format WEBM en 1,1 secondes, machine par ailleurs au repos. C'est un fichier FLV un jour donné et non une moyenne, et c'est pourquoi le nombre est donné avec le fichier qui l'a produit.
Le verdict FLV vers WEBM a été obtenu par ffprobe, c'est-à-dire que le conteneur a bien été démultiplexé, reconnu sous le bon nom, et portait au moins un flux. Le contrôle employé compte, parce qu'ils ne prouvent pas tous la même chose, et un code de statut 200 ne prouve strictement rien sur ce que le fichier WEBM contient.
Le même fichier FLV, envoyé ailleurs
Les autres sorties que la sonde a mesurées à partir d'un fichier FLV, pour que le coût du choix du format WEBM se lise face à quelque chose. Les tailles ne se comparent pas d'un moteur à l'autre, chaque famille ayant été sondée avec son propre fichier témoin FLV.
FLV vers GIF : 173 530 octets en 0,1 secondes, vérifié par une signature de format.
FLV vers MP3 : 24 677 octets en 0,1 secondes, vérifié par ffprobe.
FLV vers MP4 : 48 269 octets en 0,3 secondes, vérifié par ffprobe.
FLV vers WAV : 267 342 octets en 0,1 secondes, vérifié par ffprobe.
FLV vers FLAC : 156 775 octets en 0,1 secondes, vérifié par ffprobe.
FLV vers OGG : 9 138 octets en 0,2 secondes, vérifié par ffprobe.
Les autres routes vers WEBM, et ce qu'elles ont mesuré
Parmi les routes publiées vers WEBM, FLV est la huitième plus grosse sortie des 9 mesurées. Les fichiers témoins diffèrent : ce classement porte sur la sonde et non sur votre document.
MKV vers WEBM : 50 360 octets en 1,0 secondes.
MOV vers WEBM : 48 054 octets en 1,0 secondes.
MPG vers WEBM : 48 686 octets en 1,1 secondes.
WMV vers WEBM : 45 388 octets en 1,1 secondes.
MP4 vers WEBM : 48 074 octets en 1,0 secondes.
Ce que nous ne prétendrons pas sur FLV vers WEBM
Un fichier FLV de plus de 150 Mo est refusé avant la fin de l'envoi plutôt qu'après, pour que vous n'attendiez pas un refus.
Une conversion FLV vers WEBM qui dépasse 240 secondes est tuée, et le processus ffmpeg avec elle. Une exécution abandonnée resterait posée sur l'un des deux cœurs de la machine jusqu'à ce que quelqu'un le remarque.
Le fichier FLV derrière la mesure de cette page, c'était 3 secondes de mire en 320 par 240 à 25 images par seconde, avec une sinusoïde sur la piste audio, fabriqué par ffmpeg pour la sonde elle-même. Voilà pourquoi FLV vers WEBM est sorti à 1,1 seconde, et ce n'est pas ce que fera votre fichier. La mesure prouve que la paire fonctionne et ne dit presque rien du temps que prendra la vôtre.
La vidéo est la seule chose sur ce site qui coûte réellement du temps machine, et le coût varie de deux ordres de grandeur selon l'encodeur que réclame le conteneur : sur cette machine, une minute de source 720p est sortie en AVI en 8,4 secondes et en WebM en 87, et la même minute en 1080p a pris 104 secondes. Comptez pour un WEBM entre une fraction de la durée du FLV et le double de celle-ci, pas le dixième de seconde du fichier de sonde.
Un FLV de plus de 120 secondes est refusé avant que le moindre encodage démarre, avec une réponse qui nomme les deux limites, 150 Mo et 120 secondes. Ce n'est pas une manœuvre commerciale : deux minutes d'encodage WEBM, c'est à peu près deux minutes de la seule machine qui existe, et le trafic en direct partage les deux mêmes cœurs.
FLV vers WEBM est la seule conversion d'ici qui ne soit pas facturée au tarif plancher. Elle coûte 2 crédits par minute de FLV, toute minute entamée compte, et comme le moteur refuse au-delà de 120 secondes une conversion FLV vers WEBM ne peut jamais coûter plus de 4 crédits. Le chiffre est sur le bouton avant que vous appuyiez.
Un encodage WEBM à la fois, et cela a été mesuré avant d'être décidé. Deux transcodages simultanés tiennent en mémoire, environ 320 Mo chacun, mais chacun passe de 104 secondes à 189 : cette machine manque de processeur, pas de mémoire, si bien que le débit gagne dix pour cent pendant que l'attente double. FLV vers WEBM fait donc la queue sur un seul créneau et abandonne au bout de 25 secondes plutôt que de s'empiler.
Rien ici ne lit ce qu'il y a dans le FLV. Pas de transcription, pas de détection de scènes, pas de résumé : FLV vers WEBM est une opération de conteneur et de codec, et le WEBM dit exactement ce que disait le FLV, dans un autre emballage. L'image est toute la marchandise.
Un fichier FLV à la fois, choisi dans le navigateur. Il n'y a rien d'autre à régler et rien d'autre à proposer.
FLV vers WEBM : les questions que l'on pose
Qu'est-ce qui convertit vraiment mon fichier FLV en WEBM ?
C'est ffmpeg qui s'en charge, tenu sur un seul fil d'exécution, sur une machine que nous louons et que nous surveillons. Ni astuce de navigateur, ni service d'un tiers : le fichier FLV est envoyé une fois, ffmpeg s'exécute une fois, le WEBM revient, et aucun des deux fichiers n'est conservé ensuite.
Combien de temps prend une conversion FLV vers WEBM ?
La sonde a mesuré 1,1 seconde pour 46 828 octets de WEBM, sur une mire de 3 secondes, et ce chiffre est honnête sur la tuyauterie et inutile sur votre fichier. Une cible vidéo réencode chaque image : comptez entre une fraction de la durée du FLV et le double de celle-ci. Le FLV est refusé au-delà de 120 secondes, donc le pire cas est borné.
Qu'est-ce que je perds en passant du FLV au WEBM ?
Celle qu'il faut connaître en premier : chaque pixel, une fois de plus. Le FLV est décodé en images brutes puis réencodé en WEBM, si bien que ce que le FLV avait déjà perdu reste perdu et que cette passe ajoute ses propres pertes par-dessus. Passez un fichier quatre ou cinq fois dans la boucle et les dégâts se voient sans les chercher.
Pourquoi mon WEBM est-il revenu plus étroit que le FLV ?
Parce que le moteur plafonne toute sortie vidéo à 1280 pixels de large. Le coût d'encodage grandit avec le nombre de pixels, et un FLV en 4K coûterait environ seize fois un 1080p sur une machine qui sert aussi tout le monde. Un FLV à 1280 pixels ou moins revient à sa taille, intact.
La conversion FLV vers WEBM est-elle gratuite ?
Il y a une franchise gratuite chaque mois, et FLV vers WEBM est la seule conversion d'ici qui ne soit pas facturée au tarif plancher : 2 crédits par minute de FLV, toute minute entamée comptée, plafonnés à 4 crédits puisque le moteur refuse au-delà de 120 secondes. Réencoder un WEBM coûte du vrai temps machine, le prix suit donc le temps qu'il coûte. Le chiffre est affiché avant que vous appuyiez sur quoi que ce soit.