Setup AceStream with MPV and external HDD cache (KDE Plasma)

Полное руководство по настройке Ace Stream + MPV в Manjaro Linux (KDE Plasma 6)
Этот гайд решает три главные проблемы: падение движка из-за Python-ошибок, забивание системного SSD гигабайтами кэша и ручной запуск ссылок через консоль.
Шаг 1. Установка необходимых пакетов

Установите сам движок Ace Stream (из AUR), плеер mpv и инструмент для отправки системных уведомлений:

Bash

pamac build acestream-engine
sudo pacman -S mpv libnotify

Шаг 2. Перенос кэша на другой диск и настройка службы

По умолчанию Ace Stream пишет гигабайты P2P-кэша в системный корень. Перенесем его (например, на второй диск в /mnt/2TB_2/), попутно решив проблему с правами доступа через запуск от root.

Создайте папку для кэша на вашем жестком диске:
Bash

    mkdir -p /mnt/2TB_2/acestream_cache
Откройте редактор переопределения службы systemd:
 Bash

    sudo systemctl edit acestream-engine.service
Полностью замените содержимое или вставьте в секцию [Service] следующие строки:
 Ini, TOML

    [Service]
    User=root
    ExecStart=
    ExecStart=env PYTHON_EGG_CACHE=/var/lib/ACEStream/Python-Eggs /usr/bin/acestream-engine --client-console --cache-dir /mnt/2TB_2/acestream_cache/
(Примечание: Запуск от root необходим, чтобы у движка гарантированно был доступ к любым внешним точкам монтирования, что предотвращает критическую ошибку инициализации AttributeError: 'NoneType' object has no attribute 'get_all_downloads').

Примените настройки, включите автозапуск и запустите движок:
Bash

    sudo systemctl daemon-reload
    sudo systemctl enable acestream-engine.service
    sudo systemctl start acestream-engine.service
Проверьте статус службы через 5 секунд:
Bash

    systemctl status acestream-engine.service
Статус должен быть зеленым: active (running).

Шаг 3. Создание скрипта-посредника под MPV

Плеер mpv работает с P2P-потоками гораздо стабильнее, чем VLC, и умеет правильно обрабатывать HTTP-редиректы 302 Found, которые генерирует Ace Stream.

Создайте папку для пользовательских скриптов и сам скрипт:
Bash

    mkdir -p ~/.local/bin
    nano ~/.local/bin/ace-click.sh
Вставьте в него следующий код:
Bash

    #!/bin/bash
    # Очищаем входящий аргумент от пробелов и переводим в нижний регистр
    RAW_URL=$(echo "$1" | tr '[:upper:]' '[:lower:]' | tr -d '[:space:]')
    # Вытаскиваем только чистый 40-значный хэш трансляции
    CID=$(echo "$RAW_URL" | grep -oE '[0-9a-f]{40}')

    if [ -z "$CID" ]; then
        notify-send "Ace Stream" "ID трансляции не найден в ссылке" --icon=mpv
        exit 1
    fi

    # Формируем корректный URL для локального API движка
    FINAL_URL="http://127.0.0.1:6878/ace/getstream?id=${CID}"

    # Запускаем mpv с выделением кэша в ОЗУ для плавного воспроизведения
    mpv --cache=yes --demuxer-max-bytes=500MiB --demuxer-max-back-bytes=100MiB "$FINAL_URL"
Сделайте скрипт исполняемым:
Bash

    chmod +x ~/.local/bin/ace-click.sh

Шаг 4. Интеграция в KDE Plasma 6 (Запуск в один клик)

Чтобы ссылки acestream:// открывались автоматически из браузера или Telegram, зарегистрируем скрипт в системе.

Создайте системный ярлык приложения:
Bash

    nano ~/.local/share/applications/ace-stream-mpv.desktop
Вставьте конфигурацию плеера (обязательно замените ИМЯ_ПОЛЬЗОВАТЕЛЯ на ваше реальное имя в системе, узнать его можно командой whoami):
Фрагмент кода
[Desktop Entry]
    Name=AceStream MPV Player
    Exec=/home/ИМЯ_ПОЛЬЗОВАТЕЛЯ/.local/bin/ace-click.sh %u
    Type=Application
    Terminal=false
    MimeType=x-scheme-handler/acestream;
    Icon=mpv
Свяжите протокол acestream:// с созданным ярлыком и обновите кэш приложений KDE:
Bash

    xdg-mime default ace-stream-mpv.desktop x-scheme-handler/acestream
    kbuildsycoca6

Шаг 5. Важная деталь перед перезагрузкой

Поскольку мы перенесли кэш на жесткий диск, этот диск обязан быть смонтирован в системе до того, как запустится служба Ace Stream.

Чтобы диск монтировался автоматически при старте компьютера:

Откройте Системные настройки KDE.

Перейдите в раздел Внешние накопители ➔ Съемные устройства.

Найдите свой жесткий диск в списке и отметьте галочками пункты «Монтировать при входе в систему» и «Монтировать при подключении».

Примените настройки.

Готово!

Теперь всё настроено железно. При клике на любую ссылку acestream:// в браузере система сама передаст её скрипту, движок подгрузит кэш на HDD, а mpv развернет плавную трансляцию. И всё это будет работать автоматически даже после перезагрузки!

Thank you but i am pretty sure the contributions section is supposed to be more universal and hence in English. Moved to section other languages.

1 Like