1 (edited by divinity666 09-08-2019 10:31:26)

Topic: SVP делает неправильный resize

Пытаюсь посмотреть 4К видео, при этом обрезав черные полосы сверху\снизу и ресайзнув до разрешения монитора - 2К.

Изначально видео такое:
https://i.ibb.co/qWFScyF/11.jpg

На этм скрине видно во что превращается картинка с выставленными параметрами Video Frame:
https://i.ibb.co/mDJZqnB/22.jpg

Хотя если зайти в Control Panel - Frame Size там превью показывается адекватно:
https://i.ibb.co/m0wBtH0/33.jpg

Не понятно разве что почему изначально видео определяется как 3840x1744, когда там полноценные 2160 пикселей в высоту

Ну, и если указать в паметрах что бы SVP просто делал ресайз до разрешения монитора, отключив кроп и какое-либо изменение соотношения сторон, то он искажает картинку:
https://i.ibb.co/7VsRGk1/44.jpg

Re: SVP делает неправильный resize

Mediainfo файла и Логи добавить бы.

3 (edited by divinity666 09-08-2019 16:41:10)

Re: SVP делает неправильный resize

Ну, медиаинфо, это я так понимаю из mpc-hc можно достать - вот это. Интересно что есть height и есть original height. Но там реальные 2160 пикселей и, как бы mpc-hc это видит, даже в самом видео есть полноценные места(в заставке) в 2160 пикселя без ченых полос. А что за лог - Event Log из меню Information?. В любом случае если косяк в этом, то неплохо бы сделать так что бы SVP определял что реальное разрешение 3840х2160

Format                      : Matroska
Format version              : Version 4 / Version 2
File size                   : 3.41 GiB
Duration                    : 44 min 41 s
Overall bit rate            : 10.9 Mb/s
Encoded date                : UTC 2019-07-12 00:01:07
Writing application         : mkvmerge v35.0.0 (master: 2421163 / deflate: e647e65) [X86_64]
Writing library             : libebml v1.3.9 + libmatroska v1.5.2

Video
ID                          : 1
Format                      : HEVC
Format/Info                 : High Efficiency Video Coding
Format profile              : Main@L5@Main
Codec ID                    : V_MPEGH/ISO/HEVC
Duration                    : 44 min 41 s
Bit rate                    : 10.1 Mb/s
Width                       : 3 840 pixels
Height                      : 1 744 pixels
Original height             : 2 160 pixels
Display aspect ratio        : 16:9
Frame rate mode             : Constant
Frame rate                  : 23.976 (23976/1000) FPS
Color space                 : YUV
Chroma subsampling          : 4:2:0
Bit depth                   : 8 bits
Bits/(Pixel*Frame)          : 0.063
Stream size                 : 3.14 GiB (92%)
Language                    : English
Default                     : Yes
Forced                      : No
Color range                 : Limited
Color primaries             : BT.709
Transfer characteristics    : BT.709
Matrix coefficients         : BT.709

Re: SVP делает неправильный resize

Height                      : 1 744 pixels
Original height             : 2 160 pixels

Причина в разных значениях этих двух параметров. Каждый кадр физически имеет 1744 пикселей в высоту, но при отображении должен растягиваться до 2160.
Обычно это задается через коэффициенты PAR/SAR/DAR. С ними SVP умеет работать и принимает их в расчет.
Тут я вижу, что DAR задан. Но что-то отработало не так.

> что за лог - Event Log из меню Information?
меню SVP - Информация - Журнал - Открыть как текст... - скопировать сюда
Сделать это сразу после проигрывания этого файла, чтобы туда записались детали как этот файл видит SVP и как пытается сделать изменение картинки

5 (edited by divinity666 10-08-2019 10:48:57)

Re: SVP делает неправильный resize

