Convertir les vidéos MOV d’iPhone en MP4 lisible partout
Transformez un MOV QuickTime en MP4 H.264 dans votre navigateur, et comprenez pourquoi le fichier a été refusé au départ.
MOV et MP4 sont plus proches qu’ils n’en ont l’air
Les deux conteneurs ont un ancêtre commun. Le format de fichier QuickTime d’Apple a servi de base à l’ISO Base Media File Format, et MP4 est construit dessus. Ouvrez un .mov et un .mp4 côte à côte dans un éditeur hexadécimal et vous retrouvez la même structure de boîtes : une boîte ftyp qui déclare ce que le fichier prétend être, une boîte moov qui contient l’index, une boîte mdat qui contient les données audio et vidéo elles-mêmes.
Dans un très grand nombre de cas, un .mov sorti tout droit d’un iPhone contient déjà de la vidéo H.264 et de l’audio AAC, soit exactement ce que contient un .mp4. C’est surtout l’extension qui leur donne l’air différents.
Alors pourquoi certains programmes refusent de le lire
Pour deux raisons, essentiellement. La première, c’est le codec à l’intérieur. Si l’appareil photo de votre iPhone est réglé sur « Haute efficacité » plutôt que sur « Plus compatible », il enregistre en HEVC, aussi appelé H.265. C’est toujours emballé dans un .mov, mais la prise en charge de HEVC est inégale d’une manière que celle de H.264 n’est pas : elle dépend du système d’exploitation, de la carte graphique et des licences, ce qui explique qu’un même fichier se lise sans problème sur un Mac et soit rejeté par un logiciel de montage sous Windows. Les caméras d’un niveau supérieur au téléphone ajoutent des options plus exotiques, ProRes entre autres, que presque rien en dehors des logiciels professionnels n’accepte.
La seconde raison, ce sont les logiciels qui décident d’après l’extension. Beaucoup de formulaires d’envoi, de vieux éditeurs et de lecteurs intégrés lisent les quatre derniers caractères du nom de fichier et s’arrêtent de réfléchir. Le fichier peut être acceptable octet pour octet et se faire refuser quand même.
Ce que fait ce convertisseur
Il lit le conteneur, en extrait la piste vidéo, la décode avec le décodeur du navigateur lui-même, puis la réencode en H.264 dans un MP4 tout neuf. La piste audio est copiée telle quelle quand elle est en AAC : le son est donc identique bit pour bit à la source et ne coûte rien, ni en temps ni en qualité.
La taille de l’image est conservée. Ici, convertir n’est pas compresser : un MOV en 4K ressort en MP4 4K au lieu d’être discrètement réduit dans votre dos. Le budget de bits est fixé un peu en dessous de ce que dépensait la piste vidéo source, ce qui rend en général le fichier légèrement plus petit.
La vidéo est réencodée et non copiée, et cette distinction compte. Vous dépensez une génération d’encodage avec pertes. Pour un clip destiné à un client, à un téléphone, à un projecteur ou à un réseau social qui le réencodera de toute façon, c’est invisible. Pour des rushes que vous vous apprêtez à étalonner et à monter dans une suite de montage, ce n’est pas ce qu’il vous faut.
La compatibilité, choisie délibérément
La sortie est en H.264 profil Baseline. Baseline se passe de certains outils qu’utilisent les profils supérieurs, dont les images B, si bien qu’à débit égal il compresse un peu moins efficacement que le profil High. En échange, vous obtenez un fichier qui se lit à peu près partout : vieux téléphones Android, décodeurs TV, autoradios, l’antique portable branché au projecteur de la salle de réunion. Si vous convertissez parce que quelque chose a refusé votre MOV, ce compromis va dans le bon sens.
Ce qui peut mal tourner
- Le navigateur a besoin d’un décodeur pour ce que contient votre MOV. H.264 est universel. HEVC dépend de la machine devant laquelle vous êtes. ProRes ne sera pas décodé.
- Si la voie rapide ne peut pas s’exécuter, ou se mesure plus lente que le temps réel, l’outil se rabat sur l’enregistrement de la vidéo à partir d’un canvas. Cela prend au moins la durée du clip et, sur les navigateurs qui ne savent pas enregistrer en MP4, produit un WebM à la place.
- Le fichier entier est gardé en mémoire pendant le traitement. Les clips courts passent sans problème. Un long fichier 4K épuisera l’onglet.
- Un audio qui n’est pas en AAC ne peut pas être copié tel quel, et la voie rapide continue sans lui : le MP4 revient donc muet. Écoutez le résultat avant de supprimer l’original.
Quand ffmpeg est la meilleure solution
Si votre MOV contient déjà du H.264 et de l’AAC, ce qui est le cas chaque fois que le téléphone était réglé sur « Plus compatible », il n’a pas du tout besoin d’être converti. Il a besoin d’être réemballé, et ffmpeg le fait par copie de flux : ffmpeg -i clip.mov -c copy clip.mp4 déplace les données dans un nouveau conteneur sans décoder une seule image. Cela se termine en quelques secondes quelle que soit la taille du fichier et, comme rien n’est réencodé, il n’y a strictement aucune perte de qualité.
C’est strictement mieux que tout ce qu’un navigateur peut faire, donc si vous manipulez régulièrement de la vidéo, l’installation vaut le coup. Le navigateur est le bon outil pour l’autre cas : un seul fichier, aucune certitude sur ce qu’il contient, et aucune envie d’installer un logiciel pour le découvrir.
Vos vidéos restent sur votre appareil
Rien n’est envoyé. Le démultiplexage, le décodage, l’encodage et le remultiplexage se font tous dans la page, ce qui est bon à savoir quand les images sont un mariage, un entretien sous embargo ou un montage encore inédit. Ouvrez les outils de développement de votre navigateur, surveillez l’onglet réseau et convertissez quelque chose. Aucune requête ne contient votre vidéo, pour la bonne raison qu’aucune ne l’envoie.
MOV en MP4 traite vos fichiers dans cet onglet et les convertit sans rien envoyer.
Ouvrir MOV en MP4