La réponse de Delgado est correcte: MP4Box peut le faire, mais l' -par
option ne fonctionne pas exactement comme décrit. Avec un -out
paramètre (pour ne pas perturber votre fichier d'origine):
mp4box source.mp4 -out target.mp4 -par stream-number=width:height
Lorsque vous utilisez -par stream-number=width:height
, vous définissez le rapport hauteur / largeur des pixels, c'est-à-dire le résultat de la division du rapport hauteur / largeur du périphérique par le rapport hauteur / largeur de stockage. (De manière équivalente, vous décrivez le rapport d'aspect d'un pixel source.) Par exemple, supposons que vous ayez une source DVD de 720 × 480 et que le rapport d'aspect d'affichage correct soit de 4: 3. Pour ce cas, vous avez besoin de:
mp4box source.mp4 -out target.mp4 -par 1=8:9
car (4/3) / (720/480) = 8/9.
Si la source représente de vrais pixels SD NTSC (auquel cas seuls les 704 × 480 pixels centraux sont censés correspondre à un écran 4 × 3, avec un surbalayage de 8 pixels de chaque côté), la commande correcte serait:
mp4box source.mp4 -out target.mp4 -par 1=10:11
car (4/3) / (704/480) = 10/11 - exactement le rapport d'aspect en pixels de référence pour la vidéo NTSC en définition standard.
Pour le cas donné dans la question, si c'est vraiment 4: 3, cela donne un rapport d'aspect pixel très étrange: (4/3) / (720/416) = 104/135. Il fait 720 de large, ce qui suggère une source DVD; c'est une vidéo à 25 ips, suggérant PAL, mais le PAR fonctionne à moins de 1, suggérant NTSC. Cela pourrait être 4: 5, je suppose (très proche de 104: 135), mais je ne connais rien qui produise ce rapport d'aspect en pixels; essayez peut-être d'abord, puis essayez 3: 4 s'il semble toujours un peu trop étiré horizontalement. Si vous êtes certain que c'est exactement 4: 3, bien sûr, utilisez simplement 104: 135.