Нет, там физически поток 2160, но видимо в контейнере прописан кроп 208 сверху и снизу - получается как раз 1744, но этот кроп не делает все вравно - видимо он для панелей, хз. Если просто запустить файл в mpc-hc без svp то он сам себя не кропает, а плеер берет данные о разрешении из потока. В LAV фильтре даже есть галочка Use stream aspect ratio. Хотя, я пробовал ее снять, все равно никаких изменений нет - видео проигрывается так же как на 1-ом скрине в первом посте что с этой галочкой, что без.

https://i.ibb.co/Wp2C4jL/55.jpg

С помощью avidemux я пересобрал видео в другом контейнере - и параметр original height пропал, height стал 2160 - пробема с ресайзом и кропом в svp ушла. Видимо svp берет данные о разрешении не из потока(а он то реально 2160), а, наверно, из какой-нить записи в контейнере, ну, или где еще, где прописан кроп и получается 1744.

Кстати иногда svp очень долго "думает" над кропом или наоборот не думает, не знаю... приходится кликать миллиард раз по "обновить" в Frame Size(и то может не помочь) или\и перематывать видео что бы сработало. Это не только с "проблемыми" файлами как эти.

Вот лог:

12:18:45.781 [i]: Main: starting up SVP 4 Pro [4.3.0.168]... 
12:18:45.782 [i]: Main: args: none
12:18:45.782 [i]: Main: working dir is C:\Program Files (x86)\SVP 4\
12:18:45.782 [i]: Main: data dir set to C:\Users\DivinitY\AppData\Roaming\SVP4\
12:18:45.783 [i]: Settings: loading main.cfg OK
12:18:45.784 [i]: Settings: loading ui.cfg OK
12:18:45.784 [i]: Settings: loading frc.cfg OK
12:18:45.785 [i]: Settings: loading profiles.cfg OK
12:18:45.785 [i]: Settings: loading custom.cfg OK
12:18:45.786 [i]: Settings: loading lights.cfg OK
12:18:45.786 [i]: Main: using Qt 5.12.2 (i386-little_endian-ilp32 shared (dynamic) release build; by MSVC 2017)
12:18:45.786 [i]: Main: device scale is 1, user defined scale is 0
12:18:45.787 [i]: Main: system locale is [en]
12:18:45.787 [i]: Main: preferred language is [en-us]
12:18:45.789 [i]: Main: setting language file to en.qm...
12:18:45.795 [W]: Main: module 'plugins/svpflow1.dll': NOT FOUND
12:18:45.795 [W]: Main: module 'plugins/svpflow2.dll': NOT FOUND
12:18:45.796 [i]: Main: module 'plugins64/svpflow1.dll': 4.3.0.156
12:18:45.796 [i]: Main: module 'plugins64/svpflow2.dll': 4.3.0.168
12:18:45.796 [W]: Main: PATH doesn't contain mpv64 folder, VLC and libmpv players may not work
12:18:45.796 [W]: Main: PYTHONPATH doesn't contain mpv64 folder, VLC and libmpv players may not work
12:18:45.797 [i]: Main: running OpenCL info...
12:18:45.809 [i]: Main: collecting system information...
12:18:45.809 [i]: OS: Windows 7 SP1 [6.1.7601]
12:18:45.812 [i]: CPU: Intel Core i7-5775C [base frequency 3168 MHz, 8 threads]
12:18:45.813 [i]: Video: registry info - NVIDIA GeForce GTX 1080
12:18:45.813 [i]: Video: reading OpenCL info...
12:18:45.858 [i]: Video: 1 GPU OpenCL device(s) on NVIDIA CUDA [OpenCL 1.2 CUDA 10.2.120] (NVIDIA Corporation)
12:18:45.859 [i]: Video 1: GeForce GTX 1080 (NVIDIA Corporation, ver.430.86) [gpuID=11]: OK
12:18:45.860 [i]: Memory:  16325  MB total,  10242 MB free
12:18:45.860 [i]: System: finding network settings...
12:18:46.050 [W]: SystemInfo: processor performance counter failed [c0000bb9]
12:18:46.050 [i]: Power: AC is ON [1]
12:18:46.225 [i]: Screens: updating information, 1 screen(s) found
12:18:46.384 [i]: Main: preparing video profiles...
12:18:46.419 [i]: Main: preparing performance graphs...
12:18:46.505 [i]: Main: preparing ffdshow...
12:18:46.506 [i]: FFDShow: found 64-bit version 1.3.4533.0 [C:\Program Files (x86)\K-Lite Codec Pack\Filters\ffdshow\ffdshow.ax]
12:18:46.508 [i]: Main: preparing remote control...
12:18:46.508 [i]: RemoteControl: started
12:18:46.508 [i]: Main: preparing main menu...
12:18:46.571 [i]: Main: loading extensions...
12:18:46.583 [i]: Main: initialization completed in 777 ms, but still waiting for the screens measurement...
12:18:46.619 [i]: Updates: checking now...
12:18:47.908 [i]: VideoPlayer: new ffdshow video [305de] in mpc-hc64.exe (64-bit) [MPC-HC 1.7.14.4] on screen 0
12:18:47.980 [i]: Media: video 3840x1744 [PAR 1.000] at 23.976 fps [constant]
12:18:47.980 [i]: Media: codec type is HEVC, YUV/4:2:0/8 bits/BT.709 BT.709
12:18:47.981 [i]: Playback: waiting for screens measurement...
12:18:49.544 [i]: Screens: screen 0 - 2560x1440 @74.927 Hz [measured], x1.0 [72 DPI]
12:18:49.544 [i]: Screens: primary screen is 0
12:18:49.545 [i]: Playback: starting up...
12:18:49.551 [i]: Playback [305de]: Frame server (64-bit) 0.1.0.0, AviSynth+ 0.1 (r2728, MT, x86_64), C:\Windows\system32\avisynth.dll
12:18:49.552 [i]: Playback [305de]: resulting video frame 2556x1440 [3840x1744 -> cropped -> 3100x1744 -> scaled -> 2556x1440]
12:18:49.552 [i]: Playback [305de]: 2 acceptible profiles, best is 'GG' [0]
12:18:49.559 [i]: Playback [305de]: enabled while video is playing
12:18:49.583 [i]: Playback [305de]: playing at 47.952 [23.976 *2/1] 
12:18:49.680 [i]: Performance: quick estimation = 501 (previous value was 535)
12:21:41.435 [i]: Playback [305de]: adjusting frame size
12:21:44.237 [i]: Playback [305de]: resulting video frame 2556x1440 [3840x1744 -> cropped -> 3100x1744 -> scaled -> 2556x1440]
12:21:44.238 [i]: Playback [305de]: 2 acceptible profiles, best is 'GG' [0]
12:21:44.239 [i]: Playback [305de]: keep previously selected profile 'GG'
12:21:44.264 [i]: Playback [305de]: playing at 47.952 [23.976 *2/1] 
12:23:12.548 [i]: Playback [305de]: seek was detected - turning off and back on...
12:23:16.979 [i]: Playback [305de]: black fields changed to TB: 208-208, LR: 0-0
12:23:16.979 [i]: Playback [305de]: resulting video frame 2360x1328 [3840x1744 -> cropped -> 2360x1328]
12:23:16.980 [i]: Playback [305de]: 2 acceptible profiles, best is 'GG' [0]
12:23:16.980 [i]: Playback [305de]: keep previously selected profile 'GG'
12:23:17.074 [i]: Playback [305de]: playing at 47.952 [23.976 *2/1] 
12:24:08.802 [i]: FFDShow: remove instance [305de]
12:24:08.808 [i]: Playback [305de]: disabled while video is stopped
12:24:09.108 [i]: Playback [305de]: deleted

