2021-02-06


Mplayer,appimage static,deb package compilation

Наскоро компилирах Mplayer 🎬️ с поддръжка на AV1 видео codec. Тествах в Ubuntu 18.04.
mplayer-dav1d-video-settings
Преди всичко добавям хранилището на mpv с 📎️dav1d библиотеката 📎️launchpad.net Подготовка и изтегляне на пакети с изходен код. "Трябва да добавите адреси-URI от тип „source“ в sources.list".
add-linux-source-repository

В терминал:

sudo apt update
sudo apt install subversion build-essential curl git devscripts dpkg-dev fakeroot
sudo apt-get build-dep mplayer

По преценка, включване на допълнителни, външни библиотеки:

sudo apt install libx52pro-dev xserver-xorg-input-joystick-dev libopusfile-dev libglew-dev libgl1-mesa-dev libglm-dev libmpc-dev libmpcdec-dev libmpfr-dev libweed-dev libobs-dev liblivemedia-dev libvmtk-dev libdumbnet-dev gnunet-dev libexodusii-dev libvcdinfo-dev xmms2-dev libxmmsclient-dev libdvdread-dev libcdparanoia-dev libfontconfig1-dev libfribidi-dev libgnutls28-dev libplymouth-dev libcal3d12-dev libmpcdec-dev libssh-gcrypt-dev liblircclient-dev libnutclient-dev libglide3-dev libssl1.0-dev libvdpau-va-gl1 libsvgpp-dev libsdl-kitchensink-dev libsmpeg-dev libsdl-pango-dev libsdl-sge-dev libsdl-console-dev libsdl-gfx1.2-dev libsdl2-gfx-dev libsndifsdl2-dev oss4-dev libass-dev libgif-dev libv4l-dev libtirpc-dev libtirpc1 libjansson-dev libjansson4 libgnutls28-dev libgnutls30 liblmdb-dev libvulkan-dev nvidia-cuda-dev libcupti-dev libcaffe-cuda-dev libsdl2-dev
mplayer-gui-audio-settings

Използвам последната налична версия MPlayer SVN-r38245

в терминал:

svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer

В home се появява директория "mplayer". Може да се обновява периодично.

svn update

Така може да се видят направените промени и поправки в кода на програмата. Виждам, че е добавена нова ревизия - 38247

mplayer-update-svn-revision
При изпълнение на ./configure скрипта, ще се изтегли git образец на ffmpeg в $HOME /mplayer. Тук изолзвам почти същите опции, които са по подразбиране при изграждане на .deb пакет.
./configure --prefix=/usr --confdir=/etc/mplayer --enable-gui --enable-xvmc --enable-menu --disable-arts --language=all --enable-dynamic-plugins --enable-debug --enable-crash-debug --enable-radio-capture --enable-radio

При компилиране може да се включи само make или за ускоряване на процеса, добавен флаг j, със стойност равна или по-малка на действащите ядра в системата:

make -j4
sudo make install
За да се използва GUI - Gtk2 графичен интерфейс е нужна инсталация на skin (кожа) по избор. Изтегляне в $HOME и инсталиране на Clearlooks-multilingual-2.0.5.tar.bz2
📎️ MPlayer/skins/
📎️ multilingual-2.0.5.tar.bz2, последователно изпълнение:
sudo su
tar -xvf Clearlooks-multilingual-2.0.5.tar.bz2 -C /usr/share/mplayer/skins
ln -sfvn Clearlooks /usr/share/mplayer/skins/default
gtk-update-icon-cache -qtf /usr/share/icons/hicolor
update-desktop-database -q
mplayer-demuxers-codecs-settings
Има възможност и за създаване на mplayer.deb. За справка вижте README. Не съм сигурен, но такава имплементация на пакет компилиран с libdav1d4, може би ще се появи в Ubuntu 21.04. Редакция на файла rules, който се намира в $HOME /mplayer /debian. Към текста в CONFIGURE_FLAGS се добавя --enable-gui, евентуално без --enable-debug --enable-crash-debug. Пак там, в скрипта daily-build.sh се описва точната версия от която има нужда. По подразбиране е посочена:
dch --create --empty --package mplayer -v 2:1.0~svn${version} "Daily build"

