1 (30-05-2010 17:32:44 отредактировано adminnu)

Тема: Транслятор IPTV

Здравствуйте!

Эпилог: В нашей сети есть IPTV, вещание multicast-ом. Потоки поступают по протоколу rtp.

Требования: перенаправлять вещание IPTV TCP-пакетами по протоколу HTTP, по VPN-соединению.

Особые требования: вещание будет только для ограниченного, небольшого круга людей. Необходимо, чтобы вещание транслировалось только по запросу IPTV-клиентов, а не постоянно, то есть происходило отключение потока после отключения клиента. Желательно распределения качества видео/аудио картинки по портам (1) для коммуникатора - с уменьшенным битрейтом и размером картинки, (2) для ПК - без изменения.

Оборудование: FreeBSD 8.0-RELEASE-p3, vlc-1.0.6,3, udpxy-1.0.16, pf и ipfw на время настройки отключены.

Мои решения и возникшие проблемы:

Использовал для данного вещания 2 способа.

1 способ VLC:

VLC запускал со следующими параметрами:

vlc --ttl 12 -I telnet --telnet-password 123

После телнета:

new channel broadcast enabled
setup channel input rtp://@IP входящего потока:Порт входящего потока
setup channel output #std{access=http,mux=ts,dst=0.0.0.0:Порт для запросов}
control channel play

(Плюсы)
Вещание прекрасное, поврежденных пакетов нет, есть возможность изменения картинки благодаря #transcode и множество других функций.
(Минусы)
Постоянное вещание после control channel play, при большом количестве потоков сильно сказывается на трафике.

2 способ udpxy:

Запускаю со следующими параметрами:

udpxy -p Порт для запросов -a IP-для запросов -S -c 4  -M 30 -B 1Mb

(Плюсы)
Появляется возможность открывать любые потоки благодаря изменению URL, а не настроек сервера. При отсутствии IPTV-клиентов, трафик не используется.
(Минусы)
Большое кол-во поврежденных пакетов. Или не доработан udpxy или руки-криворуки.  Нет изменения качества видео-аудио.

Вывод:
Что сделать, что-бы трансляция частично или полностью удовлетворяла моим требованиям.
Низкоприоритетным параметром является преобразование качества. Высокоприоритетным параметром сжигание трафика без клиентов, и поврежденные пакеты.
Как это реализовать с помощью VLC или починить udpxy для передачи без артефактов.