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

简介:

音视频处理的一般流程
数据采集→数据编码→数据传输(流媒体服务器) →解码数据→播放显示
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、 推流端最后一个操作就是推流,把视频推流到服务器,以便于直播视频的分发和拉流。

相关文章
|
14天前
|
人工智能 小程序 API
「音视频实时互动」功能上线:几分钟实现模型到应用!
「音视频实时互动」功能上线:几分钟实现模型到应用!
51 13
|
14天前
|
人工智能 小程序 API
【最佳实践系列】阿里云百炼「音视频实时互动」功能上线:几分钟实现模型到应用!
阿里云百炼推出「音视频实时互动」功能,支持0代码搭建并集成到Web、iOS和安卓应用。用户可轻松创建AI应用并分享。具体步骤包括新建智能体应用、配置模型(如通义千问-VL)、编写提示词、设置API-KEY及发布应用。平台提供多种渠道支持,如API、网页、小程序等,帮助用户快速构建成熟的AI应用。欢迎体验并在评论区交流反馈。
|
8月前
|
网络协议 Linux 测试技术
音视频学习之rtsp推流学习1(rtspserver开源库example运行及流程梳理)
音视频学习之rtsp推流学习1(rtspserver开源库example运行及流程梳理)
453 0
|
视频直播 5G 开发工具
看直播软件源码,如何实现直播系统业务以及技术注意点分析
直播类app越来越受欢迎,互联网企业看到“直播+”的巨大潜力,搭建直播平台也成为大需求,而拥有一套完整的直播软件源码是开发直播软件的基础
看直播软件源码,如何实现直播系统业务以及技术注意点分析
|
消息中间件 编解码 移动开发
直播系统开发中音视频技术细节及消息发送流程
直播行业火爆的今天,让很多以为程序开发行业饱和人错失良机,今天的直播系统开发已经具备了成熟的运营模式,现在如果还想要搭建一套优秀的直播系统开发,除了选择安全可靠,售后保障完善的直播系统开发源码以外,还需要注意哪些重要的知识点呢?快来免费学习搭建直播系统开发中直播平台架构相关知识点吧!
直播系统开发中音视频技术细节及消息发送流程
|
数据采集 编解码 算法
直播代码,在音视频技术方面的运作有这些
直播代码的直播数据处理分为五步:数据采集、编码、传输、解码和渲染。我们今天主要来说一下传输中的音视频方面的知识。
546 0
直播代码,在音视频技术方面的运作有这些
|
视频直播 开发工具 CDN
网络视频直播系统,想做好直播要处理好这三点
网络视频直播系统,想做好直播要处理好这三点
1488 0
|
存储 数据采集 编解码
直播软件开发推流过程详解
直播过程 1.相机预览及数据采集Camera — 取数据(onPreviewFrame(Byte[] rawFrameData, Camera camera))  2.原始帧处理(Rotate旋转/Scale缩放:使用Libyuv/FFmpeg等工具库)  3.编码器编码得到相应的h24数据(openh264库编码)  4.发送给流媒体服务器 (librtmp库推流)  5.服务器接受及转发
|
存储 编解码 NoSQL
直播系统搭建:拉流端的三个环节及服务器部署重点
拉流端的三个环节1、 用户想看直播就要去服务器进行拉流,什么是拉流?你打开视频网站,点击视频,你点击视频和视频打开之间的时间段,就是你的客户端去向服务器请求拉流了,这一步要注意的是首屏开启时间,时间越短,观众越有可能被留下。
1317 0

热门文章

最新文章