Spring boot + Приложение Angular не может транслировать видеоJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Spring boot + Приложение Angular не может транслировать видео

Сообщение Anonymous »

Я создал приложение с помощью JHipster (Spring Boot + Angular) и хотел бы воспроизвести несколько видео в формате mp4 в браузере.
Однако это всегда заканчивается загрузкой полного файла. перед воспроизведением, хотя мне бы хотелось, чтобы видео запускалось как можно скорее, а затем продолжалось загрузка в фоновом режиме.
Мой код в серверной части:

Код: Выделить всё

@GetMapping("/{id}")
public ResponseEntity getVideo(@PathVariable("id") Long id, @RequestHeader HttpHeaders headers,
Principal principal) throws IOException {
Optional video = videoService.findOne(id, user);

if (video.isEmpty()) {
log.debug("Video not found");
return new ResponseEntity(HttpStatus.NOT_FOUND);
}

FileSystemResource fileSystemResource = new FileSystemResource(video.orElseThrow().getFileLocation());

List httpRanges = headers.getRange();
if (httpRanges.isEmpty()) {
return ResponseEntity.ok()
.header(HttpHeaders.CONTENT_TYPE, "video/mp4")
.body(fileSystemResource);
}

HttpRange httpRange = httpRanges.get(0);
long fileLength = fileSystemResource.contentLength();
long start = httpRange.getRangeStart(fileLength);
long end = httpRange.getRangeEnd(fileLength);

HttpHeaders responseHeaders = new HttpHeaders();
responseHeaders.set(HttpHeaders.ACCEPT_RANGES, "bytes");
responseHeaders.set(HttpHeaders.CONTENT_LENGTH, String.valueOf((end - start) + 1));
responseHeaders.set(HttpHeaders.CONTENT_RANGE, "bytes " + start + "-" + end + "/" + fileLength);

return ResponseEntity.status(HttpStatus.PARTIAL_CONTENT)
.headers(responseHeaders)
.body(fileSystemResource);
}
Внешний интерфейс:

Код: Выделить всё


Your browser does not support this video file.

Код: Выделить всё

videoUrl = signal('');

constructor() {
this.activatedRoute.data.pipe(takeUntilDestroyed()).subscribe(data => {
this.videoUrl.set(data['video']);
});

}
Вы видите проблему?
Есть разные вопросы о том, как транслировать видео, и я попробовал все варианты. (например, с автовоспроизведением и без, с предварительной загрузкой и без, я проверил заголовки и т. д.)

Подробнее здесь: https://stackoverflow.com/questions/788 ... ream-video
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»