Время для прочтения: 1 мин. 50 сек.

Сказ о том, как я AceProxy в Ubuntu 16.10 поднимал

AceProxy - питоновский Ace Stream HTTP-прокси, созданный для медиа-платформы Ace Stream, которая является децентрализованной/распределенной системой поставки и хранения мультимедийных данных, предназначенная для создания интернет-сервисов с функциями AVoD (Аудио и Видео по Запросу) и Live Streaming («живого»/потокового вещания), с обширной социальной и интерактивной составляющей.

Установка VLC

Обновляем пакеты на сервере:

sudo apt-get update

Добавляем пакет vlc-nox (это vlc, собранный без иксов):

sudo apt-get install vlc-nox

Пробуем запустить vlc:

sudo cvlc -I telnet \
    --clock-jitter -1 \
    --network-caching -1 \
    --sout-mux-caching 2000 \
    --telnet-password admin

Если при первом запуске, вы получите ошибку о невозможности запуска сервера от рута:

VLC is not supposed to be run as root. Sorry.
If you need to use real-time priorities and/or privileged TCP ports
you can use /usr/bin/vlc-wrapper (make sure it is Set-UID root and
cannot be run by non-trusted users first).

Можно сделать небольшой хак в недрах самого vlc. Для чего в файле /usr/bin/vlc замените строку geteuid на getppid:

sudo sed -i 's/geteuid/getppid/' /usr/bin/vlc

Если вы будете собирать vlc из исходников, то просто скомпилируйте его с флагом --enable-run-as-root.

Установка Ace Stream

Для начала мы ставим версию 2.х из репозитория, а уж потом обновляем её до актуальной 3.х простой заменой файлов (это работает, проверено).

Добавляем репозиторий в /etc/apt/sources.list:

sudo deb http://repo.acestream.org/debian/ wheezy main

Скачиваем ключ:

wget -O - http://repo.acestream.org/keys/acestream.public.key | apt-key add -

Обновляем пакеты на сервере:

sudo apt-get update

Устанавливаем acestream 2.х:

sudo apt-get install acestream-engine

Сливаем себе зависимости для версии 3.х:

sudo apt-get install python-setuptools
sudo apt-get install python-m2crypto
sudo apt-get install python-apsw

Находим здесь ссылку на дистриб под вашу ОС и качаем его:

wget "http://dl.acestream.org/linux/acestream_3.1.16_ubuntu_16.04_x86_64.tar.gz"

Создаём временную директорию:

mkdir /tmp/acestream

Распаковываем полученный архив:

tar zxvf acestream_3.1.16_ubuntu_16.04_x86_64.tar.gz -C /tmp/acestream

Копируем соответствующие файлы из временной папки в корневую папку /opt/acestream:

sudo mv /tmp/acestream/acestream_3.1.16_ubuntu_16.04_x86_64/ /opt/acestream

Проверяем версию установленного приложения:

/opt/acestream/acestreamengine --version

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

Установка AceProxy

Доставляем зависимости:

sudo apt-get install python-gevent git python-psutil python-pkg-resources

Клонируем себе обновляемый форк репозитория ValdikSS:

cd /opt
git clone https://github.com/AndreyPavlenko/aceproxy.git

Редактируем конфиг прокси /opt/aceproxy/aceconfig.py:

# Автоматом запускать Ace Stream при старте прокси
acespawn = True

# Команда запуска движка Ace Stream
acecmd = "/opt/acestream/acestreamengine \
    --client-console \
    --live-cache-type memory \
    --live-mem-cache-size 209715200 \
    --upload-limit 0 \
    --live-buffer 60"

# Включаем использование VLC
vlcuse = True

# Команда запуска VLC
vlccmd = "cvlc -I telnet \
    --clock-jitter -1 \
    --network-caching -1 \
    --sout-mux-caching 2000 \
    --telnet-password admin"

# Так установите эти переменные
videodelay = 0 
videoobey = False 
videopausedelay = 0

Запуск AceProxy

В простейшем случае запуск выглядит так:

python /opt/aceproxy/acehttp.py > /var/log/acehttp.log 2>&1 &

Проверка

Для проверки возьмите плейлист из вашего прокси по адресу:

http://ваш_домен:8000/torrent-telik/playlist.m3u

Откройте полученный плейлист в любом плеере с поддержкой потокового видео, например VLC.

Будут вопросы, пишите в комментах.

Ссылки

Поделиться
Плюсануть
Телеграмнуть

Для вставки кода используйте HTML-теги
<pre><code class="php">ваш код</code></pre>

Добавить комментарий

Такой e-mail уже зарегистрирован. Воспользуйтесь формой входа или введите другой.

Вы ввели некорректные логин или пароль

Извините, для комментирования необходимо войти.

Нажимая на кнопку "Отправить", я даю согласие на обработку персональных данных.

2 комментария

сначала новые
по рейтингу сначала новые по хронологии
Александр

Подскажите пожалуйста, как правильно дать рут доступ асе, чтоб можно было прописать путь к кэшу в раздел нтфс? При попытке указать путь - нет прав. Спасибо.

Автор
Кобзарёв Михаил

Достаточно правильно указать путь в параметре --cache-dir, если --live-cache-type=disk (по дефолту оно так). Подробности в официальном мануале есть.