Le FLV est le conteneur Flash Video, orphelin depuis le jour où le greffon qui lui avait donné son nom a été éteint. Le MP4 est le conteneur MPEG-4 : ce qu'un téléphone enregistre, ce qu'un navigateur joue, et ce que presque tous les lecteurs ouvrent sans se faire prier. ffmpeg se tient entre les deux, et cette page dit exactement ce qui arrive à un fichier FLV en route vers le MP4.
Ce qui s'exécute quand un fichier FLV devient un MP4
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 MP4 revient, et aucun des deux fichiers n'est conservé. FLV vers MP4 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 MP4
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 MP4 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 MP4 commence et finit là où le FLV commençait et finissait.
Ce que la conversion FLV vers MP4 vous coûte
Chaque pixel, une fois de plus. Le FLV est décodé en images brutes puis réencodé en MP4 : 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 MP4 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 MP4, 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 MP4
Rien dans FLV vers MP4 n'aide un modèle de langue, et prétendre le contraire serait un argument de vente et non un fait. Un MP4, 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 MP4 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 MP4 sur le moteur réel avec un vrai fichier, ffmpeg a écrit 48 269 octets au format MP4 en 0,3 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 MP4 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 MP4 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 MP4 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 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.
FLV vers M4A : 27 912 octets en 0,2 secondes, vérifié par ffprobe.
Les autres routes vers MP4, et ce qu'elles ont mesuré
Parmi les routes publiées vers MP4, FLV est la cinquième plus grosse sortie des 11 mesurées. Les fichiers témoins diffèrent : ce classement porte sur la sonde et non sur votre document.
M4V vers MP4 : 45 683 octets en 0,3 secondes.
MPG vers MP4 : 49 380 octets en 0,3 secondes.
3GP vers MP4 : 45 683 octets en 0,3 secondes.
TS vers MP4 : 49 051 octets en 0,3 secondes.
GIF vers MP4 : 54 682 octets en 0,3 secondes.
Ce que nous ne prétendrons pas sur FLV vers MP4
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 MP4 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 MP4 est sorti à 0,3 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 MP4 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 MP4, 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 MP4 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 MP4 ne peut jamais coûter plus de 4 crédits. Le chiffre est sur le bouton avant que vous appuyiez.
Un encodage MP4 à 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 MP4 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 MP4 est une opération de conteneur et de codec, et le MP4 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 MP4 : les questions que l'on pose
Qu'est-ce qui convertit vraiment mon fichier FLV en MP4 ?
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 MP4 revient, et aucun des deux fichiers n'est conservé ensuite.
Combien de temps prend une conversion FLV vers MP4 ?
La sonde a mesuré 0,3 seconde pour 48 269 octets de MP4, 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 MP4 ?
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 MP4, 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 MP4 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 MP4 est-elle gratuite ?
Il y a une franchise gratuite chaque mois, et FLV vers MP4 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 MP4 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.