Описание проблемы:
Существуют видео файлы, имеющие нестандартные размеры кадров видео, например: 852х478, или 868х468 и т.д.
В результате чего, значения SAR и DAR отображаются просто некорректно, а если точнее, то они просто абсурдные и нереальные, вплоть до отрицательных значений. Достаточно всего лишь навсего открыть свойства видео декодера и статистику самого видео-рендерера EVR-CP. И будет видно, какие значения SAR и DAR они нам отображают, ну просто нереально длинные, причем настолько, что даже не умещаются в строки видео декодера и статистики видео-рендерера EVR-CP соответственно.
Выглядит это так (https://yadi.sk/i/hWqtz1DSMAXHDg).
Пример такого файла(таких файлов).
Эти значения AR берутся же не из головы, они рассчитываются - и не просто из размера видео-кадра.
Evgeniy1990
Дроби пропорций корректны скорее всего. Выложи сами файлы.
Aleksoid1978/V0lt
Пример видео файла (https://yadi.sk/i/PXePSPCsGklCcg).
Как я и думал - это MP4.
Для видео-дорожки присутствует атом \'pasp\', значения
num = 22921
den = 22963
Для того чтобы рассчитать AR - значения перемножаются с шириной/высотой соответственно, получаем
19528692
10976314
Далее сокращаем(уменьшаем) значения и получаем
9764346
5488157
именно эти значения и задаются в выходной медиа-тип
dwPictAspectRatioX: 9764346
dwPictAspectRatioY: 5488157
Если поделить то получается 1.77... что примерно и соответствует 16:9.
Так что передаем привет утилитам которые такое пишут :)
Единственное какой выход я вижу - это либо при расчете AR "грубо" уменьшать значения до значений <= 100(простым делением на 2, точность от этого немного конечно пострадает, можем вместо 1.77 получить 1.8), либо везде где отображаются значения выводить дробь с округлением до 2 знаков после запятой.
Aleksoid1978Единственное какой выход я вижу - это либо при расчете AR "грубо" уменьшать значения до значений <= 100
Нельзя такое делать в принципе. Данные будут некорректные. Это информационное окно, оно отображает то, что есть, а не чьи-то хотелки.
Напомнило историю о округлении числа Пи до 3,2.
Добавлено: 2019-05-07 20:51:28
Но тут есть проблема c SAR, который должен быть 22921:22963, а на деле
Размер кадра: 852x478, SAR 93097523:95235617, DAR 9764346:5488157
Добавлено: 2019-05-07 21:23:49
Вывод SAR поправил в r4543. Теперь так
Размер кадра: 852x478, SAR 22921:22963, DAR 9764346:5488157