V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
kkkaaa
V2EX  ›  程序员

大佬们有个需求咨询,同一视频选择不同的分辨率播放这个功能要怎么实现的

  •  
  •   kkkaaa · 2 天前 · 1061 次点击
    背景:
    后端 java 开发
    app 短剧短视频项目
    小公司

    需求:
    1 视频可以选择不同的分辨率 360p 、480p 、720p
    2 根据用户的情况分发不同的视频

    --------------------------------------
    自己想到的方案
    对上传的视频进行转码,一份视频转成 3 份,然后 3 份视频分别存储到 oss 的三个目录下,例如:
    /video/360/xxx.mp4
    /video/480/xxx.mp4
    /video/720/xxx.mp4
    这样就可以根据用户的网络,屏幕等分发不同的,或者都交给前端自己分发。

    但是用户自己选择这个没有想到方案,因为一般切换分辨率都是在播放过程中,如果切换了视频源不就重新播放了吗?

    求方案了
    13 条回复    2024-12-24 18:25:03 +08:00
    DTCPSS
        1
    DTCPSS  
       2 天前
    DASH
    tunggt
        2
    tunggt  
       2 天前 via Android
    你网站和 app 播放视频,不用播放器?
    你视频播放不记录播放时长等信息?
    xhzhang
        3
    xhzhang  
       2 天前
    视频按秒或固定时间,分段存储,而不是整个文件存一起的
    rain0002009
        4
    rain0002009  
       2 天前
    一版 oss 都带视频播放服务 要钱罢了
    NathanInMac
        5
    NathanInMac  
       2 天前
    简单来说就是视频分小 chunk ,而不是一整个大文件,每次都只会读用户所需要的时间往后的数据,然后在客户端拼接播放

    可以搜下 hls + m3u8 或者 DASH + mpd
    vZexc0m
        6
    vZexc0m  
       2 天前
    不同的分辨率: 转码。
    vZexc0m
        7
    vZexc0m  
       2 天前
    直接花钱用云服务商的 OSS 配合音视频处理转码就行。续播这个客户端处理就行了。
    gorvey
        8
    gorvey  
       1 天前
    花钱接云服务。像你这样搞可能成本更高
    Leo666666
        9
    Leo666666  
       1 天前
    我们现在用的是阿里云的 VOD 视频点播服务,这个自己实现还是比较麻烦
    Yanlongli
        10
    Yanlongli  
       1 天前
    大概就是两种方案
    1 、不同码率存一份
    2 、通过云服务实时转码

    可以根据体量对比一下价格,比如存储价格和转码价格,看哪个更划算。
    halobugTurbo
        11
    halobugTurbo  
       1 天前
    阿里云视频点播+1

    1 、传视频可以自己配置转码。
    2 、播放器能适配多个清晰度视频。
    3 、现成的服务,少折腾。(真麻烦)
    https://video.aliyuncs.com/player/presentation/index.html?type=quality
    HtPM
        12
    HtPM  
       1 天前
    1 楼不就给出了正确答案吗? DASH
    fwh
        13
    fwh  
       1 天前
    现在有个 CMAF 标准,统一了 dash 和 hls ,两种格式,用同一个源,转码一次就行
    https://www.bento4.com/developers/cmaf/
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6010 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 01:55 · PVG 09:55 · LAX 17:55 · JFK 20:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.