Câu trả lời của Delgado là chính xác rằng MP4Box có thể làm điều này, nhưng -par
tùy chọn không hoạt động hoàn toàn như mô tả. Với một -out
tham số (để không làm phiền tệp gốc của bạn):
mp4box source.mp4 -out target.mp4 -par stream-number=width:height
Khi bạn sử dụng -par stream-number=width:height
, bạn xác định tỷ lệ khung hình pixel - nghĩa là kết quả của việc chia tỷ lệ khung hình của thiết bị cho tỷ lệ khung hình lưu trữ. (Tương đương, bạn đang mô tả tỷ lệ khung hình của pixel nguồn.) Ví dụ: giả sử bạn có nguồn DVD là 720 × 480 và tỷ lệ khung hình hiển thị chính xác là 4: 3. Đối với trường hợp này, bạn cần:
mp4box source.mp4 -out target.mp4 -par 1=8:9
vì (4/3) / (720/480) = 8/9.
Nếu nguồn đại diện cho các pixel SD NTSC thực (trong trường hợp đó chỉ có 704 × 480 pixel trung tâm được cho là ánh xạ tới màn hình 4 × 3, với độ phân giải 8 pixel ở hai bên), lệnh chính xác sẽ là:
mp4box source.mp4 -out target.mp4 -par 1=10:11
bởi vì (4/3) / (704/480) = 10/11 - chính xác tỷ lệ khung hình pixel tham chiếu cho video NTSC độ nét tiêu chuẩn.
Đối với trường hợp được đưa ra trong câu hỏi, nếu thực sự là 4: 3, thì tỷ lệ khung hình pixel rất kỳ lạ: (4/3) / (720/416) = 104/135. Nó rộng 720, gợi ý nguồn DVD; đó là video 25 khung hình / giây, đề xuất PAL, nhưng PAR hoạt động dưới 1, gợi ý NTSC. Nó có thể là 4: 5, tôi cho rằng (rất gần với 104: 135), nhưng tôi không biết bất cứ điều gì tạo ra tỷ lệ khung hình pixel đó; có thể thử trước, sau đó thử 3: 4 nếu nó vẫn trông hơi quá kéo dài theo chiều ngang. Nếu bạn chắc chắn đó chính xác là 4: 3, tất nhiên, chỉ cần sử dụng 104: 135.