FFprobe читает неверное значение разрешения, несмотря на то, что игроки правильно его отображают
Я создаю видео из потока с помощью FFMPEG, и я также использую FFPROBE для сбора информации для использования на странице состояния, такой как разрешение, кодеки и так далее.
Когда FFProbe анализирует мое видео для получения информации, я получаю значение разрешения 544x576 (почти квадрат!), Но с соотношением сторон 16:9.
Эти значения соответствуют как входному потоку, так и моему сохраненному видео.
Однако, когда я смотрю видео в стандартном HTML5-плеере, VLC или FFPLAY, я получаю видео с пропорциями 16: 9 и разрешением (измеренное с помощью программы для редактирования изображений) 1024x576, которое выглядит естественным и не растягивается.,
Даже если я перекодирую видео с использованием немного других кодеков, это неправильное значение разрешения сохраняется, даже если каждый проигрыватель, который я использую, отображает его правильно.
Это немного неудобно, потому что я полагаюсь на получение правильного значения разрешения из видео для дальнейшей обработки.
Я также использую последнюю версию FFMPEG+FFPROBE, которая была скомпилирована 15 июля.
Это ошибка в FFMPEG или я что-то не так делаю?
Используемые командные строки:
FFMPEG:
ffmpeg -i source -loglevel debug -vcodec copy -acodec copy -bsf:a aac_adtstoasc -movflags +faststart -t 360 -y video.mp4
FFPROBE (я анализирую вывод этого непосредственно и сохраняю значения):
ffprobe -i source -show_format -show_streams
FFProbe выход:
width=544
height=576
coded_width=544
coded_height=576
has_b_frames=2
sample_aspect_ratio=32:17
display_aspect_ratio=16:9
Я вижу, что примерное соотношение сторон отличается от соотношения сторон экрана, но как получается, что видео выглядит правильно в формате 16: 9, когда оно предположительно закодировано с почти квадратным разрешением?