我正在尝试使用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);
Run Code Online (Sandbox Code Playgroud)
其中"request"表示http请求,type是"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
Run Code Online (Sandbox Code Playgroud)
我已经检查了响应标头,这段代码看起来运行正常,但是有一些问题:
我正在寻找一种简单且可逆的混淆整数ID的方法.理想情况下,我希望得到的混淆最多为8个字符长度和非顺序,这意味着"1"的混淆应该看起来不像"2"的混淆,依此类推.
这并不意味着任何方式都是安全的,所以这不是一个大问题.另外,我将要混淆的整数并不大 - 介于1到10,000之间 - 但我也不想要任何碰撞.
是否有人对符合此标准的内容有任何想法?
我试图把我的脑袋包裹在猫鼬附近,但是我很难找到一些更高级的查询选项的文档,特别是.in和.sort方法.排序的语法是什么,例如,按年龄排序的人?
db.model("Person").find().sort(???).all(function(people) { });
然后,假设我想找一个基于流派的电影,其中电影可以有很多类型(在这种情况下,是一个字符串数组).据推测,我使用.in函数来实现这一点,但我不确定语法是什么.或许我根本不必使用.in方法......?无论哪种方式,我都输了.
db.model("Movie").find().in(???).all(function(movies) { });
有人有主意吗?或者甚至更好,链接到一些综合文档?
谢谢!
克里斯
node.js ×2
c# ×1
encryption ×1
html5 ×1
mongodb ×1
mongoose ×1
obfuscation ×1
stream ×1
video ×1