A resposta de Delgado está correta de que o MP4Box pode fazer isso, mas a -par
opção não funciona da maneira descrita. Com um -out
parâmetro (para não perturbar seu arquivo original):
mp4box source.mp4 -out target.mp4 -par stream-number=width:height
Ao usar -par stream-number=width:height
, você define a proporção de pixel - ou seja, o resultado da divisão da proporção do dispositivo pela proporção de armazenamento. (Equivalentemente, você está descrevendo a proporção de um pixel de origem.) Por exemplo, suponha que você tenha uma fonte de DVD com 720 × 480 e a proporção de exibição correta seja 4: 3. Para este caso, você precisa:
mp4box source.mp4 -out target.mp4 -par 1=8:9
porque (4/3) / (720/480) = 8/9.
Se a fonte representar pixels SD NTSC verdadeiros (nesse caso, apenas os 704 × 480 pixels centrais devem mapear para uma tela 4 × 3, com 8 pixels overscan nos dois lados), o comando correto seria:
mp4box source.mp4 -out target.mp4 -par 1=10:11
porque (4/3) / (704/480) = 10/11 - exatamente a proporção do pixel de referência para o vídeo NTSC de definição padrão.
Para o caso apresentado na pergunta, se é realmente 4: 3, isso fornece uma proporção de pixel muito estranha: (4/3) / (720/416) = 104/135. Tem 720 de largura, o que sugere uma fonte de DVD; é um vídeo de 25 qps, sugerindo PAL, mas o PAR funciona com menos de 1, sugerindo NTSC. Poderia ser 4: 5, suponho (muito próximo a 104: 135), mas não sei de nada que produza essa proporção de pixel; talvez tente primeiro e tente 3: 4 se ainda parecer um pouco esticado demais na horizontal. Se você tem certeza de que são exatamente 4: 3, é claro, basta usar 104: 135.