С нами лучше!
Как работает ретрансляция видеопотока или строим собственную CDN


Сделать приемник спутникового сигнала и его перекодировщик в формат, понятный flash плееру - этого еще мало, нужно еще и научиться ретранслировать видеопоток. Как правило, все системы вещания строятся таким образом, что одна часть системы занимается приёмом и транскодированием сигнала, а другая часть его ретрансляцией. Точно также поступил и я, за одним исключением - я совместил ретранслятор и перекодировщик. Т.е. если у вас небольшое число зрителей, вы можете отдавать им поток прямо с того же сервера, который занимается перекодированием. Причем это никак не влияет на производительность, т.к. перекодированием занимаются отдельные потоки программы, а http сервер работает асинхронным образом. Т.е. вещательную http часть я построил по модульному принципу и ей без разницы, откуда брать данные для вещания - от модуля транскодирования спутникового сигнала или от другого ретранслятора.

Однако, здесь нас поджидает один подводный камень. Как я рассматривал в заметке “Технология адаптивного стриминга от Adobe”, flash плеер при воспроизведении видеопотока последовательно запрашивает с сервера файлы фрагментов, с интервалом времени равным продолжительности этих фрагментов. Если строить ретрансляцию по такому же принципу, т.е. ретранслятор периодически будет отправлять запрос вещателю, а тот по его запросу отдавать данные, то каждый ретранслятор будет вносить задержку. С увеличением числа ретрансляторов общая задержка будет возрастать, что не есть хорошо. Так что здесь нам нужно будет поменять сервер с клиентом местами. Ретранслятор будет постоянно ожидать поступления данных, а вещатель, как только данные будут готовы, тут же отправлять их ретранслятору. В этом случае задержка будет определяться только временем физической передачи данных по сети.

Именно так я и построил систему. В итоге сейчас не имеет значения, сколько ретрансляторов мы будем использовать и какими маршрутами данные будут следовать между ними. На всех ретрансляторах данные будут появляться одновременно с их готовностью на вещателе. Также этот факт открывает большие возможности по организации собственной CDN для доставки видеопотока, с такими правилами работы, какие нам только могут взбрести в голову. Кроме того, построенная нами система открывает все возможности для построения пирингового телевидения. Данный вопрос я рассматриваю в следующей заметке - есть ли будущее у пирингового телевидения?

Игорь, Октябрь 2012.



Комментарии Как работает ретрансляция видеопотока или строим собственную CDN (0)
Скрыть комментарии

Нет комментариев

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


Выбрать телеканал





Рейтинг@Mail.ru