Аз търся последните разработки и правя промяна:

echo $version > snapshot_version
dch --create --empty --package mplayer -v 2:38245~svn${version} "Daily build"

Open terminal върху mplayer folder с възможни опции:

debian/daily-build.sh -d
debian/daily-build.sh -b
След всичко в $HOME се създават следните .deb пакети download 📥️
mplayer-doc_38245_all.deb, mplayer-dbg_38245_amd64.deb, mencoder_38245_amd64.deb, mplayer_38245_amd64.deb, mplayer-gui_38245_amd64.deb със skins по default - Blue, clearplayer (намалено ниво на звука), mini. Може да се изтеглят и други. Добавяне на нова тема, предварително изтеглена в $HOME
tar -xvf Clearlooks-multilingual-2.0.5.tar.bz2 -C /usr/share/mplayer/skins
mplayer-cyrillic-subtitles-srt-PTSansCaption
mplayer-ssa-ass-subtitle-rendering
Направих Mplayer.Appimage за себе си. Действа с GLIBC 2.27 и по-високи. Например... openSUSE TW GLIBC 2.32, CentOS 8, CentOS Stream GLIBC 2.28, Ubuntu 18.04, Linux Mint 19.3, Fedora 33, MX Linux-19, Ubuntu 20.04.
ldd --version
Закачам два файла с еднакво съдържание. Компресиран единичен пакет и разархивиран Appimage (не изисква "fuse"), който се изпълнява от ./AppRun, след като получи права за изпълнение. 05.03.2022 г. отстранена грешка - "gmplayer: symbol lookup error: /usr/lib64/libgio-2.0.so.0: undefined symbol: g_module_open_full" download 📥️

⏭️ Важно ! ⏮️

Mplayer чете настройки и от скрита директория .mplayer в $HOME. Там в config файла трябва да се добави тази инструкция:
lavdopts=threads=4
mplayer-ssa-ass-subtitle-rendering
Нишките (threads) би трябвало да са равни на броя ядра, налични за процесора. Могат да се увеличат до 8. Това разпределя равномерно "товара" при възпроизвеждане на видео, ако кодекът поддържа multiple threads. http://doc.ubuntu 📎️

Тук xfce4-cpufreq-plugin показва стойности за моята система:

xfce4-cpufreq-plugin
При случаен проблем - премахване на директорията .mplayer в $HOME и нови настройки. VDPAU поддръжката е пряко свързана с версията на драйвера. Например при GeForce GTX 760, Linux Mint, Nvidia 450.80.02 или 450.102.04 не успях да го експлоатирам. При 460.32.02 всичко работи. Лесен начин за инсталиране на Nvidia Driver за Ubuntu 18 ... Linux Mint 20.1.
📎️ ⏭️ Виж тук ... ⏮️

Опис за мен:

Кои видео драйвери са закачени към наличните ядра

dkms status

GPU name,RAM... :

glxinfo -B
nvidia-smi
cat /proc/driver/nvidia/version
sudo apt-get install hardinfo
cat /etc/*release*

Play video:

mplayer -ao pulse -vo xv -lavdopts threads=4 video.mkv

video outputs :

./AppRun -vo help
./mplayer -vo help

Available video codecs:

./mplayer -vc help
./AppRun -vc help

При по-слаб хардуер е възможно подобно съобщение:

mplayer-ssa-ass-subtitle-rendering
mplayer -ao pulse -vo xv -lavdopts threads=4 video.mkv > mplayer.log 2>&1




Няма коментари :

Публикуване на коментар

Забележка: Само членове на този блог могат да публикуват коментари.