Создавая проект, мы перепробовали много моделей внешних видеокамер (фиксированных, поворотных, мобильных), дорабатывая и приспосабливая их под наши нужды. Перепробовали несколько серверных решений, доводя их до ума вместе с разработчиками. Сами написали мобильные приложения для Android и iOS. Проект получился очень непростым, но мы постепенно отработали каждый элемент системы до состояния высокой эффективности. Развитие продолжается, однако уже сейчас есть что рассказать.
Это первая, обзорная статья. В ней мы расскажем о том, как запускали и развивали этот проект, из чего состоит техническое решение, как установить веб-камеру в клетке у льва (спойлер — договориться со львом), и зачем люди со всей России смотрят на Сочи через наш сайт. Если этот пост покажется интересным, мы можем рассказать о проекте более детально.
С технической стороны проект Сочи.Камера разбивается на три части:
1) снять изображение;
2) передать его на сервер видео трансляции;
3) показать стрим на сайте.
И всё это в «прямом эфире».
Пойдём последовательно.
Камеры.
Камеры на сети стоят разные. За почти 10 лет перепробовали многие модели, часть из протестированных так и стоят на сети. Камеры унифицированные, стандартные, протокол, который мы используем — RTSP, поддерживается практически каждой типовой моделью. Стоимость камер сильно упала с 2008 года, а качество изображения сильно выросло. Тогда простая статичная камера обходилась в сумму порядка 40 тысяч рублей, сегодня за те же деньги можно купить поворотную Full HD с возможностью «патрулирования по точкам», поставить её на вышке, и она будет давать динамичное изображение. Обычная же статичная камера сегодня стоит всего 5-7 тысяч (не забывайте про скидки).
Качество изображения с современных камер – практически телевизионное, совсем не то изображение в веб-камере, к которому мы все привыкли – маленький тёмный квадрат с частотой 1 кадр в секунду.
В последнее время остановились на паре моделей: Hikvision
и SNR
Они малошумные, с хорошим эффектом ночной съемки за счет современной матрицы.
Каждая камера отдаёт два потока: Full HD (скорость 4-6 Мбит/сек) и SD (512 Кбит/сек), на сайте есть переключатели HD/SD. Это делается для того, чтобы пользователи с не быстрым интернетом могли включить щадящий SD-режим. Он же используется у нас в мобильных приложениях, потому что на маленьком экране разница между Full HD и SD практически незаметна. Конечно же, на рынке представлено множество камер с разрешением выше Full HD, например 4Мп. Мы пробовали их использовать, но практика показала непригодность таких разрешений для онлайн-трансляций в интернете. Во-первых, не каждый интернет-канал такое передаст без потерь, и не каждое клиентское устройство сможет безболезненно этот поток вывести на экран. В результате трансляция может идти с рывками и артефактами, всё-таки интернет – это не локальная сеть. Ну и в довершение оказалось, что подавляющее большинство пользователей смотрят камеры в оконном, а не fullscreen режиме, то есть на выходе разница в битрейтах и разрешениях им вообще не видна. В итоге даже 4-мегапиксельные камеры мы перевели в режим 2Мп 1920х1080. Что касается программного обеспечения, то в самих камерах стандартная заводская прошивка, как правило, мы ничего там не меняем.
Сейчас в общем доступе порядка 318 камер. Запись ведётся на ~ 115-120 камер, которые относятся к дорожной обстановке. Запись нужна из-за необходимости разбора ДТП, что происходит довольно часто. Мы не записываем камеры, которые смотрят на природу, на закаты, на горы и так далее. Сервера записи — дорогой ресурс, зря его мы стараемся не расходовать.
Насчет приватности — камеры установлены так, чтобы лица не читались. Мы ставим панорамные камеры, чтобы было видно общую сцену, например, желтенькая машинка бьет синенькую, светофор горит там такой-то, не более того. Тем не менее ГИБДД и полиция обращаются часто, каждую неделю и даже, бывает, каждый день: просят показать записи.
Монтаж и обслуживание камер делаем через подрядчиков. При этом, если проблемы и бывают, то от слишком точного следования инструкциям. Приходится делать больше, чем по инструкции, учитывать, например, перепады давления и температуры. В процессе работы появились свои хитрости, например, соединение Ethernet-кабеля внутри корпуса камеры, а не в монтажной коробке или штатном соединительном «бочонке». Изолировать веб-камеры приходится гораздо серьёзней по сравнению со штатными средствами, чтобы они несколько лет спокойно работали без попадания влаги внутрь.
За размещение камер ничего не платим, это момент принципиальный, так как наш проект некоммерческий — изображение идёт в открытый доступ, мы ничего с него не зарабатываем. Так что, если кто не хочет бесплатно размещать, там не размещаем. В городе много красивых мест и много желающих поставить наши камеры. Владельцы зданий довольно охотно дают разрешение на установку, просто потому что мы на камере даем рекламу этих заведений бесплатно. Посещаемость у нас достаточно высокая для регионального сайта, свыше 500 000 человек ежемесячно, мы конкурируем с большими новостными местными порталами. Так что проблема скорее подать канал к интересному месту, чем собственно поставить камеру.
В целом, после того, как мы нашли оптимальные решения для разных ситуаций установки, камеры – это где-то 10% того, из чего состоит проект Сочи.Камера. Главное не в них, а скорее в каналах передачи видео и программном обеспечении для трансляции на сайте.
Каналы передачи видео.
«Бизнес-Связь» – интернет-провайдер, оператор связи, у нас своя сеть по городу, большое количество узлов. Так что нам не надо арендовать никаких каналов для передачи видео, ни «последнюю милю», ни магистральные каналы, ни доступ в интернет — у нас всё уже есть.
Потребители наших услуг – это организации и физические лица. Если смотреть на профиль их интернет-трафика, то там, в основном, трафик входящий, так как стандартный пользователь, как правило, трафик потребляет (скачивает) и очень мало генерирует. В среднем, соотношение входящего к абоненту трафика к исходящему – это 10 к 1. Каналы, которые мы арендуем/покупаем для предоставления услуг интернет у магистральных операторов, синхронные, в них скорость входящая и исходящая одинаковые. Так что обратный (исходящий канал), как правило, у интернет-провайдеров вроде нас – полупустой. Эта ситуация характерна для большинства операторов, работающих с людьми. В дата-центрах хостинг-провайдеров и соцсетей ситуация противоположная, там в основном исходящий трафик, но это не наш случай.
В итоге получается, что сбор видео с камер и его трансляция в интернет, с точки зрения затрат на передачу трафика, нам почти ничего не стоит. При этом каналы нужны серьёзные, ведь статичная камера даёт примерно 4 Мбит/сек, а поворотная — до 10 Мбит/сек в момент смены ракурса.
Умножьте это на количество одновременных потребителей, а это 2 000 и более в дневное время. Предположим, что сторонняя организация, не оператор связи, захочет создать проект наподобие Сочи.Камер. В этом случае весь необходимый ресурс нужно будет арендовать у связистов, а по нынешним ценах это влетит в хорошую копеечку. А вот если вы оператор связи – то и флаг вам в руки.
Но сложности с организацией каналов связи всё-таки иногда есть. Это связано с тем, что там, где каналы связи присутствуют, то есть в центре города в основном, смотреть уже почти нечего. А там, где интересно, каналов связи близко нет и их приходится как-то организовывать, выделять технику, расходные материалы, людские ресурсы. Например, сейчас организовываем связь к норе енота в лесу.
Программное обеспечение для видеотрансляции.
Мы начинали наш проект в 2008-2009, когда не было каких-либо образцов, которые можно было просто взять и скопировать. Тогда было много агрегаторов веб-камер, которые искали их везде, где только можно, и представляли в одном каталоге как якобы свои. Но комплексных, готовых решений не было. Для приёма такого большого количества камер и раздачи многим людям на разные устройства нужен надёжный и стабильный софт. Так что мы начали всё делать сами, это было несколько лет разработки с нуля, начиная от дизайна, вёрстки и заканчивая программной архитектурой. Ни у кого не копировали, перепробовали пять версий движка — от примитивного LinuxDVR на mjpeg, до Red 5, ffmpeg+nginx, Wowza. От последней, кстати, отказались не по техническим причинам, а из-за изменений лицензионных условий при переходе на новую версию и отсутствия lifetime-лицензии в новой политике американского разработчика. То есть они захотели получать деньги ежемесячно, исходя из фактической нагрузки. А то, что проект некоммерческий – никого там не волновало.
В процессе разработки и развития сервиса мы вышли на компанию «Эрливидео», разрабатывающую медиасервер Flussonic. Команда проекта из Москвы, и с ней легко было найти общий язык, в целом хорошо себя зарекомендовала при решении нетривиальных задач. Нельзя сказать, что всё всегда было гладко, вылезали и косяки, и грабли. НО. Когда видишь у разработчика желание улучшать свой продукт, выслушивать и учитывать замечания заказчика и видишь реальные результаты такого взаимодействия после очередного обновления – это дорогого стоит.
Flussonic Media Server — это видеостриминговая серверная платформа. С её помощью можно организовать захват любых видеопотоков, запись видео в архив и раздачу клиентам по различным протоколам и на любые устройства, как в режиме реального времени, так и по запросу. Проигрывание доступно в виде бесконечной ленты, которую можно просмотреть с любого момента. Раздача может идти по протоколам RTMP, RTSP, HLS, HDS, HTTP MPEG-TS, DASH и WebRTC. Также, Flussonic умеет транскодировать видео, изменяя кодек и параметры видео. В списке поддерживаемых кодеков — Н.264, Н.265, MPEG-2, AAC, AC3, MP3, VP6, Speex и G711a/u. Платформа умеет собирать кластеры из серверов, захватывать более 1600 потоков и распределять сотни тысяч одновременных подключений. Для управления и мониторинга активности и нагрузки можно использовать как встроенные инструменты и веб-интерфейс, так и HTTP API.
С камер мы собираем потоки в стандартном RTSP. Раздавали до недавнего времени в основном DASH для флеш-плееров, UDP Multicast для внутренней сети и HLS для мобильных приложений. Последние несколько лет периодически анонсировались HTML5-революции и «похороны» Adobe Flash, поэтому мы вынуждены были использовать целую конструкцию, «скармливающую» нужный тип плеера и стрима в зависимости от браузера и ОС клиента. Несмотря на шумиху вокруг HTML5, многие популярные браузеры очень коряво отрабатывали тег video, когда дело касалось лайв-трансляций. В отличие, скажем, от проигрывания предзаписанного видео, которое достаточно стабильно работало с момента анонсирования HTML5.
Сейчас можно констатировать, что «браузерная турбулентность» закончилась и мы перешли на нативное html5 вещание в браузерах, полностью отказавшись от Flash плагина. Таким образом, «на раздаче» у нас теперь только HLS и Multicast.
Для своих абонентов, пользующихся IPTV по мультикасту, мы сделали трансляцию этих камер в телевизионную сеть, то есть они видят все веб-камеры как отдельные телеканалы на своих телевизорах. Веб-камеры в IPTV сортированы тематически и дополняют стандартный набор телеканалов, предлагаемых нами клиентам.
Другая наша фишка – это функционал встраиваемого плеера, как в YouTube или Vimeo. Со своего сервиса мы отдаем видео на некоторые очень известные сайты – это и Краснополянские курорты, и отели. При этом, они не поднимают стриминг на своей стороне, им достаточно просто кода вставки. Встраиваемый плеер может быть как брендирован, так и не иметь каких-либо опознавательных знаков, что позволяет нашим партнёрам самостоятельно оформлять свои страницы в нужном стиле. Примеры:
Один
Два
Три
Ещё одна наша фишка – мобильные веб-камеры на базе сотовых телефонов. Мы их назвали «Пушок», от метода передачи видеопотоков push. Это кастомное Андроид-приложение, распространяемое в виде APK-файла. В Маркете его нет и не будет. Идея проста: в мобильном телефоне есть всё, что нужно для видеотрансляции: камера, GPS-позиционирование, канал передачи данных. Мы сделали приложение, которое обрабатывает видео и передаёт его сразу на Сочи.Камеру. Опционально передаются звук и координаты. Предусмотрено создание «чёрных дыр», оказавшись в которых «Пушок» приостанавливает трансляцию. Аналоги «Пушка» хорошо известны, например это «Перископ» для «Инстаграма». Одно время мы думали распространять это приложение среди блогеров, но отказались от этой идеи по ряду причин. Сейчас «Пушки» работают в нескольких городских автобусах, а ближе к сезону возобновят свою работу трансляции с экскурсионных кораблей.
Сама же Сочи.Камера сделана полностью на Яваскрипте. Сервер – на Node.js, браузерная часть – Angular.js
Мобильные приложения для Android, iOS и Windows Phone написаны с использованием стандартных инструментов разработчика. Также стоит добавить, что существует приложение для Windows Desktop, некоторые клиенты предпочитают его браузеру, поскольку работает быстрее, нет рекламы и в целом там минималистичный функционал без «обвеса» в виде чатов и прочего.
Интересно, что за прошедшее время готовых комплексных решений «под ключ» так и не появилось. Существующие готовые видеосистемы предназначены для совсем других целей, в основном для охранного видеонаблюдения. Там есть видеостена, запись, просмотр, перемотка и так далее, но они заточены для охранного видеонаблюдения, а не для работы нескольких тысяч людей одновременно. Это вообще другой подход, другая архитектура.
На этом хотелось бы закончить обзорную статью. Как мы уже говорили выше, можно описать более детально многие элементы системы, они того стоят. Например, о хитростях установки видеокамер на улице в условиях высокой влажности и большого перепада температур, способ организации мобильных камер на автобусах и теплоходе или более подробно о приложениях для смартфонов и их серверной части, или о выборе софта для видео стриминга на сайте. Также можем рассказать кое-что о расходах на разработку и содержание такого проекта. Начальные вливания на разработку за первые несколько лет, например, составили порядка 4 000 000 рублей. Но это не окончательная цифра.
Можете сами задать вопросы, какая часть проекта вам интересна. Ждём ваших вопросов.
Комментарии (49)
klu4ik
26.03.2018 15:26Сколько серверов у вас? Какое железо?
SochiCamera Автор
26.03.2018 16:13Один сервер под Флюссоник, на нём 32 ядра на 2,7ггц, 256 оперативы, 10-гиговая сетевая, и сильно оптимизированные Убунта и Флюссоник. Обрезаны все логи и лишние сервисы. В пике загрузка 70%. В перспективе наверное соберём кластер.
Пишем на стандартные 16-канальные регистраторы по RTMP, сейчас переходим на 40-канальные.Wexter
26.03.2018 16:21Почему не пользуетесь флусониковским DVR?
SochiCamera Автор
26.03.2018 16:29Потому, что это сильно нагрузит основной стриминговый сервер, причём нагрузка эта будет флуктуировать, что легко может привести к остановке сервиса в целом. Мы разделили нагрузки на физическом уровне. ЦПУ на осной машине, работа с дисками — на многих других. Как я уже сказал, все логи отключены и обращений к дискам на основном сервере сейчас практически нет (ну, за исключением ситуаций когда юзер делает фотографию или выгружает её). Это сильно стабилизировало нагрузку.
Wexter
26.03.2018 16:33Отдельные DVR железки с лимитом на каналы(потоки) выходят дешевле чем 1-2 сервера с лицензией флусоника и без лимита на потоки? Как в плане отказоустойчивости отдельных железок? Были ли случаи выхода из строя одной железки и потеря/восстановление архива с них?
SochiCamera Автор
26.03.2018 16:46Да, причём сильно дешевле. Сам регистратор стоит порядка 30 тысяч, остальное — стоимость дисков. Через большой сервер однозначно дороже получается, да и расход электроэнергии повыше. Особых траблов не припомню. Пару раз подвисали на старте, когда жёсткий ребут по питанию случался. Проверка диска выскакивала и ждала ввода команды.
Ну и диски заранее менять надо, они больше 3-х лет не должны работать при такой нагрузке.
Rewire_getz
27.03.2018 17:08Добрый день, очень хотелось бы развития в техническую сторону…
Сколько лицензий Флюссоников используете? Как прописывали камеры в конфиг? Транскодирование делаете?
Почему хотите перейти на кластер?
Несколько раз подымалась тема о нестабильности RTSP потока от ip cam. Вы сталкивались? Вообщем весь процесс очень интересует…
Спасибо за статью.SochiCamera Автор
27.03.2018 17:19Одна лицензия Perpetual.
Конфиг меняется через админку Сочикамеры, это всё самописное.
Транскодирование с изменением битрейта делать ни в коем случае не надо, иначе всё сразу помрёт. Это очень ресурсоёмкий процесс. Только перепаковка с выдачей HLS и прочего.
На кластер перейдём когда одного сервера не будет хватать, я не знаю когда этот момент настанет, а вернее при скольки работающих камерах он настанет. Тут готовой статистики нет, чистый эксперимент.
Ну а что ещё забирать с камер кроме как RTSP? Надёжный универсальный формат. Нестабильно только если каналом связи что-то не так, в остальном всё ровно держится. Гляньте сами на сайте)
erlyvideo
28.03.2018 18:39нестабильность потока с IP камер отчасти чинится агентом, софтиной которую мы ставим.
можно обойтись и без нашего агента, а поставить какой-нибудь ssh туннель, но здесь очень важно, что бы был L7 туннель, а не L2. Если поставить openvpn, то можно схлопотать очень серьезные накладные расходы при том же рассыпании картинки.
lex_infohunter
26.03.2018 15:35Спасибо за материал. Очень интересно было бы почитать про способ организации мобильных камер на автобусах и теплоходах.
PerfectAim
26.03.2018 16:04Какое устройство используется в качестве модема для пуша из автобусов/пароходов, не телефоном же… или?
SochiCamera Автор
26.03.2018 16:13Телефоном же :)
Вот только сильно оптимизированным. Про это отдельную статью можем написать.
Steely
26.03.2018 18:51Наконец-то интересная статья от компании из Сочи! Сервис отличный, постоянно пользуюсь :)
alcanoid
26.03.2018 19:43Спасибо за камеры на Розе, очень удобно мониторить очереди у подъёмников, определяясь с маршрутом. :)
egorterentyev
27.03.2018 01:25Летаем на парапланах с Роза Пик, постоянно пользуемся вашим сервисом для мониторинга облачности. Спасибо большое.
technik
27.03.2018 03:25У вас классный сайт, часто смотрю чтобы вспоминать многочисленные приезды в Сочи.
Сам когда-то давно на базе крупного провайдера организовывал на базе Wowza трансляцию с пары десятков камер в одном крупном городе миллионнике. Вроде до сих пор работает.
Расскажите по больше про Flussonic, очень интересно как она устроена а главное сколько в пике нагрузки может держать в режиме онлайн. Выдерживает ли вобще массовый наплыв юзеров во время каких-нибудь крупных мероприятий?
Расскажите ещё про покрытие сети, у вас получается только крупные отели и трассы или вглубь жилой застройки вы тоже заходите?SochiCamera Автор
27.03.2018 11:37Как устроен Flussonic я не знаю :) В данном случае мы юзаем его через API. Тем не менее, мы общаемся с разработчиками, в частности с Максом Лапшиным и Павлом Тучковым. Думаю, что в Эрливидео подробно ответят на Ваши вопросы, если к ним обратиться. https://habrahabr.ru/company/erlyvideo
Для себя я сделал интересное наблюдение, что загрузка системы не сильно зависит от количества раздаваемых потоков, или, скажем так, "зрителей". Я бы даже сказал, что вообще не зависит. Это было неожиданно. Могу вспомнить одну любопытную ситуацию: во время открытия ОИ2014 на вебке №240 висело более 2к зрителей, я думал что ляжет. Но на самом деле мы упёрлись тогда в полку на аплинках, а сам сервис Сочикамера отработал как обычно.
Что касается покрытия и жилой застройки: да, мы и в сёлах работаем, и в многоквартирной застройке. Сейчас сеть очень разветвлённая, соответственно во всех районах и камеры ставим. У нас есть режим "карта", это вторая иконка слева. Там более наглядная визуализация есть.
technik
27.03.2018 13:45Спасибо за ответ.
А вот такой чисто коммерческий интерес на будущее, у вас есть где-то опубликованная карта вашей сети? Чтобы на будущее когда приеду месяца на три подключиться к вам.
Paul_Nice
27.03.2018 15:47Будем рады рассказать и дать попробовать Flussonic.
В плане возможностей для трансляции нам есть что предложить под разные сценарии.
andersong
27.03.2018 08:42Спасибо вам, частенько поглядываю в ваши камеры. Особенно нравятся камеры на автобусах — представляешь, как будто сам едешь по Сочи), но часто камеры недоступны и качество хромает — фризы нередки. Не хватает камер с видом моря, обзорные камеры есть, а чтобы прямо как на пляже стоишь — нет(
Ещё-бы камеры на Ласточки поставил, особенно от Сочи до Адлера по берегу моря красота, ну и до Розы, хотя там тоннелей много.SochiCamera Автор
27.03.2018 10:46Спасибо за отзыв. К сожалению, РЖД нам не согласовали установку камер на Ласточках.
andersong
27.03.2018 10:58Ещё можно несколько камер на аэропорт — наблюдать за взлетающими-садящимися самолетами.
SochiCamera Автор
27.03.2018 11:39Так есть же! Камеры 5, 171, 314, 315
Mobile1
27.03.2018 15:31Зашел на сайт — там 5 мобильных камер.
Не получилось подключиться ни к одной :(
Это какой-то временный сбой?SochiCamera Автор
27.03.2018 15:46Сейчас межсезонье, автобусы с 10 апреля ездить начнут. Корабль тоже на стапелях пока, в мае спустят на воду.
Mobile1
27.03.2018 15:51А записи есть?
Хотел качество вашего решения посмотреть.
У нас есть решение для мобильного стримминга для мессенджера, интересно бы посмотреть что у вас получилось…SochiCamera Автор
27.03.2018 17:09Мы их не записывали. В начале апреля автобусы выйдут на линию, тогда сможете посмотреть. Качество выставили не самое лучшее, с учётом пропускной способности сети мобильной связи.
sinneren
27.03.2018 15:46Еще в СПб сделать бы. А то там есть видовые, но качество ужасно, даже кошмарно и работает 50\50.
Хорошее качество картинки и на флюссонике делает один местный провайдер, но в ЛО, и лишь одна камера в центре, то есть совсем непримечательные картинки.xmax
29.03.2018 16:25Вообще в спб тухло по публичным камерам и архивам. Понятно, что город огромный, но и инет-провайдеров не 1-2.
Приехав в спб из Петрозаводска, удивился этому. У нас тут(в Петрозаводске) грубо говоря 2 провайдера, но они активно пичкают город камерами, во дворах вешают камеры на каждом доме по несколько штук. Жаль, что они разосрались в свое время. Могли бы сделать совместно еще более круто, чем есть сейчас. А так много камер дублируют, не жалко же ресурсов им)))
nirtik
27.03.2018 17:40Периодически к вам попадаю на проект. Ваш проект одна из целей, до которой хочу дорастить наш крымский проект.
tiss42rus
28.03.2018 10:46Как подключаете по питанию? POE? отдельно кабель или по этой же витой паре, или комбинированным сетевым с двумя жилами для питания?.. Используются ли Wi-fi камеры, если да-то как отрабатывают? Чем мониторите камеры на доступность? Рассматривали ли более дешевые камеры по 4000р, если да, было ли проблем с ними больше?
SochiCamera Автор
28.03.2018 11:27PTZ-камеры запитываем отдельным кабелем. Обычные буллеты — по POE через инжекторы. Если камер больше двух в одном месте, то применение POE- свича становится выгоднее. Мониторим банальным the Dude от Микротика.
Камеры пробовали очень разные, у нас действительно нет предварительных предпочтений и мы тестируем всё, что попадается. Камеры в ценовом сегменте ниже 4000 как правило имеют размер кадра ниже FHD, что в рамках проекта «Сочикамера» неприемлемо.
QDeathNick
28.03.2018 15:59А вас как-то можно заинтересовать поставить камеру в определённом месте?
Или вы принципиально ставите только туда, где красивая картинка?SochiCamera Автор
28.03.2018 21:21Ну напишите мне на почту kdv@bisv.ru чем интересно именно это место. Почему ещё тысячам людей помимо вас будет интересно смотреть на эту картинку.
y2k
28.03.2018 22:52Маленький баг на сайте: Opera Mini для Android перенаправляется на sochicamera://sochi.camera а не на мобильную версию.
claymen
Эээ а чуток подробнее на чем сделали трансляцию в IPTV сеть.
SochiCamera Автор
А тот же Flussonic умеет мультикаст раздавать, прямо с него и забрали. Сделали тематические группы «вебкамеры» в IPTV middleware, прописали в них ссылки на Флюссоник. А дальше — стандартно через PIM на цисках в абонентскую сеть загнали.
game802
я не совсем понимаю, почему Вы обращаетесь к автору на «Эээ»?
Suvitruf
Эээ, браток, поди сюда, за IPTV поясни.
vvzvlad
RTSP-поток есть? А если найду?
erlyvideo
есть камеры, у которых его было бы очень неплохо найти =(