小编Erd*_*mir的帖子

基于休息的视频流

使用spring boot,我想制作基于RESTful的视频播放器.我的文件浏览器中有.mp4扩展视频.如何通过创建休息端点在前端端提供这些视频?

我试过这种方法.视频可以启动或停止.但它无法向后或向前完成.无法达到所需的时间并开始.

spring video-streaming html5-video spring-boot spring-restcontroller

1
推荐指数
1
解决办法
9008
查看次数

如何处理sse连接关闭?

我有一个端点,如示例代码块中所示。流式传输时,我通过 调用异步方法streamHelper.getStreamSuspendCount()。我正在更改状态时停止此异步方法。但当浏览器关闭且会话终止时,我无法访问此异步方法。更改状态时,我将停止会话范围内的异步方法。但当浏览器关闭且会话终止时,我无法访问此异步方法。会话关闭时如何访问此范围?

@RequestMapping(value = "/stream/{columnId}/suspendCount", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
@ResponseBody
public Flux<Integer> suspendCount(@PathVariable String columnId) {
    ColumnObject columnObject = streamHelper.findColumnObjectInListById(columnId);
    return streamHelper.getStreamSuspendCount(columnObject);
}


getStreamSuspendCount(ColumnObject columnObject) {
   ...
   //async flux
   Flux<?> newFlux = beSubscribeFlow.get(i);
   Disposable disposable = newFlux.subscribe();
   beDisposeFlow.add(disposable); // my session scope variable. if change state, i will kill disposable (dispose()).
   ...
   return Flux.fromStream(Stream.generate(() -> columnObject.getPendingObject().size())).distinctUntilChanged()
                    .doOnNext(i -> {
                        System.out.println(i);
                    }));
}
Run Code Online (Sandbox Code Playgroud)

server-sent-events spring-boot project-reactor spring-session

0
推荐指数
1
解决办法
2759
查看次数