web-dev-qa-db-fra.com

Convertir mp4 en MP4 maximum pris en charge par mobile à l'aide de FFMPEG

Je voudrais utiliser ffmpeg pour convertir un mp4 à 'taille basse' mp4 ...

J'ai besoin d'un mp4 fichier avec h263 vidéo et aac audio (ou certains autres paramètres pris en charge par les mobiles à bas prix.) Ma principale préoccupation est que la vidéo soit lisible sur la plupart des appareils.

Quelles seraient les commandes ffmpeg possibles pour accomplir cela?

Merci d'avance.

21
Notepad

Il existe de nombreuses façons d'encoder des vidéos mp4, et leur encodage pour les appareils mobiles est encore plus complexe. Je ne sais pas ce que vous entendez par "mobile à faible coût", voulez-vous dire à faible coût comme dans l'appareil, ou la bande passante nécessaire pour lire ladite vidéo?

Quoi qu'il en soit, voici un article pour vous aider à démarrer: TUTORIEL DE CODAGE VIDÉO WEB H.264 AVEC FFMPEG

Exemples

Voici quelques ffmpeg exemples de la publication ...

Vidéo Web "standard" (480p à 500 kbit/s):

ffmpeg -i input_file.avi -vcodec libx264 -vprofile high -preset slow -b:v 500k -maxrate 500k -bufsize 1000k -vf scale=-1:480 -threads 0 -acodec libvo_aacenc -b:a 128k output_file.mp4

Vidéo 360p pour les téléphones portables plus anciens (360p à 250 kbit/s dans le profil de base):

ffmpeg -i inputfile.avi -vcodec libx264 -vprofile baseline -preset slow -b:v 250k -maxrate 250k -bufsize 500k -vf scale=-1:360 -threads 0 -acodec libvo_aacenc -ab 96k output.mp4

Vidéo 480p pour iPads et tablettes (480p à 400kbit/s dans le profil principal):

ffmpeg -i inputfile.avi -vcodec libx264 -vprofile main -preset slow -b:v 400k -maxrate 400k -bufsize 800k -vf scale=-1:480 -threads 0 -acodec libvo_aacenc -ab 128k output.mp4

Vidéo SD de haute qualité pour l'archivage/stockage (PAL à 1 Mbit/s en profil haut):

ffmpeg -i inputfile.avi -vcodec libx264 -vprofile high -preset slower -b:v 1000k -vf scale=-1:576 -threads 0 -acodec libvo_aacenc -ab 196k output.mp4

Débits, échelle et profils ...

D'après les exemples, certains des éléments clés auxquels vous devrez peut-être faire attention sont ...

-b:v 500k

-b:a 128k

Ce sont les débits de la vidéo v et de l'audio a, plus le nombre est bas, plus la qualité est faible, mais aussi meilleure est sa lecture sur un appareil bas de gamme.

scale=-1:480

Cela réduira la vidéo à une taille plus petite, voir plus d'informations à ce sujet dans le post)

-vprofile baseline

Cela peut sembler étrange baseline (ou un autre approprié paramètre de profil ) peut être important lors du codage pour certains appareils à faible coût (par exemple Android) ...

Profil de base (BP)

Principalement pour les applications à faible coût qui nécessitent une robustesse supplémentaire en termes de perte de données, ce profil est utilisé dans certaines applications de vidéoconférence et mobiles. Ce profil comprend toutes les fonctionnalités prises en charge dans le profil de base contraint, ainsi que trois fonctionnalités supplémentaires qui peuvent être utilisées pour la robustesse aux pertes (ou à d'autres fins telles que la composition de flux vidéo multipoint à faible retard). L'importance de ce profil s'est quelque peu estompée depuis la définition du profil de base contraint en 2009. Tous les flux binaires de profil de base contraint sont également considérés comme des flux binaires de profil de base, car ces deux profils partagent la même valeur de code d'identification de profil.

44
Justin Jenkins