我正在尝试制作流媒体服务,我将文件的内容(在本例中为视频)流式传输到视频元素中。
为此,我已经下载并安装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);
});
然后通过管道传输文件的输出。
然后使用它来流式传输文件