Найти в Дзене
L4U

Yandex Browser 24 + Gentoo Linux. Решение проблемы с воспроизведением видео на сайтах.

Судя по ссылкам и устаревшим статьям из интернета, у многих до сих пор имеются проблемы с Yandex браузером и воспроизведением видео. Самое интересное, что например видео с YouTube работают при неисправном libffmpeg, но при этом видео с RuTube уже не воспроизводятся. Та же проблема наблюдалась, например, на сайте Кинопоиск - один сериал или фильм открывается и воспроизводится, а другой нет.

Я сам искал решение и натыкался на старые статьи, рассказывающие как нужно взять старенькие libffmpeg и подпихнуть в папку с Яндекс.Браузером, но сделав это мы увидим, что при вводе команды:

yandex-browser --version

Мы будем наблюдать:

Found ffmpeg: /opt/yandex/browser/libffmpeg.so
avcodec: 3939428
avformat: 3935844
avutil: 3808100
FFmpeg version is too old. Need:
avcodec: 3942500
avformat: 3937636
avutil: 3811172
find_ffmpeg failed, using the integrated library.
Yandex 24.6.1.852 stable

А дальше, по гайдам из интернета будем угадывать версию libffmpeg, подходящую под текущую версию браузера...

Если взять любой из доступных репозиториев Gentoo Linux в котором есть yandex-browser, то можно обнаружить, что ни одна из версий браузеров не хочет работать с системным ffmpeg и в случае чего ругается на версию libffmpeg.

Решение для Gentoo Linux оказалось достаточно простым!

В Gentoo есть пакет media-video/ffmpeg-chromium и в данном пакете есть куча версий:

Доступные версии:
(124) 124
(125) 125
(126) 126
(127) 127

Что означают эти версии? Означают они версию Chromium браузера, например, кодек 127 подходит для версий 127.0.хххх и т.д.

Как сопоставить версии Yandex Browser и Chromium?
Просто в адресной строке пишем:

browser://version/

и жмём Enter.

В первой же строчке увидим:

124.0.6367.852 stable (64-разрядная версия)

Видно, что нам подходит 124-я версия ffmpeg-chromium.

Устанавливаем её:

emerge media-video/ffmpeg-chromium:124

Если она была уже установлена, то просто делаем ссылку на библиотеку libffmpeg.so.124 из папки /usr/lib64/chromium в папку с установленным Яндекс Браузером (у меня была /opt/yandex/browser/)

ln -s /usr/lib64/chromium/libffmpeg.so.124 /opt/yandex/browser/libffmpeg.so

И всё, после проверки версии yandex-browser --version увидим заветные:

Found ffmpeg: /opt/yandex/browser/libffmpeg.so
avcodec: 3942500
avformat: 3937637
avutil: 3811172
Ffmpeg version is OK! Let's use it.
Yandex 24.6.1.852 stable

Ну а для тех, у кого не Gentoo и он не нашел свою версию libffmpeg предлагаю ссылку из ebuild пакета:

deps.gentoo.zip

Там может лежать интересующая вас версия libffmpeg. Но учтите, что это исходный код, его нужно будет сконфигурировать и собрать самостоятельно.

Так же вы можете поискать готовые собранные libffmpeg.so нужной вам версии и переместить её в папку с браузером

P.S. Как вариант, можно вообще использовать версию Yandex установленную с FlatHub, но меня этот вариант не устроил, так как Flatpak версия на некоторых сайтах самопроизвольно перегружает страницу...