Ответ Дельгадо верен, что MP4Box может сделать это, но опция -par
работает не совсем так, как описано. С параметром -out
(чтобы не мешать вашему исходному файлу):
mp4box source.mp4 -out target.mp4 -par stream-number=width:height
Когда вы используете -par stream-number=width:height
, вы определяете соотношение сторон пикселя, то есть результат деления соотношения сторон устройства на соотношение сторон хранилища. (Эквивалентно, вы описываете соотношение сторон исходного пикселя.) Например, предположим, что у вас есть источник DVD с разрешением 720 × 480, и правильное соотношение сторон экрана составляет 4:3. Для этого случая вам нужно:
mp4box source.mp4 -out target.mp4 -par 1=8:9
потому что (4/3) /(720/480) = 8/9.
Если источник представляет истинные пиксели SD NTSC (в этом случае предполагается, что только центральные 704 × 480 пикселей должны отображаться на экран 4 × 3 с 8-пиксельным пересканированием по обе стороны), правильная команда будет такой:
mp4box source.mp4 -out target.mp4 -par 1=10:11
потому что (4/3) /(704/480) = 10/11 - в точности соотношение сторон эталонного пикселя для видео NTSC стандартной четкости.
Для случая, приведенного в вопросе, если это действительно 4: 3, это дает очень странное соотношение пикселей: (4/3)/(720/416) = 104/135. Его ширина 720, что предполагает наличие источника DVD; это видео с частотой 25 кадров в секунду, предполагающее PAL, но PAR работает менее 1, предлагая NTSC. Полагаю, это может быть 4: 5 (очень близко к 104: 135), но я не знаю ничего, что могло бы дать такое соотношение пикселей; возможно, попробуйте сначала, а затем попробуйте 3: 4, если он выглядит слишком растянутым по горизонтали. Если вы уверены, что это точно 4: 3, просто используйте 104: 135.