在今天的移动网络时代,我已经不习惯直播类的产品了,比如看游戏直播、给美女播音员颁奖、听直播课等。 另外,随着抖动、快手等短篇视频类应用的爆发,视频类产品总是充斥着我们的生活。 那么,直播系统和视频产品背后的音视频技术知识有哪些呢? 本文从直播类产品的基础结构出发,阐述一些基础的音视频技术知识。
(音视频行业非常精密,本文只是从一个pm的角度总结了最基本的副本)
实时功能通用的基础架构有三个部分:音频视频收集端、云服务端和音频视频播放端。
下图是app实时功能的体系结构。
从上图可以看出,每个部分都有各自需要解决的地方。
通常,视频广播类功能的整体流程由以下副本组成。
在具体理解每个过程之前,先从音视频的基本知识开始。
声音:
我们平时用手机和电脑听的音频是已经数字化的音频模拟信号。 最初,这些音频都是从物理声音开始的。
中学的物理都学过。 声音是波,是由物体的振动产生的。
声波有三个要素
模拟信号的数字化过程:
模拟信号的数字化过程是将模拟信号转换为数字信号的过程,包括采样、量化和编码。
这个过程可以从下图中理解。
通过以上流程,实现了语音信号的数字化。 转换为数字信号后,可以进行这些数据的存储、再现、复制获取等其他操作。
音频编码:
以上,编码是指以一定的模式记录采样和量化的数据,到底为什么需要编码呢?
收集和量化的数据非常大,从存储和互联网实时分发的角度来看,这个数据量太大了。 存储和传输非常困难,需要编码压缩。
压缩编码的指标是压缩比,压缩比一般小于1。
压缩编码算法分为有损压缩和无损压缩两种。
压缩编码的本质是压缩冗馀信号,冗馀信号是人眼感知不到的信号,包括人耳听觉范围外的声音信号和隐蔽的声音信号。 信号掩蔽可以分为频域掩蔽和时域掩蔽,关于信号掩蔽大家可以自己百度进行,但这里不多说。
那么,语音压缩编码的一般风格有那些吗?
主要是wma码mp3码aac编码,这是现在比较受欢迎的不可逆压缩编码技术,也是现在直播和小动画中经常使用的编码风格。 ogg代码等。
数字视频:
我们平时在手机和pc上看到的视频由复印元素、编码样式和包装容器组成。
图像:
图像是人类在视觉上感受到的物质的再现。 三维图像的对象包括深度、纹理和亮度新闻,二维图像包括纹理和亮度新闻,可以简单地将纹理理解为图像。
谈了图像的概念,现在视频:视频由多个图像组成,是一组连续的图像。 基本的数字视频基本上是由“收集-解决-显示”形成的。
编码模式:
以上描述了音频编码,视频也同样有编码的过程。 视频编解码器的过程是压缩或解压缩数字视频的过程。
进行视频编解码时,视频的质量、表现视频所需的数据量(通常称为编码率)、编码算法和解码算法的复杂度、比较数据丢失和错误的鲁棒性、便利性、随机访问、。
常用的视频编解码方法是h.26x系列和mpeg系列,但目前最常用的视频编码模式是h.264,其优点是低编码率、画质高、容错性强、互联网适应性强、同时真实
再介绍一下关于h.264的知识。
在h.264中,图像包括帧、前场和后场,完美的图像是帧。
如果在收集视频信号时使用逐行扫描,则每次扫描时得到的信号是图像,即一帧。 如果使用隔行扫描(奇数、偶数行),则扫描的1帧图像被分为2个部分,分别称为场,依次分为前场(也称为偶数场)和后场(也称为奇数场)。
帧和场的概念还带来了不同的编码方法:帧编码和场编码。 渐进式扫描适于动态图像,因此对动态图像使用帧编码比较好。 另一方面,隔行扫描适于非动态图像,因此更优选在非动态图像中使用场编码。
另外,各帧图像被分成多个片,各片由宏块构成,各宏块由子块构成。
包样式:
视频封装风格可以看作是承载了视频、音频、视频编解码方法等新闻的容器。 一种视频包样式可以支持多种视频编解码方法,包括quicktime(.mov )支持几乎所有编解码方法,mpeg(.mp4 )也支持大多数编解码方法。
pc中经常使用. mov的视频文件。 通过以上介绍,此视频的文件样式为. mov,包样式为quicktime file format,但不知道视频编解码器的方法。 如果我们想专业记述视频,可以记述h.264/mov的视频文件,即其封装方法为quicktime file format,文件样式为. mov,编码方法为h.264。
h.264:
h.264是高性能的视频编解码技术,是“国际电车”和“国际标准化组织iso”共同建立的联合视频集团共同制定的新的数字视频编码标准。
以上叙述了h.264编码技术的特征,接下来看看与h.264相关的重要技术。
我们首先必须知道无论是视频还是音频,其目的都是压缩。 视频编码的目的是提取包括空间冗余、时间冗余、编码冗余、视觉冗余和知识冗余的冗余新闻。
在此基础上,h.264的压缩技术如下。
a )帧内预测压缩处理空间数据冗馀的问题。 空间冗馀数据是指,图像数据在宽高度的空间中含有很多颜色和光,用人类的肉眼很难注意到的数据。 对于这些数据,我们可以直接压缩。
帧内压缩对应于I帧,即关键帧。 那么什么是I帧呢? 在线教程有一个典型的例子。 如果照相机对着你拍的话,一秒内你实际发生的变化非常少。 照相机通常每秒捕捉几十帧的数据。 例如,像动画一样,25帧/秒。 视频文件通常为30帧/秒左右。 哪个对帧组来说变化较小,为了便于压缩数据,完全保留第一个帧。 I帧特别重要,因为这个关键帧后面没有解码数据是不可能的。
b )帧间预测压缩处理时间数据的冗馀问题。 在上面的例子中,照相机在一定时间内捕获的数据没有大的变化,压缩了这段时间内的相同数据的是时间数据压缩。
帧间压缩对应于p帧和b帧。 p帧是前面参考帧,压缩时只参考前面的帧。 另一方面,b帧是双向参照帧,压缩时即使参照前一帧也参照后一帧。
c )整数离散余弦变换( dct )将空间相关性变换为频域上的无关数据并进行量化。
d)cabac压缩:无损压缩。
h.264除了上述重要技术外,还需要理解一些重要的概念。
进行视频解码时,在接收一组帧gof之前,我们先接收sps/pps数据。 没有这一组参数就无法解码。
因此,如果解码时发生错误,首先检查是否有sps/pps。 否则,检查是对方没送来,还是在对方送来的时候丢失了。
更详细的h.264编码原理这里不介绍。 可以在网上查阅宏块的数据包分割、宏块的搜索、帧内预测、dct压缩、h.264的码流结构等资料。
通过以上介绍,我们了解了一点音视频的基本知识。 接下来,我们再来谈谈直播类应用的整体流程。
音视频收集阶段包括语音收集和图像收集。
语音收集除了上述采样率、量化级数、通道数的参数以外,还需要语音帧。
声音与影像大不相同,影像每1帧是1张图像,但从声音的正弦波可以看出,声音数据是流,没有确定的1帧概念。 在实际的应用程序中,为了便于音频算法的解决/传输,通常约定以2.5ms~60ms为单位的数据量为1帧音频。
这个时间被称为“采样时间”,其长度没有特别的基准,根据编解码器和具体的应用程序的诉求来决定。
如果某个音频信号是采样率8khz、双通道、量化级数16bit、采样时间20ms,则1帧的音频数据的大小为8000 *2* 16 bit * 0.02 s = 5120 bit = 640 byte,
图像捕获构成一组连续播放捕获的图像结果的动画,即视频中肉眼可见的副本。
图像的取入主要是用照相机等机器拍摄yuv编码的原始数据,编码后一个一个地发送压缩成h.264等图案的数据。 在图像收集阶段,涉及图像传输图案、图像图案、传输通道、分辨率、采样率等主要技术参数。
在音视频的收集阶段,常用的收集源包括手机前后设置照相机等照相机。 游戏直播采用的屏幕录音电视节目中视频文件的直接推送流。
音视频解决分为视频解决和语音解决。
视频解决包括美颜、滤镜、面部识别、水印、剪辑拼接等。 语音解决包括混合、降噪和语音效果。
让我简单说明一下美颜和视频水印的基本原理。
美颜的第一原理是用【去皮】+【美白】达到整体的美颜效果。 剥皮的技术术语是去噪,即去除或模糊图像中的噪声点,一般的去噪算法有平均模糊、高斯模糊、中值滤波器等。 这个环节还提到了人脸和皮肤的检测技术。
视频水印有两种方法:播放器水印和视频嵌入水印。 对于播放器的水印来说,如果没有比较有效的防盗措施,对于没有再生认证的推送流,客户端在得到直播流后,无论哪个没有水印的播放器都可以再生。 这将失去视频保护的能力。 因此,通常通过选择在视频中嵌入水印的方法来将水印嵌入视频中,在视频播放中也继续显示。
再说几句话,视频嵌入水印也适用于软件。 在软件中播放内部版权保护的视频片段视频时,适用于嵌入水印技术。
语音视频编码和视频打包在上述基础知识部分进行了介绍,因此在此不进行说明。
现在说说编码器的知识。 上述知道h.264的编码技术,编码过程是基于编码器进行的。
编码器的第一个流程是帧内预测(空间冗馀消除) /帧间预测(时间冗馀消除) -变换(空间冗馀消除) -量化(视觉冗馀消除) -熵编码(编码冗馀消除)。 通过这种流程,可以完成语音视频的编码过程。
推送流是指通过流媒体协议将已解决的音频和视频数据发送到流媒体服务器。请参见
推送流协议:
推送流遵循的协议是基于rtmp、webrtc和udp的专用协议。
cdn:
这里需要cdn互联网,以便为地理位置的每个观众展示发布的流媒体。 cdn是客户访问互联网资源缓慢而产生的技术。
cdn包括边缘节点、二次节点和源站。 拷贝供应商可以将拷贝放在源站上,客户可以从边缘节点获取数据,cdn的辅助节点用于缓存,减轻源站的压力。
在直播行业,cdn支持的服务包括。
流媒体服务器进行的事件包括数据一个一个( cdn )、支持上述cdn的一点服务、实时转码、拷贝的检测(监黄)等。
流式提取是指客户端从流媒体服务器上拉而取得的上述步骤中的音频视频数据。。 同样,这个过程也是基于上述协议和cdn。
在上述h.264代码的介绍中,叙述了sps/pps是解码所需的数据。 这个步骤需要向下流解码编码的音频视频数据.。
解码过程是编码的逆过程,该过程包括熵解码、变换解码、预测解码[/s2/]。
h.264标准规定了解码器的结构,解码过程大致以宏块为单位,依次进行熵解码、逆量化、逆变换,得到残差数据。 组合宏块内的预测消息,找到解码后的被参照块,进一步组合解码后的被参照块和本块残差数据,得到本块的实际数据。 宏块解码后,组合片,片进一步组合图像。
这里证明的是,如果h264码流中的I帧错误或丢失,则会引起错误的传播,个别的p帧或b帧无法完成解码操作。 I帧存储了完美的视频帧,是解码的关键。
音频视频数据解码完成后,可以在硬件设备(手机或pc )上的播放器上渲染和播放音频视频文件。
那么,上述架构图中的信令服务器是做什么的呢?
——信令服务器用于解决播音员和客户端的一点信令命令。
网上传输着各种各样的信号。 其中一部分是我们需要的(例如,打电话的语音、连接到互联网的分组等),另一部分是我们不需要的(直接不需要的)用于控制电路,对这种类型的信号进行信令(百 即,信令是通信系统中的控制命令。
在此基础上说明整个这个过程。
那么,以上是直播类应用程序最基本的架构和过程。
本文通过直播系统应用的架构,介绍了一点音视频技术的相关知识,同时详述了直播系统功能的整体流程。
音视频技术是一个高度的行业,本文只是做了一点基础知识总结,如果大家想知道越来越多的音视频技术,我建议大家可以学习雷神(雷霆骏)的博客。
流年,所有人都是产品经理的专栏作家。 网络产品设计师,4年网络产品设计经验。 擅长顾客体验设计,喜欢在诉求功能背后的技术实现方法上下功夫。 走上成为综合型产品设计师的道路!
标题:营销:产品经理,你要了解一点音视频技术
地址:http://wenfangge.com.cn/xinwen/35679.html
免责声明:文芳阁软文营销平台所转载内容均来自于网络,不为其真实性负责,只为传播网络信息为目的,如有异议请及时联系btr2030@163.com,本人将予以删除。