Решение проблемы браузера Opera с воспроизведением видео в Ubuntu и подобных дистрибутивах (Linux Mint, KDE neon)
Я перепробовал много разных способов, на дату написания статьи, но ни один способ не помог.
Все они сводились к одному - замена предустановленной браузером библиотеки libffmpeg.so
, на соответствующую библиотеку с поддержкой нужных кодеков.
Не срабатывало, хоть ты что делай.
И вот недавно, на просторах интернета, нашёл один действенный способ с заменой этой библиотеки.
Выполняем последовательность команд в терминале.
Установим пакет для работы с zip-архивами
sudo apt install unzip
Переходим в папку tmp
и скачиваем в неё архив с библиотекой
cd /tmp; wget https://github.com/iteufel/nwjs-ffmpeg-prebuilt/releases/download/0.52.2/0.52.2-linux-x64.zip
Распаковываем скачанный архив
unzip 0.52.2-linux-x64.zip
Удаляем стандартную библиотеку
sudo rm /usr/lib/x86_64-linux-gnu/opera/libffmpeg.so
Перемещаем скачанную библиотеку в папку, где была стандартная
sudo mv libffmpeg.so /usr/lib/x86_64-linux-gnu/opera/
Так же можно объединить все команды в одну и выполнить (первую команду пропущу, т.к. у многих unzip стоит)
cd /tmp; wget https://github.com/iteufel/nwjs-ffmpeg-prebuilt/releases/download/0.52.2/0.52.2-linux-x64.zip && unzip 0.52.2-linux-x64.zip && sudo rm /usr/lib/x86_64-linux-gnu/opera/libffmpeg.so && sudo mv libffmpeg.so /usr/lib/x86_64-linux-gnu/opera/
Сейчас (26.11.2021) актуальна другая версия библиотеки. Команда в одну строку, ниже.
cd /tmp; wget https://github.com/Ld-Hagen/fix-opera-linux-ffmpeg-widevine/releases/download/nwjs-ffmpeg-0.58.0/0.58.0-linux-x64.zip && unzip 0.58.0-linux-x64.zip && sudo rm /usr/lib/x86_64-linux-gnu/opera/libffmpeg.so && sudo mv libffmpeg.so /usr/lib/x86_64-linux-gnu/opera/
Способ рабочий.
Нашёл способ как всё автоматизировать, начиная с автоматического поиска последнего релиза библиотеки и кончая заменой стандартной libffmpeg.so
на скачанную.
Сначала надо установить пакет jq
. Эта утилита работает с массивом данных представленных в формате JSON.
sudo apt install jq
Используя jq
в bash
, мы сможем получить из JSON-массива нужный нам адрес архива с самой свежей библиотекой libffmpeg.so
.
Тело скрипта
#!/bin/bash # Скачиваем файл с JSON-массивом и переименовываем в libffmpeg.json wget -c https://api.github.com/repos/nwjs-ffmpeg-prebuilt/nwjs-ffmpeg-prebuilt/releases/latest -O libffmpeg.json # В переменную $url_latest_reease заносим адрес для скачивания архива с библиотекой (используем: cat, jq, grep) url_latest_reease=$(cat libffmpeg.json | jq -r '.assets[] | .browser_download_url' | grep linux-x64) # Скачиваем актуальный архив с библиотекой и переименовываем в libffmpeg.zip wget -c $url_latest_reease -O libffmpeg.zip # Распаковываем архив с библиотекой unzip libffmpeg.zip # Под рутом удаляем старую библиотеку sudo rm /usr/lib/x86_64-linux-gnu/opera/libffmpeg.so # Под рутом перемещаем распакованную libffmpeg.so вместо удалённой sudo mv libffmpeg.so /usr/lib/x86_64-linux-gnu/opera/ # Удаляем файл с JSON-массивом и архив с библиотекой rm libffmpeg.json libffmpeg.zip # Оповещаем пользователя о том, что скрипт закончил работу echo 'Работа скрипта окончена'
Скрипт можно запускать под простым пользователем, он запросит права суперпользователя в процессе работы.
Сам скрипт тут - скачать.
Вы должны авторизоваться, чтобы оставлять комментарии.
Комментарии ()