Медиа-объект не отвечает на файл cookie, содержащий объект - PullRequest
1 голос
/ 26 марта 2019

Извините, если вопрос очень глупый, я пытаюсь показать поток от человека другому пользователю, используя js

Я пытался поместить его в cookie, но он не работает даже тогда. Даже когда объектв видео такое же как и у других

Файл 1

var video = document.querySelector("#videoElement");
var x=document.cookie
console.log(x)
video.srcObject = x;

Файл 2

var video = document.querySelector("#videoElement");

if (navigator.mediaDevices.getUserMedia) {
  navigator.mediaDevices.getUserMedia({ video: true })
    .then(function (stream) {
      video.srcObject = stream;
      document.cookie=video.srcObject 
      console.log(stream,video.srcObject)
    })
    .catch(function (err0r) {
      console.log("Something went wrong!");
    });
console.log(stream,video.srcObject)
}

Я быХотелось бы просто покажите его на двух страницах, но на будущее, на каком языке мне следует хранить видео, если вы знаете, что можете поделиться им

1 Ответ

0 голосов
/ 11 апреля 2019

Файл cookie не является централизованным универсальным хранилищем доступа к камерам в Интернете.Слава Богу.

A MediaStream - это объект локального ресурса, представляющий активное использование камеры, а не общий URL .

Этот объект находится исключительно на вашей локальной странице JS,и не доступен для адресации в сети.

Так как он не работает ни на одном сервере, передача графических битов с вашей камеры в систему друга требует довольно больших усилий.Это включает в себя установление RTCPeerConnection , которое является доменом WebRTC :

navigator.mediaDevices.getUserMedia({ video: true })
  .then(function (stream) {
    const iceServers = [{urls: "stun:stun.l.google.com:19302"}];
    const pc = new RTCPeerConnection({iceServers});

    for (const track of stream.getTracks())
      pc.addTrack(track, stream);

    /* lots of other WebRTC negotiation code */

Обычно вам также потребуется какой-то сервер, оба для решения discovery , то есть точка контакта, а также сервер веб-сокетов для обмена критическими описаниями сеанса предложения / ответа, необходимыми для установления соединения, между двумя узлами.

Пожалуй, самое простое подтверждение концепции это сокращенная демонстрационная паста , которая позволяет вам и вашему другу обмениваться требуемыми описаниями сеансов предложения / ответа WebRTC вручную, позволяя установить соединение без какого-либо сервера, чтобы видеть и разговаривать друг с другом.

Это имеет около 70% шансов на работу.Если вы оба находитесь за симметричными NAT (большинство мобильных сетей), то это еще сложнее (вам понадобится сервер TURN, который стоит денег).

...