如何将视频流传输到客户端

时间:2018-09-22 09:54:45

标签: spring-boot video-streaming html5-video

我想知道我们应该如何正确地将数据流传输到客户端。 我有一个Spring Boot应用程序,并且有一个类似以下的控制器:

@GetMapping("video-stream/{videoId}") public ResponseEntity<InputStreamResource> video(@PathVariable String videoId)
    throws IOException {
        byte[] data = .......
        try (ByteArrayInputStream bais = new ByteArrayInputStream(data)) {
            final HttpHeaders headers = new HttpHeaders();
            headers.add("Content-disposition", "attachment; filename=\"" + url + "\"");
            return ResponseEntity.ok().headers(headers).contentLength(data.length)
                .contentType(MediaType.parseMediaType("application/octet-stream"))
                .body(new InputStreamResource(bais));
        }
    } }

我的前端包含一个简单的视频标签:

                <video width="300" [src] = "camSrc" controls autoplay="autoplay">
                    Your browser does not support HTML5 video.
                </video>

这基本上是将整个视频下载到客户端,而不是流式传输。 我是否应该提供一个可以为客户端提供少量数据的端点? 对于很小的视频,这是可以的,但对于更大的视频则不是。

任何样品将不胜感激。

0 个答案:

没有答案