我正在尝试设置一个网络服务器,该服务器将使用node.js将视频流传输到HTML5视频标签。到目前为止,这是我的代码:
var range = request.headers.range;
var total = file.length;
var parts = range.replace(/bytes=/, "").split("-");
var partialstart = parts[0];
var partialend = parts[1];
var start = parseInt(partialstart, 10);
var end = partialend ? parseInt(partialend, 10) : total-1;
var chunksize = (end-start)+1;
response.writeHead(206, { "Content-Range": "bytes " + start + "-" + end + "/" + total, "Accept-Ranges": "bytes", "Content-Length": chunksize, "Content-Type": type });
response.end(file);
其中“ request”代表http请求,类型是“ application / ogg”或“ video / ogg”(我都尝试过),而“
file”是已从文件系统读取的.ogv文件。这是响应头:
Content-Range bytes 0-14270463/14270464
Accept-Ranges bytes
Content-Length 14270464
Connection keep-alive
Content-Type video/ogg
我已经检查了响应头,并且此代码似乎运行良好,但是存在两个问题:
是否有人对我可以通过node.js进行视频流传输有什么想法?
谢谢!
克里斯
我可以在nodejs论坛的一些帮助下使它起作用:
http://groups.google.com/group/nodejs/browse_thread/thread/8339e0dc825c057f/822b2dd48f36e890
Google网上论坛主题集锦:
众所周知,谷歌浏览器会先发出0-1024范围的请求,然后再请求“ 1024-”范围。
response.end(file.slice(start,chunksize),“ binary”);
然后:
通过将“连接”标头设置为“关闭”,我能够使视频在Firefox中正常播放
然后:
似乎您在错误地计算内容长度:
var chunksize =(end-start)+1;
如果开始为0,结束为1,则您的chunksize为2,应为1。
问题内容: 是否有使用Java直播视频的良好库?理想情况下,管道的两端都应使用Java编写,但我最关心的是视频播放器。您会推荐什么软件? 更新 :似乎VLC引入了1-2秒的延迟。我需要真正的实时视频流。记录到播放的延迟必须小于300ms。 问题答案: 我见过的最好的视频播放/编码库是ffmpeg。它播放您扔给它的所有内容。(它是MPlayer使用的。)它是用C编写的,但是我发现了一些Java包装器
问题内容: Tl; Dr-问题: 用Node.js处理将视频文件流传输到html5视频播放器以 使视频控件继续工作 的正确方法是什么 ? 我 认为 这与处理标头的方式有关。无论如何,这是背景信息。代码 有点 冗长,但是非常简单。 客户: 服务器: 但是此方法仅限于大小小于1GB的文件。 流式传输(任何大小)视频文件 通过利用,服务器可以读取流中的文件,而不是一次将其全部读取到内存中。这听起来像做事
我使用aws kinesis video stream webRTC在reactjs中进行视频聊天。一切都很好。但是我想把视频存储在s3 Bucket中。我应该如何实现这个视频存储?
问题内容: Tl; Dr-问题: 用Node.js处理将视频文件流传输到html5视频播放器以 使视频控件继续工作 的正确方法是什么 ? 我 认为 这与处理标头的方式有关。无论如何,这是背景信息。代码 有点 冗长,但是非常简单。 使用Node将小视频文件流化为HTML5视频很容易 我学习了如何非常轻松地将小型视频文件流式传输到HTML5视频播放器。使用此设置,控件可以正常工作,而我的视频也完美无缺
http://www.strathweb.com/2013/01/Asynchronaly-streaming-video-with-asp-net-web-api/ 在实现一个示例项目后,我意识到该示例基于Web API1,而不是我正在使用的Web API2.1。在做了更多的研究之后,我得到了用WebAPI2.1编译的代码。然后我意识到,如果我想做流媒体,我不能使用MP4文件,这背后有相当多的技
用Node.js处理将视频文件流到html5视频播放器以使视频控件继续工作的正确方法是什么? 我认为这与头的处理方式有关。不管怎样,这是背景资料。代码有点长,但是,它非常简单。 我学会了如何将小视频文件流式传输到HTML5视频播放器。有了这个设置,控制工作没有任何工作,我的部分,视频流完美。这里有一个完整的工作代码和示例视频的工作副本,可以在Google Docs上下载。 客户: 服务器: 但此方