EDIT: Voir désormais cette page:
https://sebsauvage.net/wiki/doku.php?id=video-web
(Je me note ça ici pour pouvoir le retrouver): Pour convertir une vidéo de n'importe quel format dans un format accepté par le lecteur vidéo standard d'Android, voici la ligne de commande ffmpeg:
./ffmpeg -i video.mp4 -c:v libx264 -b:v 1200k -acodec aac -strict -2 -ar 44100 -ac 2 -b:a 128k -movflags faststart output.mp4
Si la vidéo est d'une résolution supérieure à l'écran de votre smartphone, vous pouvez redimensionner pour gagner de la place en ajoutant: -vf scale=-1:540 (si votre écran est en 540x960).
./ffmpeg -i video.mp4 -vf scale=-1:540 -c:v libx264 -b:v 1200k -acodec aac -strict -2 -ar 44100 -ac 2 -b:a 128k -movflags faststart output.mp4
Vous pouvez bien entendu varier le bitrate (-b:v 1200k):
- diminuez la valeur pour obtenir un fichier plus petit.
- augmentez pour obtenir une vidéo de meilleure qualité.
Si vous avez une version d'Android un peu ancienne (souvent < 4.x), vous aurez sans doute besoin d'ajouter: -profile:v baseline
./ffmpeg -i video.mp4 -c:v libx264 -profile:v baseline -b:v 1200k -acodec aac -strict -2 -ar 44100 -ac 2 -b:a 128k -movflags faststart output.mp4
Voilà... c'est surtout utile pour gagner de la place ou lire des vidéos d'un format qu'Android n'arrive pas à lire. (Si vous voulez visionner les vidéos sans les convertir/redimensionner, vous pouvez utiliser VLC qui sait lire presque n'importe quoi.)