Không đọc được stream gửi lên từ Socket.io
-
Mình đang sử dụng socket.io để nhận stream từ client code mình như sau
client 1:
var video = document.getElementById("video");
var stream = video.captureStream();
socket.emit('client-sent-stream', stream)server:
socket.on('client-sent-stream', function(stream) {
io.to(socket.id).emit('server-send-stream', stream)
})client 2:
socket.on('server-send-stream', function(stream) {
var videoCapture = document.getElementById("videoCapture")
videoCapture.srcObject = stream
videoCapture.play()
})
Sau khi run thì màn hình bên client 2 bị lỗi như hình bên dưới. Mọi người biết lỗi do đâu không ạ. Thank all
-
Vì stream bạn nhận về từ server không phải type mà srcObject accept. Cái bạn nhận về là string data -> Bạn cần convert về kiểu mà src object accept. https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/srcObject
Trong đây ghi các kiểu mà bên HTML5 accept. Bạn thử xem cách nảo merge vào không. Với nữa từng các data của bạn là gói tin. Khi bạn thực hiện toán tử=
-> Override lên nó. Lúc này bạn lên nghĩ về index DB để store theo thứ tự gói tin nhận rồi xử lí nhé.