Ultra HD издания фильмов с HDR цветом содержат гораздо больше информации о цветах, чем может отобразить обычный монитор. Но из него можно сделать более красочное видео и при этом воспроизводимое на обычных мониторах.

Вот цвета обычные

и колор



Или вот обычные

и колор


Должет сказать что никто не пытался колор! Придется сам. И это будет ffmpeg.
Находится в ffmpeg.org/download.html
Я сейчас виндовз. Поэтому Windows builds from gyan.dev www.gyan.dev/ffmpeg/builds/ffmpeg-git-full.7z

Всего нужно ОДИИ файл ffmpeg.exe
и создать a.cmd

Так что же нужно внутри a.cmd? Сейчас раскажу )
Первое

ffmpeg -i We.mkv -map 0:0

значит видео онли. Какое видео? Разрешение 3840 на 2160 (из них ДВА из ТРЕХ 1920 на 1080) BDRemux и HDR10. Размер 49 GB. Дитя погоды.

Вы можете конечно аудио

-map 0:1 -acodec flac

и вот теперь главный момент

-vf format=yuv444p,zscale=t=linear:npl=35:p=709:w=1920:h=1080:f=point,tonemap=hable:desat=0,zscale=m=709,format=yuv444p

в ним format=yuv444p только ffmpeg позволяет цветовая субдискретизация 4:4:4 — каждая из трех компонент Y' Cb Cr имеет одинаковую частоту дискретизации! То есть ТРИ разрешение 3840 на 2160. И потом три разрешение 1920 на 1080. (А не два 960 на 540).
npl=35 — это светлее или темнее. Оптимальное 35.
И вот последнее p=709 и m=709 но ни в коем случае t=709!
Если t то цвета обычные! А без — колор! Как в цвета на картинки.

-color_trc 1

еще нужно дописать. Иначе linear в одном месте. А -color_trc 1 дает три bt709 тоже колор.
последнее — кодирование видео

-vcodec h264_nvenc -bf 4 -rc constqp -qp 20 -profile:v high444p -coder 1 -rc-lookahead 32 Weath.mkv

понятно что h264_nvenc и что -qp 20 (можете -qp 18 или -qp 16). И high444p а не 420!
Все!

Запускаете и ждете примерно 4 часа. Готово.
Я даже трейлер Дитя погоды в колор цветах:



Немного больше года назад я перенес инсульт, после которого долго восстанавливался, и наконец решил написать статью на хабр.

Комментарии (18)


  1. romxx
    21.06.2024 07:04
    +3

    Хабр, который мы заслужили.


  1. ssj100
    21.06.2024 07:04
    +1

    Обычные в каком-то мягком нуаре


  1. AWRDev
    21.06.2024 07:04
    +5

    Пролистал ваши комментарии и прошлую публикацию, видно что адекватный человек и эта тема для вас не чужда.
    Если это последствия инсульта, что вы считаете текущий вид статьи приемлемым, то это конечно страшно и печально. Может кто-то причешет статью всё таки?


  1. Tirarex
    21.06.2024 07:04

    Интересно можно ли взять какой нибудь плеер типа VLC и прикрутить туда шейдер с ACES или Uncharted (можно и hable из поста) тонмаппингом, дабы сразу смотреть контент в LDR а не делать пре конвертацию. Тонмаппинг относительно дешевое занятие, можно и в риалтайме гонять а не ждать 4 часа.

    UPD

    Похоже в KODI это как раз существует без конвертаций: https://www.reddit.com/r/kodi/comments/n7yqkt/tone_mapping_what_is_it_and_which_option_to_choose/


    1. ImagineTables
      21.06.2024 07:04

      Помню, после выхода «Аватара» появился плагин (но не помню, для какого плеера), который делал на лету интерполяцию до 60 fps. Его даже, я так понял, поначалу продавали, но потом зафриварили («наш подарок человечеству на Новый год», бла-бла-бла). Народ немного поигрался и скис. Потому что если бы был консенсус по поводу пользы от таких улучшайзингов, их бы создатели делали с исходным файлом, не тратя народные биткойн-часы киловатты.

      Здесь, сильно подозреваю, что-то похожее. Китайские мультики, может, и улучшаются, а как насчёт фильмов с человеческими лицами?


      1. Tirarex
        21.06.2024 07:04
        +1

        Здесь, сильно подозреваю, что-то похожее. Китайские порномультики, может, и улучшаются, а как насчёт фильмов с человеческими лицами?

        Это не улучшайзер картинки а конвертер. Он не рожает новую информацию как интерполятор кадров в вашем примере.

        Если говорить очень упрощенно то LDR монитор может отобразить диапазон 0-255 по трем каналам (RGB), а HDR монитор допустим 0-512 по тем же трем каналам. И соответственно контент под HDR банально не проиграть на LDR мониторе, и цвета там будут тусклые ведь мы не отображаем весь диапазон.

        Для решения этой проблемы в тех же играх используют HDR рендер но потом конвертируют картинку в LDR через тонмаппинг, hable / ACES / neutral / uncharted / filmic и еще огромный список, и все что делают эти алгоритмы - пытаются ужать HDR картинку в LDR диапазон с сохранением цветов и контраста на сколько это возможно. (хорошая статейка с примерами http://filmicworlds.com/blog/filmic-tonemapping-operators/ ). Каждый алгоритм работает по своему, кто то пытается сохранить полутени игнорируя пиковые значения, кто то наоборот делает контрастную картинку, итд. Нет лучшего решения/алгоритма, все это костыли в той или иной мере. Если контент доступен в HDR и LDR виде от самих разработчиков то лучше смотреть LDR вариант так как сами авторы переводили его в LDR так как они видят.

        Вот тут еще хороший визуальный пример того как работают разные алгоритмы тонмаппинга https://www.shadertoy.com/view/lslGzl


        1. ImagineTables
          21.06.2024 07:04

          Называйте как угодно. Почему все эти операции, допустим, пиратские релизеры не делают сами?


          1. Tirarex
            21.06.2024 07:04

            А зачем им это делать ? LDR контент ничего не требует, а HDR качают обычно для просмотра на HDR мониторе, и зачастую у HDR контента есть LDR аналог лежащий для скачивания рядом.


            1. ImagineTables
              21.06.2024 07:04

              Как зачем? Чтобы каждому скачавшему не пришлось бы возиться с ffmpeg'ом. Простая оптимизация информационного потока.

              Если этого не случилось, либо есть технические причины (например, для каждого экрана нужны свои параметры), либо всё ещё впереди, либо описанное не является универсальным способом улучшить картинку (сконвертировать, добиться более правильных цветов, вотэва). Какие ещё могут быть варианты?


      1. Qoragar
        21.06.2024 07:04

        Помню, после выхода «Аватара» появился плагин (но не помню, для какого плеера), который делал на лету интерполяцию до 60 fps. Его даже, я так понял, поначалу продавали, но потом зафриварили («наш подарок человечеству на Новый год», бла-бла-бла). Народ немного поигрался и скис.

        Не знаю, про какой плеер говорите вы, но такое точно есть в POT. Работает весьма хорошо и приятственно — но строго зависит от мощности компа (интерполировать кадры в рилтайме не шутка, всё же, мощности нужно даже больше чем для простого проигрывания видео в нативных 60fps). Особенно шикарно "преображает" старые сериалы.

        Видимо, большинство компов времён "Аватара" просто ещё не были способны на это физически. Потому народ и скис.


        1. ImagineTables
          21.06.2024 07:04

          Я думаю, скис просто потому, что телеэффект не зашёл. Помню, как знакомая в первый раз посмотрела этот «Аватар» и спросила, что случилось с плеером/файлом/компьютером. Почему всё такое жуткое.

          Мне лично, кстати, гладкий видеоряд вполне понравился. Но честные 60, а не солнечные лучи из огурцов интерполяция. Поэтому я «Аватар» посмотрел с удовольствием, а подобный плагин мне и даром не нужен.

          А если бы народу зашло, то и другие бы так снимали фильмы, не только Камерон-экспериментатор.


  1. uuger
    21.06.2024 07:04
    +3

    я, конечно, понимаю, что 10+ лет в мире, где существует инстаграм, реально изменили цветовые предпочтения людей, но, на мой взгляд, все-таки и сегодня ещё некорректно приравнивать фразу "цвет насыщеннее" к "цвет лучше"


  1. bereval
    21.06.2024 07:04
    +7

    Я знаю лично этого человека. Он действительно перенес довольно сложный инсульт. И уже больше года преодолевает его последствия. Он прошёл огромный путь от первых попыток найти свою руку и понять где нога, до первой попытки публикации на хабре своих экспериментов с обработкой видео. Причем сама идея была им придумана и проведены эксперименты лишь недавно, т.е. после инсульта. Если Вы далеки от того, чтобы это понять, то лучше воздержитесь от комментариев.
    Прокомментируйте по существу, автору важно знать ваш интерес к предмету статьи.


  1. binque
    21.06.2024 07:04
    +2

    Цвета в мультфильме такие, какими их задумали художники. Не думаю, что им было бы затратно подкрутить насыщенность и контраст, если бы это способствовало воплощению замысла. Я не смотрел "Дитя погоды", но, вероятно, такие относительно блеклые цвета создают настроение и атмосферу.

    Возможно, такой фильтр был бы полезен для старых или низкобюджетных фильмов, которые не было возможности выпустить сразу в хорошем цвете. Но я за то, что пользоваться им должны создатели фильма. Или там, где весь смысл видео только в сообщенной информации, а не в художественной части. Иначе можно дойти до того, что сделать цвет кожи жителей Пандоры оранжевым, потому что мне так больше нравится. Но это будет уже другой фильм.

    Желаю скорейшего и полного восстановления здоровья.


    1. evtomax
      21.06.2024 07:04
      +3

      Вы не поняли суть проблемы. На LDR мониторе цвета не отображаются такими, какими их задумали художники. А автор статьи предложил решение, которое без покупки нового монитора позволяет хотя бы приблизить картинку к тому, как должно быть.

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


  1. Omankit
    21.06.2024 07:04

  1. NightShad0w
    21.06.2024 07:04

    Относительно статьи, автор предлагает использовать встроенную в HDR контент информацию о transfer characteristic и peak luminance чтобы скомпенсировать визуальное влияние яркости на цветность. Преимущества каждый определяет для себя, но у меня сомнения, что этот способ применим для другого типа контента. Анимация все-таки не содержит световых перепадов, и тут скорее 10-битный формат HDR поспособствует более плавным цветовым градиентам без лесенок. В сложно-освещенных сценах насыщение цвета в ущерб полутонам сделает картинку чрезмерно искусственной.

    HDR - это не про цвет и насыщенность, а про свет и яркость. Точнее, соотношение яркости темного и светлого в одном кадре, и диапазон градаций между ними.

    В HDR контенте указывается диапазон яркости и степень градации, в зависимости от формата контента как для все потока в целом, так и для каждого кадра. Оборудование использует эти данные для непосредственного отображения как задумано, или для всяких конверсий на лету. И наибольших визуальный эффект HDR контент на HDR оборудовании (до 1000 нит) будут иметь кадры с очень яркими и очень темными областями одновременно, в таких кадрах яркие области не окажутся выжженными добела, а в тенях - останется достаточно уровней для мелких деталей.

    При отображение на LDR(обычно, впрочем, пишут SDR от Standard Dynamic Range, 100-300 нит) контент будет отображаться как бы блеклым из-за некорректного отсечения яркостной компоненты. Штатная конвертация предполагает сжимание динамического диапазона с использованием разных линейных или нелинейных преобразований, что приводит к сглаживанию детализации в тенях и\или выжженным ярким областям.


  1. Qoragar
    21.06.2024 07:04

    Но из него можно сделать более красочное видео

    Да, но для этого вовсе не обязателен ffmpeg и физическая конвертация. В частности, тот же упоминаемый мной ранее POTPlayer может делать это всё "на лету" – начиная от автоуровней и заканчивая ручными настройками яркости/цветности/насыщенности. Был бы лишь исходник изначально качественный (то есть, не совсем уж "зашакаленный" алгоритмами сжатия).