WedX - журнал о программировании и компьютерных науках

Потоковое видео с нескольких камер на html5 плеер

Я пытаюсь найти способ иметь сервер с камерой (или несколькими камерами), подключенными через USB (firewire, что угодно ...), а затем передавать видео пользователям.

На данный момент идея состоит в том, чтобы иметь сервер red5, который транслирует поток с камеры в виде потока H.264, и иметь проигрыватель Html5, такой как VideoJS с резервным Flash, для воспроизведения видео. Глядя на таблицу поддержки браузеров на https://en.wikipedia.org/wiki/HTML5_video#Browser_support я вижу, что мне также понадобятся потоки WebM и/или Ogg.

Любые предложения о том, как это сделать? Можно ли маршрутизировать поток через какое-то (желательно .NET) веб-приложение и перекодировать видео на лету? Хотя я предполагаю, что для этого потребуется мощное оборудование :) Есть ли другой медиасервер, поддерживающий все три формата?

Спасибо за ваши идеи


Ответы:


1

Вы можете использовать сервер IceCast. Преобразуйте вывод камеры в Ogg через ffmpeg2theora и направьте его в IceCast через oggfwd. Затем позвольте ‹видео› воспроизвести HTML5 с сервера IceCast. Работал для меня для Firefox.

E.g.

# Настроить приемник DVB-T на канал

(tzap -c channels-4.conf -r "TV Rijnmond" > /dev/null 2>&1 &)

# Конвертировать выход DVB-T в Ogg и передавать в IceCast

ffmpeg2theora --no-skeleton -f mpegts -a 0 -v 5 -x 320 -y 240 -o /dev/stdout /dev/dvb/adapter0/dvr0 2>/tmp/dvb-ffmpeg.txt | oggfwd 127.0.0.1 8000 w8woord /cam3.ogg > /tmp/dvb-oggfwd.txt 2>&1

29.11.2012
Новые материалы

Как создать диаграмму градиентной кисти с помощью D3.js
Резюме: Из этого туториала Вы узнаете, как добавить градиентную кисть к диаграмме с областями в D3.js. Мы добавим градиент к значениям SVG и применим градиент в качестве заливки к диаграмме с..

Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что это выглядит сложно…
Просто начните и учитесь самостоятельно Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что он кажется мне сложным, и я бросил его. Это в основном инструмент..

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

Объяснение документов 02: BERT
BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

Как проанализировать работу вашего классификатора?
Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

Работа с цепями Маркова, часть 4 (Машинное обучение)
Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..


Для любых предложений по сайту: wedx@cp9.ru