Hej, pracuje nad takim systemem streamingu wideo i stanąłem przed dziwnym problemem. Mianowicie chodzi o to, że potrzebuje przez p2p używając biblioteki PeerJS wystreamować lokalny plik video. Jednakże przesyła mi tylko dźwięk bez obrazu. I skończyły mi się pomysły co może być nie tak. Z góry dzięki za pomoc. Tutaj załączam cały PoC oraz kod broadcastera i recievera :
https://gitlab.com/kuba802820/poc-peerjs-only-transmit-audio
Broadcaster
import Peer from "peerjs";
window.addEventListener('DOMContentLoaded',()=>{
const video = document.querySelector('video');
const peer = new Peer({
debug: 3,
config: {
iceServers: [
{ urls: `stun:[adres ip]:3478` },
{
urls: `turn:[adres ip]:3478`,
credential: "webrtc",
username: "webrtc",
},
],
},
host: "localhost",
port: 9000,
path: "/stream",
});
console.log(video.captureStream());
document.querySelector('button').addEventListener('click',()=>{
video.play();
peer.call('test', video.captureStream(30))
});
});
Reciever
import Peer from "peerjs";
window.addEventListener('DOMContentLoaded',()=>{
const peer = new Peer("test", {
debug: 3,
config: {
iceServers: [
{ urls: `stun:[adres ip]:3478` },
{
urls: `turn:[adres ip]:3478`,
credential: "webrtc",
username: "webrtc",
},
],
},
host: "localhost",
port: 9000,
path: "/stream",
});
const video = document.querySelector('video');
peer.on("call", (call) => {
call.answer();
call.on("stream", (stream) => {
video.srcObject = stream;
video.play();
});
});
})