2015-08-08 3 views
0

Мне нужно запустить прямой эфир на удаленном компьютере, подключенном к веб-камере, , затем подключиться к этому удаленному ip-адресу и увидеть прямой эфир, как веб-камеру безопасности более или менее. На моем клиенте я хочу видеть поток в моем браузере.Получить поток удаленной камеры

То, что я пытался до сих пор:

  • VLC на удаленном компьютере: Я начинаю поток (MMS, HTTP или RSTP), а затем я инкапсулировать поток как объект в HTML-страницы. Это работает, но у меня высокая латентность, и не все браузеры поддерживают x-vlc-plugin.

  • WebRTC. Это показалось мне лучшим решением. Прямой поток, очень низкая латентность. Я пробовал все решения, которые я нашел в Интернете, которые также интегрируют node.js. Я попытался также создать код самостоятельно, но проблема в том, что:

  • Я запускаю поток на «сервере», удаленном ПК.
  • Когда я иду к клиенту, я набираю в браузере IP-адрес и порт удаленного ПК. Теоретически я должен видеть поток REMOTE, но вместо этого браузер запрашивает разрешение на использование моей ЛОКАЛЬНОЙ камеры!

Есть ли у вас какие-либо намеки или решения? Что я делаю не так? Последний проект, который я попробовал:

https://github.com/xat/webcam-binaryjs-demo

В этом проекте:

https://webrtc.github.io/samples/src/content/peerconnection/multiple-relay/ разработчик использует реле потока. Кнопки работают, но я не знаю, как это использовать, вот как поймать реле и отобразить его на клиенте.

Благодарим вас за предложения.

+0

Невозможно пропустить браузерный запрос – CyC0der

+1

не пропустить вопрос с браузером. Но браузер просит использовать мою ЛОКАЛЬНУЮ камеру. Я не хочу этого. Я просто хочу видеть поток REMOTE. –

ответ

1

WebRTC имеет три общие API

GetUserMedia: для связи и потоковой передачи между камерой/микрофон с браузером (разрешения запроса на доступ к камере/микрофон) https://developer.mozilla.org/en-US/docs/Web/API/Navigator/getUserMedia

RTCDataChannel: канал данных для отправлять/получать любые данные по подключению https://developer.mozilla.org/en-US/docs/Web/API/RTCDataChannel

RTCPeerCo ть соединение: для создания равный-равному подключение https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection

вам не нужно GetUserMedia

найти GetUserMedia(), этот метод отправки запроса доступа к камере и микрофону пользователя, вы можете установить как логическое значение ложь , или тщательно удалите его

navigator.getUserMedia({ 
    video:false, 
    audio:true, 
},function(mediaStream){... 
+1

При создании createOffer вам также необходимо использовать offerToReceiveVideo, поскольку вы не отправляете медиа. Я предполагаю, что вы запускаете что-то (узел), которое позволяет вам обменивать предложение/ответ и кандидатов, не требуя внешнего сервера. – jesup