Compresser une vidéo pour l'envoyer par mail
Une limite de 25 Mo (Gmail, Yahoo, Outlook.com) ou de 20 Mo (iCloud) s'applique au message entier, pas au fichier seul : la pièce jointe est encodée pour voyager par mail, ce qui l'alourdit d'environ un tiers. Pour passer sous 25 Mo, visez environ 18 Mo de fichier, et moins encore si le destinataire a une limite plus basse (souvent 10 à 20 Mo en entreprise). La valeur par défaut vise 17 Mo : adaptez-la à votre cas.
Mis à jour le · Limites de la plateforme vérifiées le
Visible dans les propriétés du fichier.
Réduire la résolution aide quand la taille cible est très petite.
Sert uniquement à la première commande (analyse).
Comment l'utiliser
- Installez ffmpeg si ce n'est pas déjà fait.
- Indiquez la taille voulue et la durée de la vidéo : le débit vidéo est calculé pour vous.
- Lancez les deux commandes l'une après l'autre, dans le dossier de la vidéo : la première analyse, la seconde encode.
- Vérifiez le poids obtenu. S'il dépasse légèrement, baissez la taille cible de 1 à 2 Mo et recommencez.
- Supprimez ensuite les fichiers ffmpeg2pass-0.log créés par la première commande.
Calculer la taille à viser
Divisez la limite du message par 1,34 pour estimer la taille de fichier utilisable : 25 Mo donnent environ 18 Mo, 20 Mo environ 15 Mo, 10 Mo environ 7 Mo. Retirez encore 1 à 2 Mo si le message contient du texte, une signature ou d'autres pièces jointes.
Les alternatives à la pièce jointe
Si la vidéo reste trop lourde ou trop dégradée, un lien de partage est souvent préférable : Gmail propose d'envoyer par Google Drive les fichiers trop gros, Outlook.com par OneDrive, et iCloud Mail par Mail Drop. Le destinataire télécharge alors la vidéo sans limite de pièce jointe.
Si votre vidéo est déjà légère
Cette méthode vise une taille, elle ne la réduit pas toujours : si la vidéo d'origine pèse déjà moins que la taille visée, la recompresser peut la rendre plus lourde. Dans nos essais, une vidéo de 0,96 Mo est passée à 2,4 Mo avec une cible de 20 Mo. Dans ce cas, gardez le fichier d'origine, ou utilisez la méthode par qualité (CRF).
Questions fréquentes
Pourquoi viser 18 Mo pour une limite de 25 Mo ?
Le mail encode les pièces jointes en texte (base64), ce qui ajoute environ 33 % à leur poids. Un fichier de 20 Mo pèse alors près de 27 Mo dans le message et dépasse la limite de 25 Mo.
Et si la limite du destinataire est plus basse que la mienne ?
C'est la plus basse des deux qui compte. En cas de doute, visez moins, ou envoyez un lien de partage plutôt qu'un fichier.
Pourquoi deux commandes ?
L'encodage en deux passes analyse d'abord la vidéo, puis répartit le débit pour s'approcher de la taille visée. C'est la méthode la plus fiable pour viser un poids précis.
Le fichier final est-il exactement à la taille indiquée ?
Non : il est en général un peu plus petit. Le calcul garde 5 % de marge, et un plafond de débit (options -maxrate et -bufsize) empêche ffmpeg de dépasser la cible, ce qui arrive sinon sur les vidéos peu animées. Ici, 1 Mo vaut 1 000 000 octets.
À quoi sert -x264-params mbtree=0 ?
Il désactive une optimisation de l'encodeur qui peut faire échouer la deuxième passe sur certaines vidéos (erreur « Incomplete MB-tree stats file »). Il augmente très légèrement le poids pour une qualité donnée.
Le fichier obtenu est beaucoup plus petit que la taille visée, est-ce normal ?
Oui, pour une vidéo très statique (diaporama, capture d'écran) : elle n'a pas besoin de tout le débit disponible, et ffmpeg peut afficher « 2pass curve failed to converge ». Le résultat reste valable.
ffmpeg affiche « Unrecognized option 'fps_mode' », que faire ?
Votre version de ffmpeg est antérieure à la 5.1. Mettez ffmpeg à jour, ou remplacez « -fps_mode passthrough » par « -vsync passthrough » dans les deux commandes.