О серьёзном баге в WIndows версии плеера VLC


Дата: 01 марта 2017


vlc_vs_original.png

Медиаплеер VLC является весьма популярным проигрывателем медиа, особенно часто его используют для просмотра видео. Однако мало кто знает, что у этого плеера уже много лет есть проблемы с корректным воспроизведением видео, связанные с несоответствием яркостных диапазонов...




Немного теории:
Сжатые видеофайлы, помимо прочих, имеют также такой параметр, как "яркостный диапазон". Связано это с тем, что алгоритмы кодирования видео, как правило, сохраняют полную информацию о исходной яркости, а информации о цвете пикселей после сжатия, как правило, остаёстя в несколько раз меньше. Такой подход к сжатию полагается на то, что человеческое зрение более чувствительно к изменениям яркости, чем к цветам.
Соотношение информации о яркости и цвете также является одним из параметров видеофайлов, и называется "цветовая субдискретизация". Чаще всего используется субдискретизация насыщенности 4:2:0, что означает сохранение полного яркостного разрешения, и уменьшение горизонтального и вертикального цветового разрешения в два раза.
Яркостный диапазон же таких видеоданных, как TV передачи или фильмы на Blu-ray составляет 16-235, так называемый узкий "TV Range" диапазон. Когда как вывод изображения на PC производится в полном "PC/full range" диапазоне 0-255. При несоответствии диапазонов видеофайла и устройства вывода, изображение будет выводиться с большими искажениями, поэтому декодер при необходимости должен выполнять преобразование из 16-235 в полный 0-255 диапазон, либо наоборот.

Но плеер VLC выполняет такое преобразование далеко не всегда.
В результате видео воспроизводится с искажениями, т.к. узкий "TV range" диапазон выводится на PC без преобразования в полный "PC/full range". На практике это выглядит как огромная потеря в контрастности и "белая пелена" над всем изображением, что лучше всего заметно на тёмных сценах (в этом случае вместо чёрного мы вовсе получаем лишь светло-серый цвет).
В левой половине показан пример вывода Blu-ray фильма через VLC, в правой — корректный вывод:

сравнение вывода VLC с оригиналом

Примечательно, что этот баг существует в Windows версии VLC уже много лет. Разработчики же почему-то не считают необходимым исправлять его, и дают странные комментарии по этому поводу:

комментарий разработчика
Это что-то вроде того, что их плеер всё правильно отображает и преобразование не требуются, когда как остальные плееры якобы выполняют излишнее преобразование, и отображают неправильно.
Но это, конечно, не согласуется с реальностью — когда даже "чёрные полосы" отображаются не чёрными, то вывод явно некорректен.

Распространённость бага:
За багом была замечена только Windows версия VLC. Но зато этот баг тянут из версии в версию уже много лет. Хотя даже на Windows баг проявляется не всегда: есть зависимость от заданных настроек и используемого оборудования. В моём случае, например, с настройками по умолчанию при выводе через интегрированную графику Intel, баг проявляется, но если подключить монитор к дискретной видеокарте nVidia, то баг исчезает.

Итоги:
Данный баг проявляется не у всех и не всегда, но если вы используете VLC плеер на Windows, то стоит лишний раз проверить, корректно ли воспроизводятся у вас видеофайлы. Например, глянуть файл с узким диапазоном на какой-нибудь тёмной сцене или на "врезанных" чёрных полосах (как в примере из скриншота). Ведь если баг всё-таки проявится, то влияние на качество изображения будет огромным, поэтому важно знать о такой особенности VLC.

Комментариев нет.




 
Добавить комментарий:
Имя:*
e-mail:
Комментарий:*
Введите число 77*


Архив статей:
Март 2017
Апрель 2016
Март 2016
Октябрь 2013
Сентябрь 2013
Май 2013
Март 2013
Ноябрь 2012
Июль 2012
Июнь 2012
Апрель 2012
Март 2012
Февраль 2012
Апрель 2011
Март 2011
Февраль 2011
Январь 2011
Декабрь 2010
Ноябрь 2010
Октябрь 2010
Сентябрь 2010
Август 2010
Июль 2010
Июнь 2010
Май 2010
Апрель 2010
Март 2010

Случайные:
Объединения команд и обработка выходных данных в shell

Быстрая установка PostgreSQL и phpPgAdmin в linux

Sblog будет переписан на .NET

UNetbootin - создание загрузочной флешки в linux

Быстрое восстановление GRUB 2

ImageMagick: консольный пакет для обработки изображений





Коллеги:    все
 Linux для всех

Наши баннеры:
linuxnow.ru
linuxnow.ru
Установить баннер