Заметки о решаемых задачах АйТишников

Сделал - запиши. Нашёл - сохрани :)

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

Opera не показывает некоторые видео в linux

Opera не показывает некоторые видео в linux

 

 

 

Решение проблемы браузера Opera с воспроизведением видео в Ubuntu и подобных дистрибутивах (Linux Mint, KDE neon)

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

Не срабатывало, хоть ты что делай.

И вот недавно, на просторах интернета, нашёл один действенный способ с заменой этой библиотеки.

Готовый скрипт, полностью автоматизирующий работу, можно найти ниже описанной последовательности команд (не забудьте проверить, что установлен пакет jq).

Выполняем последовательность команд в терминале.

Установим пакет для работы с 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 'Работа скрипта окончена'

Скрипт можно запускать под простым пользователем, он запросит права суперпользователя в процессе работы.

Сам скрипт тут - скачать.

 

12 мая 2021, 19:26    Александр Linux 0    1598 0

 

 

 

 



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

    Вы должны авторизоваться, чтобы оставлять комментарии.