के बाद काम नहीं करता है, मैं वर्तमान में अपने क्लाइंट (वर्तमान में क्रोम के रूप में क्रोम का उपयोग कर) के लिए socket.io के माध्यम से .webm वीडियो फ़ाइल स्ट्रीम करने का प्रयास कर रहा हूं।SourceBuffer में शामिल मीडियासोर्स पहली बार
जोड़ पहले Uint8Array
SourceBuffer को ठीक काम करता है, लेकिन आगे लोगों को जोड़कर काम नहीं करता है और निम्न त्रुटि फेंकता है: Uncaught DOMException: Failed to execute 'appendBuffer' on 'SourceBuffer': The HTMLMediaElement.error attribute is not null.
मेरे वर्तमान कोड:
'use strict';
let socket = io.connect('http://localhost:1337');
let mediaSource = new MediaSource();
let video = document.getElementById("player");
let queue = [];
let sourceBuffer;
video.src = window.URL.createObjectURL(mediaSource);
mediaSource.addEventListener('sourceopen', function() {
sourceBuffer = mediaSource.addSourceBuffer('video/webm; codecs="vorbis,vp8"');
socket.on("video", function(data) {
let uIntArray = new Uint8Array(data);
if (!sourceBuffer.updating) {
sourceBuffer.appendBuffer(uIntArray);
} else {
queue.push(data);
}
});
});
सर्वर साइड कोड (स्निपेट)
io.on('connection', function(socket) {
console.log("Client connected");
let readStream = fs.createReadStream("bunny.webm");
readStream.addListener('data', function(data) {
socket.emit('video', data);
});
});
मैंने वेबकिट चेक भी हटा दिए क्योंकि यह केवल तभी होगा क्रोमियम ब्राउज़र पर चलाएं।
क्या आप अपना सर्वर कोड भी पोस्ट कर सकते हैं? यह – cviejo
सुनिश्चित करने और परीक्षण करने में आसान बना देगा, मैंने सोचा था कि सर्वर कोड अनावश्यक है क्योंकि यह मेरे लिए क्लाइंट त्रुटि जैसा दिखता है लेकिन आप सही हैं कि यह मदद कर सकता है। – Cludch
मेरे अंत में कोई त्रुटि नहीं। यह फ़ाइल के साथ ही एक समस्या हो सकती है। चूंकि आप "bunny.webm" फ़ाइल का उपयोग कर रहे हैं और [यह पोस्ट] (http://stackoverflow.com/questions/27309027/stream-video-through-socket-to-html5-video-tag) में एक समान समस्या है http://www.webmfiles.org/demo-files से डाउनलोड की गई फ़ाइलें ... क्या आपने पहले ही फ़ाइल या दूसरी फ़ाइल को फिर से स्वरूपित करने का प्रयास किया था? – cviejo