Frozen5293's blog Frozen5293's blog
首页
  • 游戏开发
  • 博客相关
  • 技术问题
  • 分类
  • 标签
  • 归档
  • 友情链接
关于
GitHub (opens new window)

Frozen5293

刀剑钺戟摧狂浪,山河草木岁众生
首页
  • 游戏开发
  • 博客相关
  • 技术问题
  • 分类
  • 标签
  • 归档
  • 友情链接
关于
GitHub (opens new window)
  • mpeg-dash

    • HTML
      • server 返回
      • 客户端浏览器一般自动解析
    • 1. 如何动态的修改数据源,而不影响当前的用户
    frozen5293
    2024-03-30
    随笔
    目录

    mpeg-dash

    # MPEG-DASH

    我认为是一种文件的传输形式
    首先传送一个表单类似m3u8的一个东西
    然后进行传输,传输是要指定一个特殊的类型

    服务器使用socket,服务器拥有中断的权利
    客户端拥有启动与终端的权力

    服务器发送媒体流,然后将媒体一点点发送到客户端上
    客户端启动后,会持续的接受数据
    客户端一般情况不会主动的中断连接,同样也不知道文件的大小

    # HTML

    # server 返回

    mimetype="application/dash+xml"

    # 客户端浏览器一般自动解析

    # 1. 如何动态的修改数据源,而不影响当前的用户

    为用户设置一个临时的,保存固定时长的源
    需要持续的修改这个源
    其中的规则需要手动使用代码实现

    服务端web组件:

    用户系统:  
    
        管理员  
        登录、cookie  
    
    功能部分:  
    
        上传部分:  
    
            上传可播放对象  
            
        可播放对象操作:  
    
            添加文件  
            删除文件  
            修改文件  
            添加流  
            删除流  
            修改流  
            获取所有流  
            获取所有文件  
            获取所有可播放对象  
        
        修改播放列表  
            添加可播放对象  
            删除可播放对象  
            
        修改音频通道  
    
            添加音频通道  
            删除音频通道  
            切换音频过滤器  
    
                调节音频音量  
    

    服务端抽象成播放器

    完成 播放列表的功能  
    
        1. 加载可播放对象
        2. 删除可播放对象
        3. 重新加载可播放对象
        4. 获取当前可播放对象的状态
    
           1. 当前播放的文件  
           2. 当前可播放文件的进度的帧数  
        
    完成 音频通道的功能  
    
        5. 添加通道  
        6. 选中通道  
        7.  通道播放  
        8.  通道声音过滤器(完成音量的修改)  
    
    一个socket一个通道  
    所有的通道合成为一个通道socket  
    每个通道都会被广播  
    

    这个源抽象成广播声音

    数据抽象成音频信息

    编辑 (opens new window)
    上次更新: 2024/04/16, 00:35:21
    最近更新
    01
    Rust序列化函数
    04-29
    02
    Rust错误处理
    04-29
    03
    1
    04-29
    更多文章>
    Theme by Vdoing | Copyright © 2019-2024 Frozen5293 | MIT License
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式