Re: SVP делает неправильный resize

divinity666 wrote:

из-за того что лог содержит кучу i-в-кавычках: копировать лог и удалять их вручную - занятие на любителя:)

На будущее - для этого есть тег [code ]

Re: SVP делает неправильный resize

James D wrote:

На будущее - для этого есть тег [code ]

Ага... поправил пост, спасибо!

Re: SVP делает неправильный resize

Ну вот. Медиа-инфо передает SVP следующую инфу про это видео:

Media: video 3840x1744 [PAR 1.000]

PAR 1.000 означает, что шаг пикселей по вертикали и горизонтали одинаковый.
Про 2160 пикселей вертикально SVP не в курсе.

Я не встречал такого. Надо разбираться, что за файл такой, и каким образом 1744 превращаются в 2160? hmm
---

И все-таки видео сплюснутое, т.е. в 1744 закодированы еще и черные поля, т.к. SVP их успешно определяет и отрезает:

Playback [305de]: black fields changed to TB: 208-208, LR: 0-0
Playback [305de]: resulting video frame 2360x1328 [3840x1744 -> cropped -> 2360x1328]

TB: 208-208 - Сверху/Снизу (Top/Bottom) по 208 пикселей. После их отрезания остается 1328 в высоту

Очень похоже, что анаморфный флаг записан не так, как его привык читать медиа-инфо в SVP, иначе PAR был бы не 1.000

