直播系统搭建:音视频处理的一般流程与推流端的四个环节

简介:

音视频处理的一般流程
数据采集→数据编码→数据传输(流媒体服务器) →解码数据→播放显示
1.数据采集:摄像机及拾音器收集视频及音频数据,此时得到的为原始数据涉及技术或协议:摄像机:CCD、CMOS拾音器:声电转换装置(咪头)、音频放大电路。

2.数据编码:使用相关硬件或软件对音视频原始数据进行编码处理(数字化)及加工(如音视频混合、打包封装等),得到可用的音视频数据涉及技术或协议:编码方式:CBR、VBR编码格式视频:H.265、H.264、MPEG-4等,封装容器有TS、MKV、AVI、MP4等音频:G.711μ、AAC、Opus等,封装有MP3、OGG、AAC等

3.数据传输:将编码完成后的音视频数据进行传输,早期的音视频通过同轴电缆之类的线缆进行传输,IP网络发展后,使用IP网络优传输涉及技术或协议:传输协议:RTP与RTCP、RTSP、RTMP、HTTP、HLS(HTTP Live Streaming)等控制信令:SIP和SDP、SNMP等。

4、解码数据:使用相关硬件或软件对接收到的编码后的音视频数据进行解码,得到可以直接显示的图像/声音涉及技术或协议:一般对应的编码器都会带有相应的解码器,也有一些第三方解码插件等5、播放显示:在显示器(电视、监视屏等)或扬声器(耳机、喇叭等)里,显示相应的图像画面或声音涉及技术或协议:显示器、扬声器、3D眼镜等。  

推流端的四个环节
1、 首先是采集环节:采集是指对图像和声音的采集,简单说就是能让网络视频直播系统和主播摄像头连起来,软件能获取到外界的音视频信息。
然后是前处理阶段:这里也是俗称美颜的阶段,这要求我们在网络视频直播系统中加入美颜、特效、萌颜等效果,而这个算法需要涉及到GPU编程,这个阶段的难点不在于美颜,因为美颜通常使用SDK来解决的,重点在于GPU占比。

2、 目前市面上的手机硬件配置已经越来越高了,但在一些老旧机型上,功耗仍然是个很大的问题,GPU占用太高会导致手机发烫、摄像头掉帧甚至软件闪退。

3、 接下来就是编码了,编码是为了压缩数据也是为了更好的解码,通常我们会选择用硬编码来平衡编码速度和编码质量之间的效率比,但软编仍然是画面质量更高的选择,也有用户愿意使用软编码的方式,因此在最初设计系统时,我们应当同时设计好软编硬编两种编码方式。

4、 推流端最后一个操作就是推流,把视频推流到服务器,以便于直播视频的分发和拉流。

相关文章
|
存储 边缘计算 负载均衡
直播APP源码搭建:核心的服务器系统
这就是直播APP源码平台的服务器系统,拥有着管理用户、数据、直播流质量与带宽等优秀的能力,是直播APP源码平台正常运行提供服务和用户优质体验的重要支撑,服务器系统可以说是直播APP源码平台的重要核心。
直播APP源码搭建:核心的服务器系统
|
负载均衡
LOOK!直播APP源码平台的稳定控制方法
我就把简单两步控制直播APP源码平台的稳定的方法分享给大家了,开发直播APP源码平台优质知识分享,大家有什么不懂的或是想要开发直播APP源码平台可以问我
LOOK!直播APP源码平台的稳定控制方法
|
缓存 移动开发 边缘计算
淘宝拍照基于端云协同的视频流实时搜索实践
淘宝拍照基于端云协同的视频流实时搜索实践
279 0
|
Web App开发 移动开发 算法
关于 TRTC (实时音视频通话模式)在我司的实践 #78
关于 TRTC (实时音视频通话模式)在我司的实践 #78
339 0
|
Linux Go API
常见流媒体服务器方案对比分析
目前,市面上有很多开源的流媒体服务器解决方案,常见的有 SRS、EasyDarwin、ZLMediaKit 和 Monibuca 等,我们应该怎么选择呢?今天这篇文章主要介绍 SRS、EasyDarwin、ZLMediaKit 和 Monibuca 的一些对比情况,可以作为日后调研选型和学习的参考文档。
2029 0
常见流媒体服务器方案对比分析
|
6月前
|
编解码 JSON 语音技术
云端短视频批量混剪解决方案
“批量生产”、“快速裂变”和“去重”是制作营销短视频的关键,基于有限数量的基础素材大规模生成指定数量的新视频,是营销短视频创作的常见思路。本篇介绍使用智能媒体生产ICE创作营销短视频,自由设定脚本顺序模拟手动剪辑,实现自动化批量制作高质量原创视频。
471 0
云端短视频批量混剪解决方案
|
消息中间件 编解码 移动开发
直播系统开发中音视频技术细节及消息发送流程
直播行业火爆的今天,让很多以为程序开发行业饱和人错失良机,今天的直播系统开发已经具备了成熟的运营模式,现在如果还想要搭建一套优秀的直播系统开发,除了选择安全可靠,售后保障完善的直播系统开发源码以外,还需要注意哪些重要的知识点呢?快来免费学习搭建直播系统开发中直播平台架构相关知识点吧!
直播系统开发中音视频技术细节及消息发送流程
|
Web App开发 监控 网络协议
如何构建低延时的直播体验,让互动更实时?
传统的直播技术,已经不能满足对互动要求更高的直播要求,为此,2019年阿里云与淘宝直播共同推出超低延时直播服务RTS(Real-time Streaming),该方案基于WebRTC实现,采用UDP传输协议打造,实现可以承载大规模并发,端到端延时1秒内的低延时直播体验。由于RTS服务部署于阿里云CDN节点,复用CDN的节点和网络资源,在接入成本、节点覆盖、承载能力上实现了平衡
3383 0
如何构建低延时的直播体验,让互动更实时?
|
存储 数据采集 编解码
直播软件开发推流过程详解
直播过程 1.相机预览及数据采集Camera — 取数据(onPreviewFrame(Byte[] rawFrameData, Camera camera))  2.原始帧处理(Rotate旋转/Scale缩放:使用Libyuv/FFmpeg等工具库)  3.编码器编码得到相应的h24数据(openh264库编码)  4.发送给流媒体服务器 (librtmp库推流)  5.服务器接受及转发
|
存储 编解码 NoSQL
直播系统搭建:拉流端的三个环节及服务器部署重点
拉流端的三个环节1、 用户想看直播就要去服务器进行拉流,什么是拉流?你打开视频网站,点击视频,你点击视频和视频打开之间的时间段,就是你的客户端去向服务器请求拉流了,这一步要注意的是首屏开启时间,时间越短,观众越有可能被留下。
1305 0