视频直播知识点(二)

文章开篇首先来介绍一下直播的过程,一个完整的直播过程包括:音视频采集、编码、封包、推流、转码、分发、解码/渲染/播放等。

一、直播常见的问题包括:

1、主播在不稳定的网络环境下如何稳定推流?

2、偏远地区的观众如何高清流畅观看直播?

3、如何精确度量直播质量指标并实时调整帧率、码率

4、不同性能设备上如何高性能编码和渲染视频?

5、如何实现播放秒开?

6、如何保障直播持续播放流畅不卡顿?

二、下面来讲讲,什么是视频??

视频是一种有结构的数据,可以把视频剖析成如下结构:

内容元素 ( Content )

图像 ( Image )

音频 ( Audio )

元信息 ( Metadata )

编码格式 ( Codec )

Video : H.264,H.265, …

Audio : AAC, HE-AAC, …

容器封装 (Container)

MP4,MOV,FLV,RM,RMVB,AVI,…

任何一个视频 Video 文件,从结构上讲,都是这样一种组成方式:

由图像和音频构成最基本的内容元素;

图像经过视频编码压缩格式处理(通常是 H.264);

音频经过音频编码压缩格式处理(例如 AAC);

注明相应的元信息(Metadata);

最后经过一遍容器(Container)封装打包(例如 MP4),构成一个完整的视频文件。

三、再来说说视频传输前的编码压缩:

为了便于视频内容的存储和传输,通常需要减少视频内容的体积,也就是需要将原始的内容元素(图像和音频)经过压缩,压缩算法也简称编码格式。例如视频里边的原始图像数据会采用 H.264 编码格式进行压缩,音频采样数据会采用 AAC 编码格式进行压缩。

但编码和解码之间,需要约定一种编码器和解码器都可以理解的约定,例如:

编码器将多张图像进行编码后生产成一段一段的 GOP ( Group of Pictures ) , 解码器在播放时则是读取一段一段的 GOP 进行解码后读取画面再渲染显示。


GOP ( Group of Pictures ) 是一组连续的画面,由一张 I 帧和数张 B / P 帧组成,是视频图像编码器和解码器存取的基本单位,它的排列顺序将会一直重复到影像结束。


I 帧是内部编码帧(也称为关键帧),P 帧是前向预测帧(前向参考帧),B 帧是双向内插帧(双向参考帧)。简单地讲,I 帧是一个完整的画面,而 P 帧和 B 帧记录的是相对于 I 帧的变化。

注意:如果没有 I 帧,P 帧和 B 帧就无法解码。

下面是关键帧和参考帧的一些关系:


小结一下:一个视频 ( Video ) ,其图像部分的数据是一组 GOP 的集合, 而单个 GOP 则是一组 I / P / B 帧图像的集合。

四、什么是视频直播?

先来理解一下概念:直播就是将每一帧数据 ( Video / Audio / Data Frame ),打上时序标签 ( Timestamp ) 后进行流式传输的过程。发送端源源不断的采集音视频数据,经过编码、封包、推流,再经过中继分发网络进行扩散传播,播放端再源源不断地下载数据并按时序进行解码播放。如此就实现了 “边生产、边传输、边消费” 的直播过程。

理解概念后,再来谈谈直播的业务逻辑:


各协议差异对比如下:



五、影响视觉体验的直播性能指标:

1、第一个直播性能直播延迟(Delay):延迟是数据从信息源发送到目的地所需的时间

(1)延时指稳定网络下,发送和接收时差

(2)转发环节越多,延时越大

影响延时的因素:

(1)由于 RTMP/HLS 是基于 TCP 之上的应用层协议,TCP 三次握手,四次挥手,慢启动过程中的每一次往返来回,都会加上一次往返耗时 ( RTT ),这些交互过程都会增加延迟。

(2)根据 TCP 丢包重传特性,网络抖动可能导致丢包重传,也会间接导致延迟加大,这部分的延时一般称为累计延时。

一个完整的直播过程:采集、处理、编码、封包、推流、传输、转码、分发、拉流、解码、播放从推流到播放,再经过中间转发环节,延迟越低,则用户体验越好。

2、第二个直播性能指标卡顿:是指视频播放过程中出现画面滞帧,让人们明显感觉到“卡”。单位时间内的播放卡顿次数统计称之为卡顿率

影响卡顿的因素:

(1)推流端发送数据中断

(2)网络传输拥塞或网络抖动异常

(3)播放端设备的解码性能太差

3、第三个直播性能指标首屏耗时:指第一次点击播放后,肉眼看到画面所等待的时间。技术上指播放器解码第一帧渲染显示画面所花的耗时。通常说的 “秒开”,指点击播放后,一秒内即可看到播放画面。首屏打开越快,说明用户体验越好。

综合以上三点,影响视频直播质量可以总结为两方面:设备差异,以及网络环境这些场景下带来的技术考验。


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值