音视频架构的三部分之推流过程(一)

举报
yd_221104950 发表于 2020/12/05 00:16:11 2020/12/05
【摘要】 原始音视频数据采集,包括了音频采集和视频采集。 音频采集 采集过程: 设置采集设备的一些参数:采样率、采样数;将音频信号采集为PCM编码的原始数据;再把原始数据编码压缩成MP3或AC3等封装格式的数据;最后,将封装好的数据通过流媒体协议发给服务器。 常见的音频封装格式:MP3、AAC、OGG、AMR、APE、WMA等。 面临挑战: 音频采集面临去噪、回声消除、...

原始音视频数据采集,包括了音频采集和视频采集。

音频采集

采集过程

  1. 设置采集设备的一些参数:采样率、采样数;
  2. 将音频信号采集为PCM编码的原始数据;
  3. 再把原始数据编码压缩成MP3或AC3等封装格式的数据;
  4. 最后,将封装好的数据通过流媒体协议发给服务器。

常见的音频封装格式:MP3、AAC、OGG、AMR、APE、WMA等。

面临挑战
音频采集面临去噪、回声消除、静音检测等问题。

重点考虑

  • 要重点考虑采样率的设置,因为不同声音效果的采样率有一定的阈值。
  • 位宽:即一次能传递的数据宽度,位宽越大,一次能处理的数据就越多,音频常用8或16位。
  • 声道数:一般采用单声道或双声音。

视频采集

采集过程:

  1. 利用手机摄像头采集,得到的是用NV21(YUV格式的一种)格式存储的原始数据;
  2. 将得到的原始数据编码压缩成H.264等格式的数据;
  3. 然后把编码好的数据进行封装,封装的格式有FLV等;
  4. 最后,将封装好的数据通过流媒体协议发给服务器。

重点考虑

  • 传输通道:即数据在传输时所利用的媒介,常见的有TCP和UDP。
  • 分辨率:它代表图像中存储的信息量,图像分辨率=垂直像素x水平像素
  • 采样率:指分秒从连续的信号中提取并组成离散信号的采样个数,如720像素视频。不同采样个数对应的分辨率也是不同的。
  • fps:一般为15~20fps就OK了。

音视频数据采集后的处理

渲染处理:主要从相机 中采集来的数据进行二次处理,如美颜。常用的美颜工具有商汤、FaceUnity,开源的有GPUImage。
美颜的基本概念:通过一定算法对原始图像数据进行二次处理并强化图像效果。

最后介绍一下推流协议

常用的有RTMP、WebRTC和一些基于UDP的私有协议。
RTMP是主流的流媒体协议,在传输层是使用了TCP协议。RTMPT、RTMPS、RTMPE都是RTMP的变种。
RTMP的优点:对CDN内容分发网络友好,而且CDN对RTMP支持是最好。协议也相对简单。
RTMP的缺点:在弱网时丢包比较严重,它不支持浏览器推送。

WebRTC支持web浏览器进行实时的音视频数据推送,主要用于视频会议和连麦中。
WebRTC的优点:在弱网时优化较大,表现优于RTMP。它可以实现点对点通信,通信时延双方都较低。
WebRTC的缺点:传统CDN没有提供类似的服务。

谢谢阅读。

文章来源: blog.csdn.net,作者:WongKyunban,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/weixin_40763897/article/details/95386580

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。