Як організувати сервіс телерадіомовлення в інтранет-мережі
Ви хочете дивитися телеканали з цифровою якістю, створювати свої власні трансляції, впровадити цікавий і корисний сервіс в мережі? Сучасні технології дозволяють зробити це вже зараз без використання дорогої апаратури.
Сервіс ТРВ створювався на базі мережі, спрощена схема якої представлена на рис. 1.

/ Sbin / modprobe dvb-core dvb_shutdown_timeout = 0
/ Sbin / modprobe skystar2
/ Sbin / modprobe stv0299
/ Sbin / modprobe -r skystar2
/ Sbin / modprobe -r stv0299
/ Sbin / modprobe -r dvb-core
В ході експлуатації виявилася апаратна проблема у карти SkyStar2 (або ж "крива" реалізація драйверів). Проблема така, що при зникненні сигналу, причиною чого можуть бути різні атмосферні явища, рівень сигналу не завжди відновлюється, і як наслідок, потік з DVB-S карти SkyStar2 відсутня. Справа в тому, що дана картка не розраховувалася для інтенсивної безперебійної роботи, а є лише бюджетним аматорським варіантом супутникового тюнера.
Алгоритм вирішення проблеми наступний:
- Завершення додатків використовують DVB-S карту SkyStar2.
- Перезапуск драйвера DVB-S карти SkyStar2 (в цей момент карта инициализируется).
- Повторний запуск додатків (конкретно VLC).
Значення вихідного потоку (змінна thread) отримано експериментально на основі моніторингу мережевого інтерфейсу. Як тільки значення потоку стає нижче заданого порогу, виконуються дії описані вище.
thread = $ (tcpstat - o '% B' - F - s 7 | awk - F. '
sig 0 = `dvbsnoop - n 1 - timeout 10 - s signal - adapter 0
| tail - n 1 | awk - F \ '
| tail -n 1 | awk -F \ '' `; sig2 = `dvbsnoop -n 1 -timeout 10 -s signal -adapter 2
| tail -n 1 | awk -F \ '' `;
echo $ sig0 $ sig1 $ sig2 $ thread >> / usr / dvb / log
if [$ thread - lt 3300000]; then