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. Le 3GP est le conteneur vidéo des téléphones d'avant qu'ils enregistrent en MP4. ffmpeg se tient entre les deux, et cette page dit exactement ce qui arrive à un fichier MP4 en route vers le 3GP.
Ce qui s'exécute quand un fichier MP4 devient un 3GP
ffmpeg tenu sur un seul fil d'exécution, sur une machine que nous louons et que nous surveillons. Votre fichier MP4 est envoyé une fois, ffmpeg s'exécute une fois, le fichier 3GP revient, et aucun des deux fichiers n'est conservé. MP4 vers 3GP 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 MP4 dans le fichier 3GP
Le rapport d'image du MP4. 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 MP4 déjà large de 1280 pixels ou moins n'est pas redimensionné du tout.
La piste audio, qui voyage dans le 3GP aux côtés de l'image. C'est toute la différence entre cette paire et l'envoi du même MP4 vers un format audio, où l'image est jetée.
La durée et l'ordre des images. ffmpeg réencode le MP4, il ne le remonte pas : le 3GP commence et finit là où le MP4 commençait et finissait.
Ce que la conversion MP4 vers 3GP vous coûte
Chaque pixel, une fois de plus. Le MP4 est décodé en images brutes puis réencodé en 3GP : ce que le MP4 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 MP4 à 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 3GP 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 3GP, 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 MP4. ffprobe mesure la durée avant que l'encodeur démarre, et un MP4 plus long revient en refus en moins d'une seconde plutôt qu'en expiration quatre minutes plus tard.
D'où viennent les fichiers MP4 et 3GP
3GP. Le conteneur 3GPP, fait pour les téléphones sur les réseaux 3G : petites images, débits faibles, et le format de toute vidéo tournée avant 2012 environ. C'est du MP4 en dessous, avec des contraintes plus serrées.
Si un modèle doit lire le fichier 3GP
Rien dans MP4 vers 3GP n'aide un modèle de langue, et prétendre le contraire serait un argument de vente et non un fait. Un 3GP, 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 MP4, le bon geste n'est pas le 3GP 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 MP4 vers 3GP sur le moteur réel avec un vrai fichier, ffmpeg a écrit 45 545 octets au format 3GP en 0,3 secondes, machine par ailleurs au repos. C'est un fichier MP4 un jour donné et non une moyenne, et c'est pourquoi le nombre est donné avec le fichier qui l'a produit.
Le verdict MP4 vers 3GP 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 3GP contient.
Le même fichier MP4, envoyé ailleurs
Les autres sorties que la sonde a mesurées à partir d'un fichier MP4, pour que le coût du choix du format 3GP 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 MP4.
MP4 vers GIF : 164 004 octets en 0,2 secondes, vérifié par une signature de format.
MP4 vers MP3 : 24 780 octets en 0,2 secondes, vérifié par ffprobe.
MP4 vers WAV : 266 318 octets en 0,1 secondes, vérifié par ffprobe.
MP4 vers FLAC : 156 949 octets en 0,1 secondes, vérifié par ffprobe.
MP4 vers OGG : 9 186 octets en 0,1 secondes, vérifié par ffprobe.
MP4 vers M4A : 27 723 octets en 0,2 secondes, vérifié par ffprobe.
Les autres routes vers 3GP, et ce qu'elles ont mesuré
Parmi les routes publiées vers 3GP, MP4 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.
AVI vers 3GP : 48 093 octets en 0,3 secondes.
FLV vers 3GP : 48 131 octets en 0,3 secondes.
GIF vers 3GP : 54 564 octets en 0,3 secondes.
MKV vers 3GP : 45 947 octets en 0,2 secondes.
MOV vers 3GP : 45 545 octets en 0,3 secondes.
Ce que nous ne prétendrons pas sur MP4 vers 3GP
Un fichier MP4 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 MP4 vers 3GP 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 MP4 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 MP4 vers 3GP 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 3GP entre une fraction de la durée du MP4 et le double de celle-ci, pas le dixième de seconde du fichier de sonde.
Un MP4 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 3GP, 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.
MP4 vers 3GP est la seule conversion d'ici qui ne soit pas facturée au tarif plancher. Elle coûte 2 crédits par minute de MP4, toute minute entamée compte, et comme le moteur refuse au-delà de 120 secondes une conversion MP4 vers 3GP ne peut jamais coûter plus de 4 crédits. Le chiffre est sur le bouton avant que vous appuyiez.
Un encodage 3GP à 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. MP4 vers 3GP 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 MP4. Pas de transcription, pas de détection de scènes, pas de résumé : MP4 vers 3GP est une opération de conteneur et de codec, et le 3GP dit exactement ce que disait le MP4, dans un autre emballage. L'image est toute la marchandise.
Un fichier MP4 à la fois, choisi dans le navigateur. Il n'y a rien d'autre à régler et rien d'autre à proposer.
MP4 vers 3GP : les questions que l'on pose
Qu'est-ce qui convertit vraiment mon fichier MP4 en 3GP ?
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 MP4 est envoyé une fois, ffmpeg s'exécute une fois, le 3GP revient, et aucun des deux fichiers n'est conservé ensuite.
Combien de temps prend une conversion MP4 vers 3GP ?
La sonde a mesuré 0,3 seconde pour 45 545 octets de 3GP, 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 MP4 et le double de celle-ci. Le MP4 est refusé au-delà de 120 secondes, donc le pire cas est borné.
Qu'est-ce que je perds en passant du MP4 au 3GP ?
Celle qu'il faut connaître en premier : chaque pixel, une fois de plus. Le MP4 est décodé en images brutes puis réencodé en 3GP, si bien que ce que le MP4 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 3GP est-il revenu plus étroit que le MP4 ?
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 MP4 en 4K coûterait environ seize fois un 1080p sur une machine qui sert aussi tout le monde. Un MP4 à 1280 pixels ou moins revient à sa taille, intact.
La conversion MP4 vers 3GP est-elle gratuite ?
Il y a une franchise gratuite chaque mois, et MP4 vers 3GP est la seule conversion d'ici qui ne soit pas facturée au tarif plancher : 2 crédits par minute de MP4, toute minute entamée comptée, plafonnés à 4 crédits puisque le moteur refuse au-delà de 120 secondes. Réencoder un 3GP 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.