2013-05-19 2 views
1

Создание веб-сайта, на котором участники могут передавать свои веб-камеры на свой сервер, чтобы другие участники могли просматривать текущие потоки, которые в настоящее время передаются.Streaming Live Веб-камеры

Вроде как: http://chatroulette.com

Как взять веб-камеру пользователя, попробуйте нажать на канал на сервер, а затем позволить другим просматривать каналы в режиме реального времени?

Сайт веб-интерфейсом, написанный на PHP с базой данных MySQL - но я хочу добавить Javascript, JQuery, Flash, или все, что необходимо, чтобы сделать эту работу.

Я знаю, что это широкое, но действительно нужно руководствоваться здесь!

+0

Извините, но это слишком широкий вопрос для ответа. Вы даже не упоминаете, о каком языке программирования вы говорите (я предполагаю, что это веб-приложение)? – JJJ

+0

Это слишком общий вопрос. Более конкретно. Что вы пытаетесь построить, веб-сайт? настольное приложение? мобильный? каковы ваши спецификации? – xShirase

+0

Я обновил описание выше и добавил +50 баунти. – NCoder

ответ

5

Необходимо решить три проблемы.

  1. Сверните веб-камеру своего участника на свой сервер. Я бы начал с RTSP/RTP в качестве протокола и сделал H.264/AAC для сжатия AV-потоков. Вам необходимо программное обеспечение, которое сжимает вывод WEB-камеры - начните с ffmpeg (создайте его с включенными x264 и libfaac) и live555 (http://www.live555.com/liveMedia/) для сервера RTSP/RTP. Вы также можете попробовать использовать libVLC, который даст вам поток RTSP/RTP с сжатием. Для прототипа вы можете использовать проигрыватель VLC и его поток с веб-камеры для вас: http://geraldnaveen.blogspot.com/2009/04/streaming-webcam-using-vlc.html

  2. Ваш сервер должен получать RTSP/RTP потоков Я хотел бы использовать LIVE555 еще раз, но теперь вы должны получить RTP - поэтому вы должны использовать клиента RTSP. Вы можете прототип с http://www.live555.com/openRTSP/, а testRTSPClient - хорошая отправная точка.

  3. Теперь ваш сервер должен перезапустить различные веб-камеры в формате, который понимают браузеры - в идеале без подключаемого модуля или вспышки. Я бы попробовал потоковое видео в реальном времени. Проверьте http://www.longtailvideo.com/html5/hls/. В конечном итоге ваш сервер должен «трансмуксировать» входящие потоки в MP4 или HLS и может перекодировать в WeM для Chrome.

+0

Как браузер сможет использовать RTP на вашем веб-сайте в первую очередь? Вам нужна Flash/Java? – Pacerier

+0

Ваш браузер будет подключаться к серверу (3.), и сервер должен предоставить поддерживаемый поток. Например, HLS для Safari. Другие браузеры могут нуждаться в подключаемом модуле. –

2

Вы можете использовать Flash или WebRTC (только в новых браузерах). Что-то вроде TokBox или Vline даст вам простой способ разрешить клиентам говорить одноранговым.