Архив форума Ace Stream       Wiki        Info

перейти на новый форум
Расширенный поиск  

Автор Тема: Несколько источников в Acestream  (Прочитано 3612 раз)

0 Пользователей и 1 Гость смотрят эту тему.

dimonil

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 1
Несколько источников в Acestream
« : 27 Июня 2015, 22:18:55 »

Приветствую всех!
Хороший проект создали, с перспективой. Вопрос сразу по теме - как правильно запустить сразу много источников, ну например 100-200 каналов? Как пример, я сегодня пользуюсь IPTV проектом Astra. Там это реализовано следующим образом.

make_channel({name = "Первый канал",           input = {input1 .. "1",  input2 .. "1",  input3 .. "1",  matrac}, output = {conf1 .. "ch1" .. conf2}})
make_channel({name = "Россия 1",               input = {input1 .. "2",  input2 .. "2",  input3 .. "2",  matrac}, output = {conf1 .. "ch2" .. conf2}})
make_channel({name = "РОССИЯ 2",               input = {input1 .. "5",  input2 .. "5",  input3 .. "5",  matrac}, output = {conf1 .. "ch3" .. conf2}})
make_channel({name = "ТВЦ",                    input = {input1 .. "3",  input2 .. "3",  input3 .. "3",  matrac}, output = {conf1 .. "ch4" .. conf2}})
make_channel({name = "НТВ",                    input = {input1 .. "4",  input2 .. "4",  input3 .. "4",  matrac}, output = {conf1 .. "ch5" .. conf2}})
make_channel({name = "ТНТ",                    input = {input1 .. "6",  input2 .. "6",  input3 .. "6",  matrac}, output = {conf1 .. "ch6" .. conf2}})
make_channel({name = "РЕН ТВ",                 input = {input1 .. "7",  input2 .. "7",  input3 .. "7",  matrac}, output = {conf1 .. "ch7" .. conf2}})
make_channel({name = "СТС",                    input = {input1 .. "8",  input2 .. "8",  input3 .. "8",  matrac}, output = {conf1 .. "ch8" .. conf2}})
make_channel({name = "Дождь",                  input = {input1 .. "151",input2 .. "151",input3 .. "151",matrac}, output = {conf1 .. "ch9" .. conf2}})
make_channel({name = "Пятница!",               input = {input1 .. "9",  input2 .. "9",  input3 .. "9",  matrac}, output = {conf1 .. "ch10" .. conf2}})
make_channel({name = "Шансон ТВ",              input = {input2 .. "67", input2 .. "67", input3 .. "67", matrac}, output = {conf1 .. "ch11" .. conf2}})
make_channel({name = "Комедия ТВ",             input = {input1 .. "26", input2 .. "26", input3 .. "26", matrac}, output = {conf1 .. "ch12" .. conf2}})
make_channel({name = "Zone Reality",           input = {input1 .. "27", input2 .. "27", input3 .. "27", matrac}, output = {conf1 .. "ch13" .. conf2}})
make_channel({name = "World Fashion",          input = {input1 .. "50", input2 .. "50", input3 .. "50", matrac}, output = {conf1 .. "ch14" .. conf2}})
make_channel({name = "Россия К",               input = {input1 .. "59", input2 .. "59", input3 .. "59", matrac}, output = {conf1 .. "ch15" .. conf2}})
make_channel({name = "Спас",                   input = {input1 .. "60", input2 .. "60", input3 .. "60", matrac}, output = {conf1 .. "ch16" .. conf2}})
make_channel({name = "ТВ 3",                   input = {input1 .. "66", input2 .. "66", input3 .. "66", matrac}, output = {conf1 .. "ch17" .. conf2}})

Я этот скрипт написал сам, поэтому прокомментирую. Создаётся канал, с определённым названием, далее на входе имеем три источники для отказоустойчивости, плюс источник выдающий ролик в случае отказа сразу трёх подобных источников. На выходе имеем конфигурацию, которая описана в conf1, ну и на последок номер канала.

На выходе имеем ссылку вида http://127.0.0.1:14441/ch1

Написал я так же простенький скрипт для запуска Acestream

#!/bin/sh
pid_file="/var/run/acestream.pid"
tranc="acestreamengine"
conf1=" --duration 00:10:00 --publish-dir /var/www/html/streams --cache-dir /tmp/streams"
conf2="--quality SD --category informational --permanent --log-stdout"

case "$1" in
 start)
    echo "Запущен торрент сервер";
    echo `killall -9 $tranc`;
  $tranc --stream-source --name "Первый канал1" --title "Первый канал" --source "http://185.18.205.10:14441/ch1" --bitrate 150000 $conf1 --port 7767 $conf2 &
  $tranc --stream-source --name "Первый канал2" --title "Россия 1" --source "http://185.18.205.10:14442/ch2" --bitrate 150000 $conf1 --port 7768 $conf2 &
        ch_pid=$!
    echo $ch_pid
    echo $ch_pid > $pid_file
    echo `( >>/dev/null )&`;
         ;;
 stop)
    echo "Остановлен торрент сервер";
    echo `killall -9 $tranc`;
         ;;
        *)
    echo "Usage: /etc/init.d/$tranc {start|stop}"
         exit 1
         ;;
 esac

exit 0

Направьте пожалуйста, может есть  более правильное решение для создания таких списков?
Записан