LINUX.ORG.RU

mpv в Slackware.

 , , , ,


0

1

Вот и удалось мне попробовать последний интересующий дистрибутив. Слака оказалась гораздо юзабельнее арча и генты, не говоря уже про всякие совсем васянские дистры даже без собранного ядра. Инсталлятор хорош, нужные пакеты в наличии, ничего не падает, Патрег - бох, все дела. Проблем с зависимостями пока нет, хотя глубоко я ещё не копал. Slackpkg+ и Sbopkg осилил. Но есть вопрос: при sbopkg -i mpv отрабатывает queuefile и предлагает к сборке docutils, libass и ffmpeg. И всё!! Причём ffmpeg в слакбилдах кастрат, кодеков никаких не тянет. Можно было бы решить вопрос, поставив ffmpeg от AlienBOB'а, там полный фарш. Но слакбилдовский mpv с ним не работает, пишет, что слинкован с другим ffmpeg, видимо, с тем кастратом. Как быть-то? На VLC не хочется).

bormant, естественно.

Причём ffmpeg в слакбилдах кастрат

Там просто много всего по-умолчанию выключено:

You can enable a lot of optional (not-autodetected) features by
passing variables to the script (VAR=yes/no ./ffmpeg.SlackBuild):
ASS=yes|no (default: no), requires libass
BLURAY=yes|no (default: no), requires libbluray
BS2B=yes|no (default: no), requires libbs2b
CELT=yes|no (default: no), requires celt
CHROMAPRINT=yes|no (default: no), requires chromaprint
DC1394=yes|no (default: no), requires libdc1394
DECKLINK=yes|no (default: no), requires decklink-sdk
EBUR128=yes|no (default: no), requires libebur128
FDK_AAC=yes|no (default: no), requires libfdk-aac (creates non-redistributable binary)
FLITE=yes|no (default: no), requires flite
FREI0R=yes|no (default: no), requires frei0r
GME=yes|no (default: no), requires libgme
GSM=yes|no (default: no), requires gsm
IEC61883=yes|no (default: no), requires libiec61883 and libavc1394
ILBC=yes|no (default: no), requires libilbc
LADSPA=yes|no (default: no), requires ladspa_sdk
LAME=yes|no (default: no), requires lame
MODPLUG=yes|no (default: no), requires libmodplug
NETCDF=yes|no (default: no), requires netcdf
OPENAL=yes|no (default: no), requires OpenAL
OPENCORE=yes|no (default: no), requires opencore-amr
OPENCV=yes|no (default: no), requires opencv
OPENSSL=yes|no (default: no), creates non-redistributable binary
OPUS=yes|no (default: no), requires opus
RTMP=yes|no (default: no), requires rtmpdump
RUBBERBAND=yes|no (default: no), requires rubberband
SCHROEDINGER=yes|no (default: no), requires schroedinger
SNAPPY=yes|no (default: no), requires snappy
SPEEX=yes|no (default: no), requires speex
TESSERACT=yes|no (default: no), requires tesseract
TWOLAME=yes|no (default: no), requires twolame
VIDSTAB=yes|no (default: no), requires vid.stab
WEBP=yes|no (default: no), requires libwebp
X264=yes|no (default: no), requires x264
X265=yes|no (default: no), requires x265
XVID=yes|no (default: no), requires xvidcore
ZMQ=yes|no (default: no), requires zeromq
ZVBI=yes|no (default: no), requires zvbi

xaizek ★★★★★ ()

Про отличия умолчального конфига ffmpeg от желаемого сказали выше.

слакбилдовский mpv с ним не работает, пишет, что слинкован с другим ffmpeg, видимо, с тем кастратом.
Как быть-то?

# removepkg ffmpeg mpv libass
# slackpkg install ffmpeg
# sbopkg -ki "libass mpv"


Насчет необходимости удаления libass не совсем уверен, но она относительно быстро пересобирается, вреда не будет.

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

в слаке не разбираюсь, но mpv требует, чтобы версия ffmpeg, используемая при сборке (т.е. заголовочные файлы), совпадала с версией в рантайме

решение - пересобрать ffmpeg с нужными опциями, потом пересобрать mpv, указывая на этот ffmpeg

Harald ★★★★★ ()

решение - пересобрать ffmpeg с нужными опциями, потом пересобрать mpv, указывая на этот ffmpeg

Либо, если устраивает ffmpeg от Эрика, удалить ffmpeg с SBo, поставить ffmpeg от Эрика, пересобрать mpv.
Собственно это предложено в фрагменте кода выше. Нужно отметить к тому рецепту наличие slackpkg+, наличие в его конфиге активных хранилищ restricted или как минимум alien.

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

ffmpeg в слакбилдах кастрат, кодеков никаких не тянет

Файл README в слакбилдах нужно читать обязательно.

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

Спасибо большое, всё заработало!

Порядок действий таков:

1) Собираем нужные опциональные зависимости (sbopkg):

docutils, lua, libquvi, lirc, libbluray, libdvdnav, enca, ladspa_sdk, SDL2, jack-audio-connection-kit, OpenAL, wayland, vdpau, oss, libbs2b, portaudio, libfdk-acc

2) Собираем libass (sbopkg) и ставим ffmpeg от Эрика (лучше из restricted).

3) sbopkg -i mpv, только выбираем не (Q)ueueline, а просто (P)ackage. Все зависимости autodetect'ятся при сборке.

lagavulin16 ()
Ответ на: комментарий от ashot

Можно и отредактировать .SlackBuild, но я выше написал более простой путь, слака это простота же). Но это не отменяет чтение Readme.

lagavulin16 ()
Ответ на: комментарий от awesomelackware

А всё потому, что нужно было использовать mkv cо встроенными(текстом разумеется, не хардсаб).

anonymous ()
Ответ на: комментарий от lagavulin16

Если добавить ключик -k — не собирать уже установленное, то можно и quefile.
Список опциональных зависимостей, естественно, предмет личных предпочтений.

bormant ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.