【发布时间】:2016-02-23 01:13:07
【问题描述】:
我正在研究一个人们可以使用网络摄像头进行直播的概念。所以基本上它是一个网络应用程序。我正在使用 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。
那么 blob 格式无法发布。我们需要将其编码为 RTMP 编码。
我的问题是如何在没有任何第三方软件的情况下对其进行编码,因为作为最终用户,我不太可能安装任何软件来注册网站。
我尝试使用 flash 进行直播,但需要安装 flash 直播编码器,我不想使用它,因为它对用户不友好。 有非常专用的服务器,例如 wowza、dacast 等等,但它们需要 RTMP 编码的视频流进行进一步处理。
注意:我尝试在另一个页面中使用<video src=video.src>,但它不会产生任何结果,因为根据之前编写的代码video.src 来自video metadata。
那么有什么方法可以将我的 blob 视频编码为 RTMP 协议吗?
【问题讨论】:
-
在否决之前告诉原因怎么样。任何帮助将不胜感激。
-
RTMP 是 2007 年以来的 flash 格式,所以如果您不想安装 flash,这似乎是一个死胡同。
-
您能建议任何使用 webRTC 的方法吗? @jib 4
标签: php jquery webrtc rtmp wowza