【发布时间】:2015-06-01 11:44:08
【问题描述】:
我正在尝试制作流媒体服务,将文件(在本例中为视频)的内容流式传输到视频元素中。
为此,我已经下载并安装了videogular,现在正在尝试设置它,但我知道该怎么做。
根据有关 videogular 的文档来加载视频,您需要这样的语法:
sources: [
{src: $sce.trustAsResourceUrl(myMp4Resource), type: "video/mp4"}
]
当您想在不流式传输的情况下加载内容时,这很好。
但是假设您有一个节点服务器在端口 8105 上运行,并且您希望收集的文件的 id 为 1,那么结果可能如下所示:
sources: [
{src: $sce.trustAsResourceUrl('http://localhost:8105/loadvideo/1'), type: "video/mp4"}
]
但是,在我尝试这样做时,它只会告诉我该资源不是实际资源。
我的问题是您如何流式传输到视频内容(最好使用 videogular),有没有人知道人们使这成为可能的示例?
服务器端代码
好的,所以我最初的想法(我知道这是对上面代码的更改)是创建一个route,它采用路径:
router.route('/retrieveFile')
.post(function (request, response) {
var path = '../' + request.body.data;
var file = fs.createReadStream(path);
file.pipe(response);
});
然后通过管道输出文件。
然后使用它来流式传输文件
【问题讨论】:
-
将您的浏览器指向localhost:8105/loadvideo/1实际上会下载视频?
-
@laggingreflex 作为一个例子,它应该收集视频并流式传输,但我不太确定从这里去哪里,或者如果我做得正确,我似乎找不到任何例子,所以我有点把东西扔进黑暗中
-
你能不能创建一个简单的小提琴,这样我们就可以解决这个问题,看看会发生什么。因为,这种方式效果很好。
-
我添加了一些服务器端代码,请注意,我不确定它是否会以这种方式工作,所以欢迎更好的想法
标签: angularjs node.js videogular