LINUX.ORG.RU

хромиум и av1 и юбут в 8k

 , , ,


0

1

кому-то удалось добиться нормальной работы 8k видео на ютубе?

кому-то удалось завести ютубчки в 8к на линуксе в браузезере?

в mpv и винде работает =(

там для 8k уже av1 а не vp9 а он не хочет у меня показываться

если пускать без --disable-features=UseChromeOSDirectVideoDecoder
т.е. еспользовать хром ос декодер - тогда поддержка av1 есть и работает

но там какие-то непонятные артефакты - на 480p и всём, что выше 720p - артефакты и как будто цвета другие на 4k вообще декодирование отваливается, у меня такое чувство что там что-то перепутано

железо - бояркий 11 ген интел который всё может

      VAProfileNone                   :	VAEntrypointVideoProc
      VAProfileNone                   :	VAEntrypointStats
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Simple            :	VAEntrypointEncSlice
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointEncSlice
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointEncSlice
      VAProfileH264Main               :	VAEntrypointFEI
      VAProfileH264Main               :	VAEntrypointEncSliceLP
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointEncSlice
      VAProfileH264High               :	VAEntrypointFEI
      VAProfileH264High               :	VAEntrypointEncSliceLP
      VAProfileVC1Simple              :	VAEntrypointVLD
      VAProfileVC1Main                :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD
      VAProfileJPEGBaseline           :	VAEntrypointVLD
      VAProfileJPEGBaseline           :	VAEntrypointEncPicture
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline:	VAEntrypointFEI
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSliceLP
      VAProfileVP8Version0_3          :	VAEntrypointVLD
      VAProfileHEVCMain               :	VAEntrypointVLD
      VAProfileHEVCMain               :	VAEntrypointEncSlice
      VAProfileHEVCMain               :	VAEntrypointFEI
      VAProfileHEVCMain               :	VAEntrypointEncSliceLP
      VAProfileHEVCMain10             :	VAEntrypointVLD
      VAProfileHEVCMain10             :	VAEntrypointEncSlice
      VAProfileHEVCMain10             :	VAEntrypointEncSliceLP
      VAProfileVP9Profile0            :	VAEntrypointVLD
      VAProfileVP9Profile1            :	VAEntrypointVLD
      VAProfileVP9Profile2            :	VAEntrypointVLD
      VAProfileVP9Profile3            :	VAEntrypointVLD
      VAProfileHEVCMain12             :	VAEntrypointVLD
      VAProfileHEVCMain12             :	VAEntrypointEncSlice
      VAProfileHEVCMain422_10         :	VAEntrypointVLD
      VAProfileHEVCMain422_10         :	VAEntrypointEncSlice
      VAProfileHEVCMain422_12         :	VAEntrypointVLD
      VAProfileHEVCMain422_12         :	VAEntrypointEncSlice
      VAProfileHEVCMain444            :	VAEntrypointVLD
      VAProfileHEVCMain444            :	VAEntrypointEncSliceLP
      VAProfileHEVCMain444_10         :	VAEntrypointVLD
      VAProfileHEVCMain444_10         :	VAEntrypointEncSliceLP
      VAProfileHEVCMain444_12         :	VAEntrypointVLD
      VAProfileHEVCSccMain            :	VAEntrypointVLD
      VAProfileHEVCSccMain            :	VAEntrypointEncSliceLP
      VAProfileHEVCSccMain10          :	VAEntrypointVLD
      VAProfileHEVCSccMain10          :	VAEntrypointEncSliceLP
      VAProfileHEVCSccMain444         :	VAEntrypointVLD
      VAProfileHEVCSccMain444         :	VAEntrypointEncSliceLP
      VAProfileAV1Profile0            :	VAEntrypointVLD
      VAProfileHEVCSccMain444_10      :	VAEntrypointVLD
      VAProfileHEVCSccMain444_10      :	VAEntrypointEncSliceLP



Video Acceleration Information
Decoding
Decode h264 baseline
16x16 to 4096x4096 pixels
Decode h264 main
16x16 to 4096x4096 pixels
Decode h264 high
16x16 to 4096x4096 pixels
Decode vp8
16x16 to 4096x4096 pixels
Decode vp9 profile0
16x16 to 16384x16384 pixels


chromium %U --disk-cache-size=1 --media-cache-size=1 --password-store=basic --enable-accelerated-mjpeg-decode --use-gl=desktop --disable-gpu-driver-bug-workarounds  --disable-features=UseChromeOSDirectVideoDecoder --enable-features=ChromeOSHWAV1Decoder,PlatformHEVCDecoderSupport,VaapiVideoEncoder,VaapiVideoDecoder,CanvasOopRasterization,PreferGLImageProcessor,UseAlternateVideoDecoderImplementation,VaapiLowPowerEncoderGen9x,VaapiVideoDecodeLinuxGL,VaapiIgnoreDriverChecks --disable-gpu-sandbox


Video Acceleration Information
Decoding
Decode h264 baseline
16x16 to 4096x4096 pixels
Decode h264 main
16x16 to 4096x4096 pixels
Decode h264 high
16x16 to 4096x4096 pixels
Decode vp8
16x16 to 4096x4096 pixels
Decode vp9 profile0
16x16 to 16384x16384 pixels
Decode vp9 profile2
16x16 to 16384x16384 pixels
Decode hevc main
16x16 to 16384x16384 pixels
Decode hevc main 10
16x16 to 16384x16384 pixels
Decode hevc main still-picture
16x16 to 16384x16384 pixels
Decode av1 profile main
16x16 to 16384x16384 pixels

★★★★★

Последнее исправление: smilessss (всего исправлений: 1)

Оффтоп конечно, но зачем смотреть полноразмерное видео на широкоформатном мониторе/тв в ооочень (8k) высоком качестве именно через браузер, ) тем более, если «в mpv … работает»?

