С нами лучше!
Телевидение через Интернет: как всё устроено


18 сентября 2012 года мы запустили собственную интернет трансляцию сразу нескольких новых телеканалов из разных стран мира – это и Россия, и Франция, и Великобритания, и ряд других стран (полный перечень каналов собственного интернет-вещания доступен на главной странице). Все трансляции осуществляются в прямом эфире.

Являясь ведущим разработчиком данной системы онлайн вещания, я решил написать ряд заметок, посвященных вопросам организации собственного вещания через Интернет, тем сложностям, с которыми нам пришлось столкнуться и путями их решения, а также обозначить преимущества и недостатки данной системы по сравнению как с решениями мира Open Source, так и профессиональными. Учитывая, что в свободном доступе не так много информации по данному вопросу, возможно, она окажется в чем-то полезной.

О технологии.

В качестве источника сигнала мы используем сигнал со спутниковой антенны, далее осуществляется его программное декодирование, на выходе которого получаем несжатое видео и аудио. И повторное кодирование видеокодеком H.264 и аудиокодеком AAC. Далее потоки на лету мультиплексируются в так называемые фрагментированные mp4 файлы и доставляются по HTTP протоколу зрителям. Просмотр трансляции происходит через флеш плеер.

Перечислю ключевые моменты, которые выделяют данную разработку от любых других подобных решений, как из мира Open Source, так и коммерческих:

  • Трансляция осуществляется по технологии адаптивного HTTP стриминга от Adobe. Вопросы, посвященные выбору формата вещания я разметил здесь – выбор формата вещания.

  • Используется собственный видеокодек стандарта H264, кодирующий видео в режиме реального времени. Именно им у нас производится кодирование всех видеопотоков. О том, зачем было разрабатывать свой видеокодек, и не лучше ли было бы использовать открытый видеокодек x264, читайте в заметке “выбираем видеокодек”.

  • Был разработан собственный упаковщик, осуществляющий мальтиплексирование аудио и видео данных в формат, аналогичный формату файлов f4f от Adobe, предназначенный для адаптивного http стриминга. О том, почему бы не использовать готовый packager читайте на странице зачем создавать свой http сервер.

  • Собственный http сервер онлайн вещания, осуществляющий отправку фрагментированного видео клиентам. Почему не Apache или nginx – можно прочитать там же - зачем создавать свой http сервер.

  • Используются собственные ретрансляторы видеопотока (как работает ретрансляция или строим свою CDN), позволяющие организовать рапределенную сеть доставки контента или топологию пиринговой сети (есть ли будущее у пирингового телевидения?) и ретранслировать любое число каналов.

  • Весь код написан на языке С++.

  • Высокая стабильность работы, отсутствие так называемых segmentation fault и утечек памяти (методика разработки).

  • Работа в любых, даже самых суровых условиях - при отстутсвии сигнала, его низком уровне, сбоях в работе сети. Во всех этих случаях система работает стабильно и автоматически возобновляет корректную работу, как только сигнал нормализуется, т.е. отсутствует необходимость осуществлять какой бы то ни было контроль за работой системы.

  • Реализована возможность одним вещателем принимать, перекодировать и транслировать в сеть любое число каналов, зависящее только от производительности сервера.

Все перечисленные характеристики позволяют поставить данную систему в один ряд с профессиональными решениями для онлайн вещания, а также использовать её телеканалами для организации собственного вещания.

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

У вас возникли вопросы, замечания, или предложения? Пишите, буду рад ответить на них. Вы всегда можете связаться со мной через форму обратной связи на сайте.

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



Комментарии Телевидение через Интернет: как всё устроено (1)
Скрыть комментарии
Комментарий от: lenok74, от 19-12-2012 00:35,
Вам не дано предугадать,как отразится опус Ваш...
 
» Ответить на комментарий...
» Посмотреть все ответы - 2

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


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





Рейтинг@Mail.ru