Я пытаюсь создать потоковую службу, в которой я передаю содержимое файла (в данном случае видео) в элемент видео.
для этой цели я загрузил и установил videogular
и теперь пытаюсь его настроить, но я знаю, как это сделать.
Согласно документации на videogular для загрузки видео вам понадобится такой синтаксис:
sources: [
{src: $sce.trustAsResourceUrl(myMp4Resource), type: "video/mp4"}
]
Это хорошо, когда вы хотите загрузить контент без потоковой передачи.
Но скажем, например, у вас есть сервер узла, работающий на порту 8105, и файл, который вы хотите собрать, имеет идентификатор 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);
});
А затем передал вывод файла.
Затем используйте это для потоковой передачи файла