live streaming领域基础知识与论文总结
1. 论文对比
2014年: 基于buffer |
BBA |
基本单位chunk 4s |
解决的问题: 通过2个buffer阈值,构建一个buffer的函数,将buffer保持在一个合理的范围内,只有在启动阶段才使用throughput作为辅助,其他时刻只是用buffer |
核心问题:吞吐量预测不准,buffer调整太过于保守 |
QoE:卡顿,码率 协议:DASH BBA-0:线性模型 BBA-1:非线性模型 BBA-2:快启动+非线性模型 BBA-other:快启动+非线性模型+平滑切换 |
2015年:基于quality |
MPC |
基本单位chunk:4s |
优势:对未来的关键环境进行预测与优化,可解释性,参数更新容易问题是在线很难实现,需要离线训练,在线测试,并且通过FASTMPC只能过去近似最优解 |
QoE:卡顿,码率,平滑 协议:DASH 提出挑战,解决挑战 |
|
2017年:基于RL |
pensieve |
基本单位chunk:4s |
解决的问题: 1. 网络吞吐量的变化 2. QoE 3. 码率选择的连串反应 4. 码率选择的调优 |
QoE:卡顿,码率,平滑 协议:DASH |
2. 直播传输协议:
httpflv, rtmp协议
目前绝大多数公司更多的是在TCP或者UDP的基础上封装一个传输协议,适应本系统的私有协议。
Httpflv: |
传输http流,视频封装格式是flv,延时低,数据不分段 Rtmp协议基础上开发的,适合直播 |
Rtmp: |
传输tcp流,视频封装格式是flv,延迟低,数据不分段 Adobe公司开发 支持该协议的软件有Adobe/Uitrant/red5,适合直播 |
Hls: |
传输http流,传输TS文件,延迟高,数据分段 苹果公司开发,适合点播和直播 |
dash: |
传输http流,传输MP4文件,延迟高,数据分段,适合点播 适合点播 |
3. 直播过程:
采集--处理--编码和封装--推流到服务器--服务器流分发--播放器播放
主播--RTMP--直播流媒体服务器(CDN)--RTMP--关重
编码: |
视频编码器:编码性能,编码速度,编码压缩比会直接影响流媒体的体验,编码种类有:H.265,VP8, VP9, H.264 音频编码器:MP3, AAC |
封装: |
不同的封装格式,例如:AVI, MPEG, WMV, FLV, MPEG2-TS, .flv, ,avi, .mpg, .dat, .mp4,.ts 直播中主要采用的封装格式为:FLV, MPEG2-TS, 分别用于RTMP/HTTP-FLV和HLS流媒体传输协议,市面上绝大多数直播产品都采用的是RTMP协议 |
推流到服务器: |
RTMP client和RTMP server,一个单一的连接可以通过不同的通道传输多路网络流,这些通道中的包都是按照固定大小进行包传输的。 |
流媒体服务器 |
负责流媒体的发布和转播分发功能 |
播放器播放 |
只要支持RTMP的播放器都可以 |
4. 直播未来的研究方向
- 基于规则的方式与基于增强学习的方式结合
- 对基于增强学习的方式进行改进:对reward进行改进,有chunk_reward改为迭代型的reward
- 分布式计算,分布式部署领域(边缘计算)
- 流量的异常检测
- 我们目前考虑的是CDN端到client端的情况,但是我们之后要考虑数据发送端到数据接受端的情况。
- 如果多用户和多用户通信,如何最优化目标码率
- CDN端对于非常火的视频资源可以转码多种码率,但是对于很早的视频,转码什么样的码率才是最合适的(依赖于客户的需求和需求客户的网络况状)
- 多源多目的之间的平衡
- 网络的吞吐量是不确定的,尤其是细粒度的吞吐量更不确定,但是buffer的占有情况是确定的,如何平衡网络吞吐量的预测结果与buffer的占有情况是一个挑战
- QoE目标中多个指标可能冲突。高码率,低卡顿,平滑切换,低延迟。更复杂的是,这些QoE的偏好不是定死的而是因用户而异
- 全局最优解。码率选择有级联效应。本次的码率选择,会影响下一次选择的buffer占用清空,会直接影响下一次的码率选择,进而影响整体的QoE。所以每一次的码率选择,也需要全局最优,而不是局部最优。buffer在为了实现全局最优,实际运作中会保持在一个安全范围内,使得码率更加保守。
- 预测的码率是一个连续值,如何进行合适的离散化,选择最优码率。就是预测的码率A比实际码率【B,C】之间,应该如何选择,选择不卡顿的低码率B,还是选择有卡顿几率的高码率。(这个前提就是网络吞吐量真的计算不准确)
5. 目前直播领域的问题
背景环境: |
|
视频数据: |
|
网络数据: |
|
6 .注意
目前的研究粒度一共可以划分为3种:基于GOP,基于chunk,基于frame
CBR encoding:固定码率编码(一次编码)。码率=实际的数据量/s
VBR encoding :可变码率编码(二次编码),但是平均码率不变。在码率恒定的情况下,对内容简单的部分分配较少的比特,对内容较多的内容,分配较多的比特。这种编码方式使得同样的码率,但是chunk_size有不一样的大小,下载时间就不一样。码率=平均数据量/s
码率只是一个平均值,是指每秒平均的传输bit数
比赛采用的编码方式时VBR,所以码率是平均码率,重要的是chunk_size才是最有效,最直接的,最可控时延的信息
CDN中的1s视频在client的buffer中也是1s视频,只是下载这1s视频所需时间不一定是1s
CDN中有2s的视频,client的buffer中有5s的视频。
client将CDN中的1s视频下载到buffer中,需要花费3s。
此刻:CDN中有1s的视频,client的buffer中有5s-3s+1s=3s的视频
以帧为单位,最大的特点就是,卡顿时间会减少,延迟会减少,更加细粒度。 这样对网络吞吐量的预测要求更加严格,之前对于chunk,只需要预测chunk期间内的平均吞吐量,这是一个趋势指标,而不是一个时刻值,相对较容易。
live streaming领域基础知识与论文总结相关推荐
- 计算机基础知识总结论文,大学计算机基础总结论文
计算机基础实训课是针对非计算机专业的大一新生开设的计算机入门课程,是应用性和操作性都非常强的课程,力求培养学生对计算机的新知识.新技术的理解和应用,使学生能够有效的利用计算机来提高学习和工作效率.下面 ...
- 高光谱遥感数据光谱特征的提取与应用---高光谱基础知识科普论文
论文地址 高光谱遥感数据光谱特征的提取与应用 杜培军 遥感基础知识积累: 绝对温度大于0的物体在整个光谱轴上具有连续的光谱曲线 高光谱可以有效的描述一些窄而重要的局部光谱特征,可以明显看到高光谱对于光 ...
- 计算机基础知识英文论文,第1章 计算机基础知识 2.doc
第1章 计算机基础知识2 思考与练习2 上机实验3 第2章 Windows操作系统4 思考与练习4 上机实验6 第3章 Internet操作基础7 思考与练习7 上机实验8 第4章 Word文字处理软 ...
- AI入门:机器学习领域基础知识
本章要点: AI与人类大脑的联系: 对输入/输出建模: 分类和回归: 时间序列: 训练. 外行人都以为人工智能是人造大脑,并且总把它和科幻电影中的机器人联系起来,而实际上这些科幻场景与现如今的人工智能 ...
- 计算机基础知识的论文,计算机基础知识试题
计算机基础知识试题本站小编 免费考研网/2018-01-14 计算机基础知识试题 本题正确答案为中央处理器和内存储器. 2.CPU是由____和____组成的.解答:CPU又称中央处理器,它主要由运算 ...
- 计算机网络基础知识论文摘要,计算机网络基础知识论文大纲格式 计算机网络基础知识论文框架如何写...
[100个]计算机网络基础知识论文大纲格式供您参考,希望能解决毕业生们的计算机网络基础知识论文框架如何写相关问题,写好提纲那就开始写计算机网络基础知识论文吧! 五.高职<计算机网络>课程活 ...
- 计算机大一基础知识,大一计算机基础知识论文
掌握计算机基础知识,熟练操作计算机基本应用,已成为21世纪人才的基本要求.下面是学习啦小编为大家整理的大一计算机基础知识论文,供大家参考. 大一计算机基础知识论文范文一:民办高校计算机基础课程教学改革 ...
- 递归皮层网络RCN识别文本CAPTCHAS的Science论文基础知识和译文 (公号回复“递归皮层网络”可下载PDF典藏版资料)
递归皮层网络RCN识别文本CAPTCHAS的Science论文基础知识和译文 (公号回复"递归皮层网络"可下载PDF典藏版资料) 原创: 秦陇纪 数据简化DataSimp 今天 数 ...
- 计算机基础知识论文统一格式,计算机基础论文范文
摘 要:本文对计算机基础教学相关问题进行了探讨. 关键词:网络 教学特点 改革 高职计算机 计算机基础教学论文 如何在网络化.信息化的环境下培养学生计算机的基本技能呢?这是我们新的研究课题,本文针对这 ...
- 计算机专业知识更新速度快,[计算机专业知识]计算机基础知识论文:医学专业计算机基础教...
随着高等职业教育的蓬勃发展,培养大量高素质的技能型人才是我国国民经济发展的迫切需要,是高等教育大众化的要求,是促进就业.构建和谐社会的有效措施.下面是答 案 网 ZqNF.Com小编为大家整理的计算机 ...
最新文章
- 《Angular4从入门到实战》学习笔记
- 皮一皮:中国男足啊..这球少一个人帮忙这球都进不了...
- 给女朋友讲ActiveMQ是啥?
- Oracle数据库mybatis 插入空值时报错(with JdbcType OTHER)
- 掌握Rabbitmq几个重要概念,从一条消息说起
- LeetCode--139. 单词拆分(动态规划)
- c语言课本引言课后答案,C语言基础(01-引言及预备知识)作业题
- stm32气压传感器 带探头的_几种常用传感器
- 将指定目录中的txt文件转化成excel文件
- Java毕设项目水果网店管理系统(java+VUE+Mybatis+Maven+Mysql)
- android qq毛玻璃,如何快速做出毛玻璃背景?有了这个网格渐变神器,1分钟搞定...
- 个人网站怎么申请支付接口?
- 搬砖方法论:上帝对象(God Object)
- 【Javafx】关于属性绑定需要在动画设置之后
- ubuntu vim的 保存退出方法
- 5种RS485切换方向的方法及优劣势分析
- python无法写入文件夹_python write无法写入文件的解决方法
- 计算机网络常见面试题目总结,含答案
- matlab创建纯色图片
- 接口测试-公司内部培训资料
热门文章
- 应用程序正常初始化000007b失败
- mpp格式文件怎么打开,mpp进度计划
- 【unity3d】复刻死亡之书自动设置摄像机景深
- 4步讲解一维数组传参与二维数组传参
- C/C++二维数组传参
- 计算机课代表总结,计算机班的班主任工作总结.doc
- 微信小程序 首页弹出广告的demo
- [论文笔记]ACL-2021-Improving Named Entity Recognition by External Context Retrieving and Cooperative
- python中利用字典加密字符串_Python列表,字典和字符串操作
- Win10笔记本小喇叭图标出现红叉并且提示未安装任何音频输出设备