01.流媒体技术介绍
色彩空间
RGB色彩空间
•三原色:红(R),绿(G),蓝(B)。 •任何颜色都可以通过按一定比例混合三原色产生。 •RGB色度空间
• 由RGB三原色组成 • 广泛用于BMP,TIFF,PPM等 • 每个色度成分通常用8bit表示[0,255]
YUV色彩空间
•YUV色彩空间: • Y:亮度分量 • UV:两个色度分量 • YUV更好的反映HVS特点
1 视频编解码 2 媒体传输技术 3 媒体存储
视频传输
视频传输:通过传输系统将压缩的视频码流从编码端传输到解码端 传输系统:互联网,地面无线广播,卫星
视频传输面临的问题
➢ 传输系统不可靠:带宽限制、信号衰减、噪声干扰、传输延迟 ➢ 视频传输出现的问题:不能解码出正确的视频、视频播放延迟
视频传输差错控制
编码器中的关键技术
编解码中的关键技术
编解码器实现
编解码器的实现平台:
➢ 超大规模集成电路VLSI ➢ ASIC, FPGA ➢ 数字信号处理器DSP ➢ 软件
编解码器产品:
➢ 机顶盒 ➢ 数字电视 ➢ 摄像机 ➢ 监控器
编解码器实现
编解码器的实现平台:
➢ 超大规模集成电路VLSI ➢ ASIC, FPGA ➢ 数字信号处理器DSP ➢ 软件
流媒体技术介绍
内容:编解码、传输、存储 作者:何欣
视频技术体系
压缩 编码 视频编码
视频存储
解码渲染
1 视频编解码 2 媒体传输技术 3 媒体存储
图像与视频
图像:是人对视觉感知的物质再现。 三维自然场景:对象包括深度,纹理和亮度信息 二维图像:纹理和亮度信息
图像与视频
图像:是人对视觉感知的物质再现。三维自然场景
HTTP
⑥播放ts文件短片
⑦更新播放文件段列表(M3U8)
⑧返回播放文件段列表(M3U8)
视频被切分为TS短文件,以HTTP形式承载.
优点:
➢ 利用http协议传输具备很好的网络穿透能力 ➢ 结合CDN网络具备非常强的分发和网络加速优势 ➢ 更合适于点播场景。 ➢ HTML5浏览器天然支持播放,无需插件 ➢ 分片技术更适合移动互联网的应用场景 缺点:需要缓冲至少3个segment,直播应用延迟巨大,视频加载速度慢。
GET_PARAMETER请求检查RUL指定的演示与媒体的参数值。没有实体体时, GET_PARAMETER也许能用来测试用户与服务器的连通情况
可在任意时刻发出OPTIONS请求,如用户打算尝试非标准请求,并不影响服务器状态
PAUSE请求引起流发送临时中断。如请求URL命名一个流,仅回放和记录被停止;如请求 URL命名一个演示或流组,演示或组中所有当前活动的流发送都停止。恢复回放或记录后, 必须维持同步。在SETUP消息中连接头超时参数所指定时段期间被暂停后,尽管服务器可 能关闭连接并释放资源,但服务器资源会被预订
重定向请求通知客户端连接到另一服务器地址。它包含强制头地址,指示客户端发布URL 请求;也可能包括参数范围,以指明重定向何时生效。若客户端要继续发送或接收URL媒 体,客户端必须对当前连接发送TEARDOWN请求,而对指定主执新连接发送SETUP请求
对URL的SETUP请求指定用于流媒体的传输机制。客户端对正播放的流发布一个SETUP请求, 以改变服务器允许的传输参数。如不允许这样做,响应错误为"455 Method Not Valid In This State”。为了透过防火墙,客户端必须指明传输参数,即使对这些参数没有影响
编解码器产品:
➢ 机顶盒 ➢ 数字电视 ➢ 摄像机 ➢ 监控器
视频编码标准
编码标准作用:
➢ 兼容:不同厂家生产的编码器压缩的码流能够被不同厂家的解码器解码 ➢ 高效:标准编解码器可以进行批量生产,节约成本。
主流的视频编码标准:
➢ MPEG-2 ➢ MPEG-4 Simple Profile ➢ H.264/AVC ➢ H.265/HEVC ➢ AVS ➢ VC-1
P,S
P,S S
P,S
P,S
要求 推荐 可选 可选 要求 推荐 要求
可选
可选 要求
可选
要求
含义
检查演示或媒体对象的描述,也允许使用接收头指定用户理解的描述格式。DESCRIBE的 答复-响应组成媒体RTSP初始阶段 当从用户发往服务器时,ANNOUNCE将请求URL识别的演示或媒体对象描述发送给服务器; 反之,ANNOUNCE实时更新连接描述。如新媒体流加入演示,整个演示描述再次发送, 而不仅仅是附加组件,使组件能被删除
通用 的YUV图像格式 •根据YUV图像的亮度分辨率定义图像格式
帧和场图像
一帧图像包括两场——顶场,底场
逐行与隔行图像
•逐行图像:一帧图像的两场在同一时间得到,ttop=tbot。 •隔行图像:一帧图像的两场在不同时间得到, ttop≠tbot。
视频质量评价
视频质量评价
•有损视频压缩使编解码图像不同,需要一种手段来评价解码图像的质量。 •质量评价:
浏览器厂商抛弃。HTML5重新定义media标签浏 览器厂商解决视频播放问题。移动互联网时代以 Apple为首的厂商抵制flash player
流媒体传输协议HLS
Client
Server
①获取播放文件段列表(M3U8)
②返回播放文件段列表(M3U8)
③分析播放文件段列表
④下载列表对应ts文件 ⑤返回ts文件流
PLAY告诉服务器以SETUP指定的机制开始发送数据;直到一些SETUP请求被成功响应,客 户端才可发布PLAY请求。PLAY请求将正常播放时间设置在所指定范围的起始处,发送流 数据直到范围的结束处。PLAY请求可排成队列,服务器将PLAY请求排成队列,顺序执行
该方法根据演示描述初始化媒体数据记录范围,时标反映开始和结束时间;如没有给出 时间范围,使用演示描述提供的开始和结束时间。如连接已经启动,立即开始记录,服 务器数据请求URL或其他URL决定是否存储记录的数据;如服务器没有使用URL请求,响 应应为201(创建),并包含描述请求状态和参考新资源的实体与位置头。支持现场演示 记录的媒体服务器必须支持时钟范围格式,smpte格式没有意义
12
9,123,840
File Size(Byte) 68428800
为什么可以压缩?
去除冗余信息
➢ 空间冗余:图像相邻像素之间有较强的相关性 ➢ 时间冗余:视频序列的相邻图像之间内容相似 ➢ 编码冗余:不同像素值出现的概率不同 ➢ 视觉冗余:人的视觉系统对某些细节不敏感 ➢ 知识冗余:规律性的结构可由先验知识和背景知识得到
SIP/RTP协议
传统CT技术场景,广泛应用于视频通 话、视频会议等场景。
➢ 特点:具备用户回话协商能力和媒体协商能力, 具备很强的实时传输、QOS保证等特点,整体技 术完备。
➢ 场景:视频通话、视频会议等需要双通的场景。 ➢ 缺点:协议形式较重,开发复杂;SIP协议在互联
网下的传输表现出很多不适应性,如设备阻止, 网络穿透性不强等。
单机IO无法支撑点播访问 用户播放进度,开始时间,片源随机性大
这个方法请求设置演示或URL指定流的参数值。请求仅应包含单个参数,允许客户端决定 某个特殊请求为何失败。如请求包含多个参数,所有参数可成功设置,服务器必须只对 该请求起作用。服务器必须允许参数可重复设置成同一值,但不让改变参数值。注意: 媒体流传输参数必须用SETUP命令设置。将设置传输参数限制为SETUP有利于防火墙。将 参数划分成规则排列形式,结果有更多有意义的错误指示
为什么要进行视频压缩?
未经压缩的数字视频的数据量巨大
➢ 存储困难:一张DVD只能存储几秒钟的未压缩数字视频。 ➢ 传输困难:1兆的带宽传输一秒的数字电视视频需要大约4分钟
Frame Rate 30 fps
一分钟的视频数据
Frame Size
Bits/pixel
Bit-Rate(bps)
176X144 pixels
流媒体分发技术(直播)
缓存 流量控制 IO平滑
内存复制
特点:
➢ 对媒体数据内存复制分发 ➢ 保证数据的实时性和资源在分发通 道间的合理分配
技术难点: ➢ 内存调度和合理分配 ➢ 防止单通道传输问题引起的连锁反应 ➢ CPU(线程)随业务输入输出路数变化 调度方案
➢ 大并发的网络IO处理能力
流媒体分发技术(点播)
TEARDOWN请求停止给定URL流发送,释放相关资源。如URL是此演示URL,任何RTSP连接 标识不再有效。除非全部传输参数是连接描述定义的,SETUP请求必须在连接可再次播放 前发布
特点:具备媒体回话协商,结合RTP具备实时传送能力,集合RTCP具备媒体动态调整,QOS保证能力 适用:适用于单向的实时直播和点播场景
数据压缩分类
无损压缩(Lossless)
压缩前解压缩后图像完全一致X=X' 压缩比低(2:1~3:1) 例如:Winzip,JPEG-LS
有损压缩(Lossy)
压缩前解压缩后图像不一致X≠X' 压缩比高(10:1~20:1) 利用人的视觉系统的特性 例如:MPEG-2,H.264/AVC,AVS
压缩系统的组成
方向 C->S
ANNOUNCE
C->S S->C
GET_PARAMETER
C->S S->S S->C
PAUSE
C->S
PLAY
C->S
RECORD
C->S
REDIRECT
S->C
SETUP
C->S
SET_PARAMETER
C->S S->C
TEARDOWN
C->S
对象 P,S P,S P,S P,S P,S P,S