如何实现一个摄像头视频服务如果推流端挂掉,用户观看的摄像头画面不停止,而是循环播放最后 3 分钟的视频?

2022-03-23 14:43:29 +08:00
 mikulch

最近在做一个转播处理后的视频的项目。之前的帖子: https://www.v2ex.com/t/840368#reply44

现在业务上要求标题中的需求,并且无论是 [正在看直播的用户,还是刚点进页面准备看视频的用户] ,当推流端挂掉以后,看到的都是最后 3 分钟并且循环播放的视频。这样子的需求,比较好的实现方式是什么呢?目前能想到的只有缓存一个备份这个方案,不知道有没有更好的方案?

目前用的流媒体服务器是: https://github.com/ossrs/srs

1780 次点击
所在节点    Java
6 条回复
mzlzero
2022-03-23 16:58:39 +08:00
如果只是说方法的话,谜底就在谜面上
ksharp8
2022-03-23 17:58:17 +08:00
你可以用一键 rtmp
wangyu17455
2022-03-23 19:40:58 +08:00
后端正常写,客户端那边存最近 3 分钟,推流断掉的话后端通知客户端,然后客户端就重放最近 3 分钟,然后你就成功甩锅辣!
mikulch
2022-03-23 22:26:55 +08:00
@wangyu17455 客户端缓存最近三分钟这个做法有个问题,就是如果是新的用户这个时候进入这个页面,他还没有看过视频,这个时候就看不到画面了。
q792602257
2022-03-24 12:29:35 +08:00
如果是转播的话,可以考虑在转播端缓存 3 分钟视频,在推流端断开后,直接继续使用缓存的 3 分钟视频进行循环推流,恢复时切换回来即可
mikulch
2022-03-24 12:30:49 +08:00
@q792602257 看来也只好这么做了。谢谢大佬。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/842353

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX