Я работаю над концепцией, где люди могут жить с помощью своей веб-камеры. Так что в основном это веб-приложение. Я использую концепцию webRTC. Мой код довольно простой, но все же посмотрим:
<script>
(function () {
console.log('here');
navigator.getMedia = navigator.getUserMedia ||
navigator.webkitGetUserMedia ||
navigator.mozGetUserMedia ||
navigator.msGetUserMedia;
window.hasUserMedia = function hasUserMedia() {
return navigator.getMedia ? true : false;
};
var errorcallback = function (e) {
console.log('errorCalback: ' + e);
};
navigator.getMedia({
video: true,
audio: true
},
function (stream) {
var video = document.getElementById('live'),
webcamstream, streamrecorder,
vendorUrl = window.URL || window.webkitURL;
console.log(video);
video.src = vendorUrl.createObjectURL(stream);
//webcamstream = stream;
//video.play();
video.onloadedmetadata = function (e) {
var counter = 0;
counter++;
console.log(e);
console.log(video.src);
};
}, errorcallback);
})();
это video.src
дает источник, но я думаю, что это в формате BLOB-объектов.
вывод что-то вроде mediastream:http://localhost.movyt.com/8b57e486-a985-4331-b9ab-0eaf6def3404
,
Ну, форматы блобов не могут быть опубликованы. Нам нужно закодировать его в кодировку RTMP.
Мой вопрос заключается в том, как бы я закодировал его с помощью любого стороннего программного обеспечения, потому что, как конечный пользователь, я вряд ли установлю какое-либо программное обеспечение для регистрации веб-сайта.
Я пытался с флэш-памятью для потоковой передачи в реальном времени, но есть необходимость установить Flash Live кодировщик который я не хочу использовать, так как он не будет удобным для пользователя.
Существуют довольно выделенные серверы, такие как wowza, dacast и все, но для дальнейшей обработки им необходимы видеопотоки в кодировке RTMP.
примечание: я пытался с <video src=video.src>
на другой странице, но это не приведет ни к какому результату, потому что согласно предыдущему коду написано video.src
исходит от video metadata
,
Так есть ли способ кодировать мое видео BLOB-объектов в протокол RTMP?
Поскольку вы уже смотрели Wowza, я предполагаю, что вы будете распространять этот опубликованный поток. Этот сервер имеет возможности WebRTC:
https://www.wowza.com/products/capabilities/webrtc-streaming-software
В настоящее время вы должны подписаться на «Предварительный просмотр», чтобы активировать эти функции, но не намного дольше.
Я настоятельно рекомендую избегать попыток использования RTMP в качестве транспортного протокола в / из браузера, поскольку для этого всегда потребуется плагин, такой как Flash (на выходе).
Других решений пока нет …