Веб-страница с несколькими потоками IP-камер

У меня есть несколько живых RTSP-потоков с IP-камер с кодеками видео H.264 и звуком g-729. Мне нужно отобразить их на веб-странице, которую можно открыть в любом популярном браузере в Windows, Linux и Mac. Также должна быть возможность записи и сохранения на ПК пользователя видео из любого потока в flv-файл с помощью кнопки Start/Stop записи. Проблема в том, что я не знаю, какие технологии выбрать: все решения, которые я придумал, имеют несколько проблем.

Первый вариант - перекодировать поток в RTMP с помощью FFmpeg, изменив аудиокодек на MP3. Таким образом, его можно воспроизвести с помощью небольшого приложения Flash. Это работает, но я не знаю, как сохранить видео, потому что библиотека записи .flv требует в качестве входных данных фрагменты звуковых данных Bitmap и ByteArray. Получить изображения из класса Video не проблема, но я понятия не имею о звуке: класс SoundMixer не смог получить данные из Video (или NetStream) с помощью метода calculateSpectrum. Таким образом, невозможность записи звука в .flv является единственной проблемой этого решения.

Другой вариант — использовать java-апплет, основанный на библиотеке Xuggler. Работает нормально, но библиотека ОЧЕНЬ огромная, а размер "апплета" около 40мб!

Я также пробовал Silverlight (проблема в том, что он не популярен, поэтому всем приходится скачивать его только для 1 приложения) и HTML5 (который не позволяет захватывать звук из входящего живого потока, как Flash), но они тоже не дают никаких решений. . Так что я не знаю, как реализовать этот проект, не могли бы вы дать мне какую-нибудь идею, пожалуйста?


person JustLogin    schedule 27.03.2013    source источник


Ответы (1)


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

Идея состоит в том, что как только ваш стрим попал в Wowza, вы можете сделать с ним что угодно.

http://www.wowza.com/

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

person Yury    schedule 28.03.2013
comment
Я уже использую Wowza и знаю, как записывать с ее помощью потоки (благодаря мощным инструментам разработчика это довольно просто). Вы имеете в виду, что я должен отправлять команды на медиасервер, когда я нажимаю кнопку «Пуск / Остановить запись», а затем загружаю полный FLV-файл с помощью URLLoader во Flash? Это будет работать, но проблема в том, что в этом варианте у пользователя есть двойной трафик для скачивания: во-первых, просмотр прямой трансляции, во-вторых, скачивание flv? Я прав? - person JustLogin; 28.03.2013
comment
Я думаю, что загрузка файла результатов - единственный способ сделать это, если вы не решите использовать какой-нибудь толстый клиент, такой как xuggler. - person Yury; 28.03.2013