如何实现一个摄像头视频服务如果推流端挂掉,用户观看的摄像头画面不停止,而是循环播放最后 3 分钟的视频? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mikulch
V2EX    Java

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

  •  
  •   mikulch 2022-03-23 14:43:29 +08:00 2293 次点击
    这是一个创建于 1347 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    mzlzero
        1
    mzlzero  
       2022-03-23 16:58:39 +08:00
    如果只是说方法的话,谜底就在谜面上
    ksharp8
        2
    ksharp8  
       2022-03-23 17:58:17 +08:00
    你可以用一键 rtmp
    wangyu17455
        3
    wangyu17455  
       2022-03-23 19:40:58 +08:00
    后端正常写,客户端那边存最近 3 分钟,推流断掉的话后端通知客户端,然后客户端就重放最近 3 分钟,然后你就成功甩锅辣!
    mikulch
        4
    mikulch  
    OP
       2022-03-23 22:26:55 +08:00
    @wangyu17455 客户端缓存最近三分钟这个做法有个问题,就是如果是新的用户这个时候进入这个页面,他还没有看过视频,这个时候就看不到画面了。
    q792602257
        5
    q792602257  
       2022-03-24 12:29:35 +08:00
    如果是转播的话,可以考虑在转播端缓存 3 分钟视频,在推流端断开后,直接继续使用缓存的 3 分钟视频进行循环推流,恢复时切换回来即可
    mikulch
        6
    mikulch  
    OP
       2022-03-24 12:30:49 +08:00
    @q792602257 看来也只好这么做了。谢谢大佬。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1530 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 16:20 PVG 00:20 LAX 08:20 JFK 11:20
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86