mikulch
V2EX  ›  Java

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

  •  
  •   mikulch · Mar 23, 2022 · 2610 views
    This topic created in 1511 days ago, the information mentioned may be changed or developed.

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

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

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

    mzlzero
        1
    mzlzero  
       Mar 23, 2022
    如果只是说方法的话,谜底就在谜面上
    ksharp8
        2
    ksharp8  
       Mar 23, 2022
    你可以用一键 rtmp
    wangyu17455
        3
    wangyu17455  
       Mar 23, 2022
    后端正常写,客户端那边存最近 3 分钟,推流断掉的话后端通知客户端,然后客户端就重放最近 3 分钟,然后你就成功甩锅辣!
    mikulch
        4
    mikulch  
    OP
       Mar 23, 2022
    @wangyu17455 客户端缓存最近三分钟这个做法有个问题,就是如果是新的用户这个时候进入这个页面,他还没有看过视频,这个时候就看不到画面了。
    q792602257
        5
    q792602257  
       Mar 24, 2022
    如果是转播的话,可以考虑在转播端缓存 3 分钟视频,在推流端断开后,直接继续使用缓存的 3 分钟视频进行循环推流,恢复时切换回来即可
    mikulch
        6
    mikulch  
    OP
       Mar 24, 2022
    @q792602257 看来也只好这么做了。谢谢大佬。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5622 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 08:39 · PVG 16:39 · LAX 01:39 · JFK 04:39
    ♥ Do have faith in what you're doing.