Браузер замечателен для просмотра видеороликов в оконном режиме, где не требуется запредельное качество. А полноразмерное ‘кино’, это уже формат видеоплееров. Имхо.

krasnh ★★★★
()
Ответ на: комментарий от smilessss

Не, я живу на Skylake, на котором VP9 нет, не то что AV1. Тестировать не на чем, так что я об этих проблемах ничего не знаю.

Вообще всегда имеет смысл делать либо скриншот, либо ещё лучше видео, где хорошо видны артефакты. По внешнему виду кто-нибудь может догадаться, в чём проблема.

i-rinat ★★★★★
()
Последнее исправление: i-rinat (всего исправлений: 1)
Ответ на: комментарий от i-rinat

а я получил 11 gen и хочу завести

https://imgur.com/yC1Lrsf.png

самое забавное что декодинг та работает
но только на некоторых разрешениях

https://www.youtube.com/watch?v=Zv11L-ZfrSg

это даже не артефакты а что-то с цветами и наложениями

rgb \ bgr \ как в старых магнитофонах - при переключении между
pal ntsc

https://github.com/intel/media-driver/issues/1155

AV1 hwdec vaapi visual glitches on Intel Tiger Lake Xe Graphics

это вот именно то

у меня такое чувство что в хромоси какая-то своя реализация управление цветами при декодировании и оно так себе ведёт, свой у них YUV какой-то

smilessss ★★★★★
() автор топика
Ответ на: комментарий от smilessss

Оно ещё и дрыгается да? У меня похожая фигня вроде, на древнем телефоне хром/вивальди . Не в тему, но всё же.

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)
Ответ на: комментарий от smilessss

yC1Lrsf.png

У меня такое ощущение, что проблема — в работе с DMA-BUF. Там декодер даёт кадр в отдельных слоях, а приложение должно из них собрать текстуру, чтобы потом показать. Возможно, декодер выдаёт неправильные метаданные по слоям, или Firefox неправильно их интерпретирует.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

