Правильное соотношение сторон без перекодирования видеофайла

У меня есть видеопоток со следующими свойствами:

Stream #0:0: Video: mpeg4 (Advanced Simple Profile) (XVID / 0x44495658), yuv420p, 720x416 [SAR 1:1 DAR 45:26], 1908 kb/s, 25 fps, 25 tbr, 25 tbn, 25 tbc

когда я запускаю его в VLC, я должен нажать "A", чтобы изменить соотношение сторон на" 4:3", чтобы сделать видео-шоу с правильным соотношением сторон.

глядя на факты видео, является ли ошибка, что а) фактическое видео было неправильно растянуто в пиксельных данных, или Б) есть просто какое-то значение метаданных, которое было неправильно установлено?

Если первое, я знаю, что могу перекодировать видео и измените ширину и высоту. Но если последнее, то какую команду ffmpeg я запускаю, чтобы исправить метаданные без перекодирования самого видео?

26
задан forthrin
09.05.2023 3:06 Количество просмотров материала 3152
Распечатать страницу

2 ответа

есть разница между образец пропорции (САР) и дисплей соотношение сторон (дар). Если вы хотите изменить отображение видео в 4: 3, вам нужно будет либо изменить фактические пиксели в изображении (путем масштабирования пикселей и изменения SAR), либо установить флаг метаданных на уровне контейнера, который указывает внешним медиаплеерам растянуть изображение до нужного DAR.

вы не сможете масштабировать пиксели и изменять SAR без применения видео фильтра. Если вы выбираете этот метод, вам будет необходимо перекодировать файл-так как вы не можете "потоковое копирование" видеопоток при применении видео фильтра.

для масштабирования изображения и изменения SAR (при транскодировании) попробуйте:

ffmpeg -i <INPUT_FILE> -vf scale=720:540 -c:v <Video_Codec> <OUTPUT_FILE>

С другой стороны, если вы просто хотите изменить флаг метаданных и настроить DAR, вы сможете копировать потоковое видео. для этого попробуйте:

ffmpeg -i [INPUT] -aspect 720:540 -c copy [OUPTPUT]

22
отвечен occvtech 2023-05-10 10:54

ffmpeg не может изменять параметры видеопотока без перекодировки, MP4Box (часть gpac) и пользователем ранее может. В случае одного видеопотока и реального / правильного соотношения сторон 4: 3, Вы можете попробовать:

MP4Box -par 1=3:4 VideoFile.mp4

    "-par" : PixelAspectRatio (adjusts DAR + SAR with respect to the video resolution)
    "1"=   : stream number
    "3:4"  : aspect ratio (lower number 1st!)
    Changes are directly applied to "VideoFile.mp4", no copy

для проверки до и после: ffmpeg -i VideoFile.mp4

2
отвечен Delgado 2023-05-10 13:11

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх