У меня ограниченный опыт работы с mediastream и mediasource apis, как вы думаете, лучший способ получить данные из getusermedia, а затем добавить эти данные в медиа-источник. Прямо сейчас я использую MediaRecorder для записи данных, а затем добавляю их на новый объект медиаисурса. Но он просто возвращает пустое видео. Вот что я сейчас делаю.Добавление данных getusermedia в mediasource
function createElem (tagName) {
var elem = document.createElement(tagName)
elem.controls = true
elem.autoplay = true
elem.play()
document.body.appendChild(elem)
return elem
}
navigator.getUserMedia({ video: true, audio: false }, function (stream) {
var recorder = new MediaRecorder(stream)
var wrapper = new MediaSource()
var elem = createElem('video')
elem.src = window.URL.createObjectURL(wrapper)
wrapper.addEventListener('sourceopen', sourceOpen)
function sourceOpen() {
var source = wrapper.addSourceBuffer('video/webm;codecs=vp9')
recorder.ondataavailable = function (e) {
source.appendBuffer(new Uint8Array(e.data))
}
}
recorder.start(1000)
}, function() {})
Я знаю, что вы можете просто использовать video.src = window.URL.createObjectURL(stream)
, но я хотел бы, чтобы обрабатывать необработанные данные. Можно ли это сделать так. Вот скрипка, чтобы вы могли поиграть с it.