странно что при выключеном ChromeOSDirectVideoDecoder - оно использует какой-то другой но там нет поддержки av1 только vp9

там всё нормально, буду думать как добавить туда av1

smilessss ★★★★★
() автор топика
Ответ на: комментарий от smilessss

https://i.imgur.com/i5Z3Qk3.png

https://i.imgur.com/heHVPvo.png

и вот чудо - никаких пятен

поставил manjaro он же арч для ленивых - там 8k в стоковом firefox завелось сходу, поставил пару пакетов только

значит дело не в патченом хромиуме и вот этом всём
что-то я намудрил в своей убунте и там просто нет поддержки av1 где-то в системе

smilessss ★★★★★
() автор топика
Ответ на: комментарий от i586

хромиум раздулся до таких размеров что там уже год av1 починить не могут

хотя со сток декодером почти работает

ff завелось с одного флага

а всё потому что там всё проще намного и нет этого всего

smilessss ★★★★★
() автор топика
Ответ на: комментарий от smilessss

вот в этом все ребята их хромиума

av1 нет но вы держитесь, вам счастья, здоровья

Спасибо за КЛ! Однако:

Я не помню подробностей, но полагаю, что при просмотре кода AV1 были сделаны некоторые предположения, препятствующие использованию VaapiVideoDecodeAccelerator с этим кодеком (возможно, это как-то связано с 10-битным контентом или кинозернистостью). синтез?А может мы не внимательно рассмотрели путь VDA,поэтому просто исключили его?не помню). В любом случае, VaapiVideoDecodeAccelerator скоро выйдет из употребления, и мы бы не хотели добавлять туда новые кодеки/функции. Я надеюсь удалить VaapiVideoDecodeAccelerator и связанный с ним код к концу года (это, конечно, означает, что VaapiVideoDecoder будет работать с GL в Linux, и у нас есть прототип для этого — CL:3947488 ).

smilessss ★★★★★
() автор топика
Последнее исправление: smilessss (всего исправлений: 1)
Ответ на: комментарий от smilessss

https://chromium-review.googlesource.com/c/chromium/src/ /3952302

Собрал с этим патчем, на amdgpu заработало, нагрузка на проц на 8k видео упала в ~25 раз. Но есть и косяки, если разрешение <720p, то справа появляется вертикальная зеленая полоса ~3% от ширины видео.

arax ★★
()
Ответ на: комментарий от arax

Если кому интересно вот сборка: https://0x0.st/oF-x.tar.xz

Будет работать на современном дистрибутиве, libva должен быть установлен и vainfo показывать, что av1 поддерживается.

Запускать: ./chrome-wrapper --user-data-dir=ПУТЬ_К_КАТАЛОГУ_ГДЕ_БУДЕТ_СОЗДАН_ПРОФИЛЬ --disable-features=UseChromeOSDirectVideoDecoder --enable-features=VaapiVideoDecoder

arax ★★
()
Последнее исправление: arax (всего исправлений: 1)
Ответ на: комментарий от arax

да, на интеле тоже завелось 8k

--use-gl=egl --disable-gpu-driver-bug-workarounds --disable-features=UseChromeOSDirectVideoDecoder --enable-features=VaapiLowPowerEncoderGen9x,DirectCompositionPreferNV12Overlays,DirectCompositionUseNV12DecodeSwapChain,VaapiVideoDecoder,VaapiVideoEncoder --disable-gpu-sandbox

полос нет на 720p

smilessss ★★★★★
() автор топика
Последнее исправление: smilessss (всего исправлений: 1)
Ответ на: комментарий от smilessss

полосу фиксят уже другие патчи на vp9 - у ютуючика всё до 4k - это уже vp9

Зеленая полоса именно на av1 через vaapi, точно не знаю какие алгоритмы у youtube, но на чистом профиле и 8k видео он отдает av1 на всех разрешениях видео, проверено на нескольких роликах.