Re: SVP делает неправильный resize

Думаю, причина в этом Cropping, который является командой для декодера дорисовать поля, а SVP это не понимает. Поля видит, но думает, что отрезает их от картинки 1744 высотой.

Post's attachments

width&height&crop_instead_SAR.png, 38.43 kb, 423 x 202
width&height&crop_instead_SAR.png 38.43 kb, 280 downloads since 2019-08-10 

Re: SVP делает неправильный resize

> иногда svp очень долго "думает" над кропом
Так и должно быть. SVP анализирует картинку и принимает решение отрезать поля, если их четко видно: светлая картинка, темные поля. Если сама картинка темная, то поля не определяются, пока их нельзя будет однозначно определить. Отсюда и задержка.
Можете проверить, на светлой картинке поля определяются сразу же.

Re: SVP делает неправильный resize

MAG79 wrote:

И все-таки видео сплюснутое, т.е. в 1744 закодированы еще и черные поля, т.к. SVP их успешно определяет и отрезает:

Да, нет, там как раз-то 1744 это уже без черных полос, а само видео полноценные 2160, вначале заставка идет без черных полос на все 2160 пекселя:

https://i.ibb.co/F8pbzJW/77.jpg

зы вот кусок первые 2 минуты видео вырезал, а так ничего не трогал больше, 120мб всего: https://yadi.sk/i/AU54Mft4X9Ah9A. Там как раз-то заставка без полос и потом уже сам сериал - может так Вам будет проще.

12 (edited by James D 10-08-2019 18:33:48)

Re: SVP делает неправильный resize

Если кратко, то ситуация получается: тот, кто создавал/муксил в видеофайл по какой-то причине (для конкретного железа или 3Д?) решил прописать кроп полей, которые пойдут в основном фильме, а не в заставках. Эти изменения привносят путаницу на этапе считывания "СВП-шным" Mediainfo (Медиаинфо в МПС дает: Width: 3 840 pixels, Height: 1 744 pixels, Original height: 2 160 pixels, Display aspect ratio: 16:9, а Медиаинфо СВП дает PAR 1.0, Width x Height: 3 840 x 1 744 pixels) и вот он результат.

Re: SVP делает неправильный resize

Эту ситуацию я понял почти сразу. Проблема в том что этот "тот" - это релиз группы, которые часто делают рипы видео 4к именно с черными полосами вот с таким прописанным кропом. Зачем они это делают, конечно, большой вопрос... но с этим ничего не поделать. Соответсвенно, надо бы адаптировать SVP под такие видео. Может сделать что бы в таких случая aspect ratio SVP считывал непосредственно из потока, а не из того что прописано в медиа инфо, или тогда что бы параметры Original Height\Width были в приоритете или как-то еще, Вам виднее...