音视频直播核心技术

直播流程


采集: 是视频直播开始的第一个环节,用户可以通过不同的终端采集视频,比如 iOS、Android、Mac、Windows 等。
前处理:主要就是美颜美型技术,以及还有加水印、模糊、去噪、滤镜等图像处理技术等等。
编码: 就是音视频数据的压缩,便于传输,一般有软编码和硬编码,软编码有 x264、x265、openh264等,硬编码有 iOS 的 VideoToolBox、Android 的 mediacodec,Windows 的QSV 和NVIDIA等等。
推流: 就是数据传输从主播端到服务端的过程,推流需要不同的网络协议支持,如 RTMP 等。
转码: 为了让采集端的流适配各个平台端不同协议,一般都会在服务端进行转码处理,将视频文件转成不同格式,支持 RTMP、HLS 和 FLV 等不同的协议。
分发: 应对视频应用的高并发需求,采用 CDN(Content Delivery Network,即内容分发网络) 进行内容分发加速,实现高并发等能力。
拉流与解码: 拉流即使视频数据从服务端到观众端的过程,解码就是渲染播放,让观众看到主播的视频画面。

直播卡顿

一般造成直播卡顿的原因主要有设备、视频流、网络三个方向。

方向 原因
设备 设备硬件配置太差、播放器问题等
视频流 时间戳问题、编码参数、编码码率等
网络 推流端网络太差、播放端网络太差、服务端传输压力过大等

直播延迟

延迟主要指推流端到拉流端的时间差,在音视频生产消费过程中,在不同阶段都会产生延迟,如下表所示。

分类 产生原因
设备端上延迟 采集、前处理、编码、解码、渲染播放都可能产生延迟
设备端与服务端之间的延迟 推流端到服务端的延迟,服务端到拉流端的延迟
服务端与服务端之间的延迟 服务端的数据传输、数据排队、数据的处理等延迟

阿里云技术介绍一片直播延迟的源头,如下图:

声网技术介绍了直播延迟的不同程度所适应的应用场景,如下图:

视频分辨率

分辨率是用于度量图像内数据量多少的一个参数,通常表示成ppi。一般直观表现出视频的画面细腻程度。常见的分辨率如下表。



首屏秒开

首屏耗时,指第一次点播播放后,肉眼看到画面所等待的时间。技术上指播放器解码第一帧渲染显示画面所花的耗时。通常所说的"秒开",指点击播放后,一秒内即可以看到播放画面。首屏打开越快,说明用户体验越好。首屏耗时原因主要有DNS 解析、缓存获取首帧内容网络延迟播放器缓存策略等。

直播花屏与绿屏

花屏与绿屏由不同原因造成的,主要如下:

视频直播的痛点

观看视频直播最大的痛点主要包括:卡顿模糊延迟内容等。

流媒体

流媒体是指将一连串的媒体数据压缩后,经过网络分段发送数据,在网络上即时传输影音以供观赏的一种技术与过程,此技术使得数据包得以像流水一样发送,因此称为流媒体。

如果不使用此技术,就必须在使用前下载整个媒体文件。流媒体的本质上是原始画面,经过视频采集设备,然后通过编码器编码压缩,生成点播文件或者直播流,经过网络的传输,在各种终端进行解压解码,然后播放器进行画面渲染,最终展示在用户眼前。

流媒体可以分为点播和直播。

直播与点播

直播是有实时性的要求,直播的数据都是存在内存中,过时的数据会被丢掉。视频直播,一定是一个**"边生产,边传输,边消费"**的过程.

如果需要持久化的视频数据,就必须对直播流进行录制,转化为视频文件保存起来,这样就可以转化为点播的内容。

点播的内容源是静态 的,直播的数据源是动态的。

实现点播需要解决视频转码流媒体下载两个问题;而实现直播本质需要解决视频数据编解码视频数据网络传输两个问题。

直播与RTC

RTC的一个具体应用是直播场景中的直播连麦(或PK),也就是低延时直播。普通直播,一般采用TCP协议(RTMP),使用CDN进行内容分发,会有几秒甚至十几秒的延时,主播和观众的互动只能通过文字短消息或送礼来进行。

而直播连麦,使用UDP协议(QUIC),内容实时传输,主播和观众可以进行音视频连麦互动,实时沟通,延时一般低至几百毫秒。

因此直播和 RTC 最大的区别主要体现再协议的使用以及音视频处理技术策略等。

项目 RTMP RTP/RTCP
传输协议 TCP UDP
延迟程度
使用场景 普通直播 RTC/连麦直播
相关推荐
音视频牛哥4 天前
GB28181在融合指挥调度系统应用方案探究和技术实现
实时音视频·大牛直播sdk·gb28181安卓端·gb28181平台·gb28181客户端·gb28181设备·gb28181融合调度
音视频牛哥7 天前
实时音视频之医疗手术示教技术方案探究
音视频·实时音视频·医疗培训·手术示教·rtmp手术示教·rtmp推送·rtmp播放
fxybg20229 天前
2024年录屏神器大盘点,轻松捕捉屏幕精彩
电脑·音视频·实时音视频·视频编解码·视频
开心小老虎9 天前
vue3_对接腾讯_实时音视频
vue3·实时音视频·腾讯
数科星球10 天前
对话万兴科技副总裁朱伟:2024年将迎来AI视频年
嵌入式硬件·车载系统·硬件工程·实时音视频·基带工程
Whappy00111 天前
51单片机-DS1302(RTC实时时钟芯片)
嵌入式硬件·51单片机·实时音视频
Tracy97312 天前
高分辨率音频和传统音频区别
网络·人工智能·音视频·语音识别·实时音视频
职场人参15 天前
pdf怎么压缩小一些?推荐的几种PDF压缩方法
音视频·实时音视频·格式工厂
职场人参15 天前
如何将图片左右翻转?8种方法来将图片进行左右翻转
开发语言·计算机视觉·音视频·实时音视频
典则17 天前
STM32快速复习(九)RTC时钟模块
stm32·嵌入式硬件·实时音视频