под какой дистр собрал?)

Собрано под рачем, но должно работать под последними федорой и убунтой. Конкретно это сборка bundled ungoogled-chromium с pgo thinlto и патчем для vaapi-av1.

полос нет на 720p

А меньше?

arax ★★
()
Ответ на: комментарий от arax

Зеленая полоса именно на av1 через vaapi, точно не знаю какие алгоритмы у youtube, но на чистом профиле и 8k видео он отдает av1 на всех разрешениях видео, проверено на нескольких роликах.

у меня он отдаёт vp9 на всём, что до 8k и av1 на 8k

полос нет на 720p - А меньше?

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

Собрано под рачем, но должно работать под последними федорой и убунтой. Конкретно это сборка bundled ungoogled-chromium с pgo thinlto и патчем для vaapi-av1.

работает на убунте 23.04)

smilessss ★★★★★
() автор топика
Ответ на: комментарий от smilessss

у меня он отдаёт vp9 на всём, что до 8k и av1 на 8k

Видимо у youtube какието сложные алгоритмы, но на всякий случай попробуйте это видео: https://www.youtube.com/watch?v=Ac07Qt84WDw с чистым профилем params+--user-data-dir=ПУТЬ_К_КАТАЛОГУ_ГДЕ_БУДЕТ_СОЗДАН_ПРОФИЛЬ.

UseChromeOSDirectVideoDecoder, можете попробовать его использовать, может вам повезёт)

На amdgpu оно вообще не работает.

UPDATE: Вот тут есть av1 с низким разрешением: https://tools.woolyss.com/html5-audio-video-tester/

UPDATE2: Если быть точным то зеленая полоса на этом видео: https://tools.woolyss.com/html5-audio-video-tester/?u=woolyss.com/f/caminande...

arax ★★
()
Последнее исправление: arax (всего исправлений: 2)
Ответ на: комментарий от arax

у меня там vp9

а зеленых полос нет

На amdgpu оно вообще не работает.

там ещё можно с флагами поиграться но да это вроде только под хромбуки заточено, а их вроде нет с amdgpu)

smilessss ★★★★★
() автор топика
Ответ на: комментарий от arax

snap install --channel candidate/hwacc chromium


они таки смогли

Версия 110.0.5481.77 (Официальная сборка), snap (64 бит)

тот самый VaapiVideoDecoder про который говорили в тредах тех


https://imgur.com/MpZXMAj.png

оно просто работает теперь
наши усилия не прошли даром

включается в chrome://flags/

chrome://flags/#use-mojo-video-decoder-for-pepper

но мб оно и из коробки теперь работает

теперь там наконец есть hevc и av1!

главное - запускать БЕЗ всяких флагов

просто - chromium


Video Acceleration Information
Decoding
Decode h264 baseline   16x16 to 4096x4096 pixels
Decode h264 main   16x16 to 4096x4096 pixels
Decode h264 high   16x16 to 4096x4096 pixels
Decode vp8   16x16 to 4096x4096 pixels
Decode vp9 profile0   16x16 to 16384x16384 pixels
Decode vp9 profile2   16x16 to 16384x16384 pixels
Decode hevc main   16x16 to 16384x16384 pixels
Decode hevc main 10   16x16 to 16384x16384 pixels
Decode hevc main still-picture  16x16 to 16384x16384 pixels
Decode av1 profile main   16x16 to 16384x16384 pixels

smilessss ★★★★★
() автор топика
Последнее исправление: smilessss (всего исправлений: 2)
Ответ на: комментарий от smilessss

Поставил

snap install --channel candidate/hwacc chromium
и установил флаг use-mojo-video-decoder-for-pepper, hevc в списке декодирования появился, но av1 нет. Впрочем ничего не работает под amdgpu RDNA2, тестировал под x11 и wayland. Так что похоже придется еще подождать.

arax ★★
()