最近我一直在学习Spring Boot框架,到目前为止,我对它的表现还算满意。
然而,我一直在尝试编写一个基本的媒体服务器应用程序,但我不确定实现控制器端点以提供HTML5视频源的正确方法是什么。我目前的实现方式如下:
@GetMapping(value = "/videosrc", produces = "video/mp4")
@ResponseBody
public FileSystemResource videoSource(@RequestParam(value="id", required=true) int id) {
return new FileSystemResource(new File("path to mp4 file"));
}
HTML 5视频元素如下所示:(使用Thymeleaf)
<video width="auto" height="240" controls style=" margin-left: auto; margin-right: auto; display: block;">
<source th:src="@{/videosrc(id=${video.id})}" type="video/mp4">
</video>
视频可以正常播放,但我发现如果我跳过视频几次,它最终会变慢,然后冻结浏览器。我不确定为什么会发生这种情况,但我猜测是因为我没有正确处理请求?谢谢。