Насколько реально сделать так, чтобы один процесс обслуживал один транспондер? У меня нечто подобное начиналось, когда попытался в один процесс запихнуть прием и пересылку сразу 30 каналов. Разнес по 8 каналов на процесс, и на том же железе без проблем все заработало.
Народ, ну вы чё??? Почитайте документацию к Астре, там всё понятно!!! На каждый процесс (транспондер) создаете свой конфиг
#!/usr/bin/astra
pidfile("/var/run/ntv_12399.pid")
dvb = dvb_tune({
type = "S",
adapter = 15,
buffer_size = 1024,
tp = "12399:r:27500",
lnb = "10750:10750:10750",
tone = true,
lnb_sharing = false
})
cam_1 = newcamd({
name = "cam_1",
host = "127.0.0.1", port = "7001",
user = "ntv", pass = "ntv",
key = "0102030405060708091011121314",
disable_emm = true,
})
make_channel({name = "TNT",
input = {"dvb://dvb#pnr=10302&cas_data=040600&cam=cam_1"},
output = {"http://0.0.0.0:11501","udp://237.2.15.1:1234#cbr&sync=2"},})
make_channel({name = "Pyatnica!",
input = {"dvb://dvb#pnr=10303&cas_data=040600&cam=cam_1"},
output = {"http://0.0.0.0:11502","udp://237.2.15.2:1234#cbr&sync=2"},})
make_channel({name = "STS",
input = {"dvb://dvb#pnr=10306&cas_data=040600&cam=cam_1"},
output = {"http://0.0.0.0:11503","udp://237.2.15.3:1234cbrsync=2"},})
make_channel({name = "TV-3",
input = {"dvb://dvb#pnr=10308&cas_data=040600&cam=cam_1"},
output = {"http://0.0.0.0:11504","udp://237.2.15.4:1234#cbr&sync=2"},})
и по такому примеру на каждый транс, каждый конфиг называите по своему, присваиваетет права на выполнение дальше запускаете каждый процесс отдельно с & , либо создаете еще один скрипт такого содержания для запуска конфигов
#!/bin/bash
/usr/local/./1 &
sleep 5
/usr/local/./2 &
sleep 5
/usr/local/./3 &
sleep 5
где /usr/local/ полный путь к скрипту запуска Астры, 1,2,3 - имена скриптов запуска Астры
ну а это пример скрипта для остановки процессов Астры
#!/bin/bash
pid=`ps -e | awk '/1/ {print $1; exit}'`
kill -9 $pid
pid=`ps -e | awk '/2/ {print $1; exit}'`
kill -9 $pid
pid=`ps -e | awk '/3/ {print $1; exit}'`
kill -9 $pid