Файл 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, который стоит денег).