直播原理

举报
yd_221104950 发表于 2020/12/05 00:26:57 2020/12/05
【摘要】 无论哪种直播,都离不开端与端之间的交互。 原理: (1)通过计算机上的音视频输入设备或手机端的摄像头和麦克风实时录制音视频流; (2)然后将音视频流编码; (3)最后把编好码的数据包通过直播协议实时地发送给服务器; (4)服务器再通过流媒体协议把数据包实时地分发出去; (5)观看的终端通过直播协议实时请求数据包,并进行解码播放。 直播架构 主要由三部分组成: ...

无论哪种直播,都离不开端与端之间的交互。

原理:

(1)通过计算机上的音视频输入设备或手机端的摄像头和麦克风实时录制音视频流;
(2)然后将音视频流编码;
(3)最后把编好码的数据包通过直播协议实时地发送给服务器;
(4)服务器再通过流媒体协议把数据包实时地分发出去;
(5)观看的终端通过直播协议实时请求数据包,并进行解码播放。

直播架构

主要由三部分组成:

(1)采集音视频数据然后推流的过程
在这一部分主要的工作有:采集音视频数据,对视频进行处理(如美顔),对音视频进行编码,最后通过流媒体协议向服务器发送数据包,完成推流过程。
这一部分常用到的技术:美顔使用GPUImage,音频编码使用faac,视频编码使用x264,推流框架使用librtmp

(2)服务器端对音视频数据的转存和分发的处理过程
服务器端主要工作有:转存和内容数据分发(即所谓的CDN)。服务器端还可以对音视频进行截屏,用于展示主播画面,还可以对音视频加水印,进行实时转码。当然它还可以进行录制视频的工作。服务器端常用到的技术有:SRS和Nginx。

(3)播放器进行音视频播放的拉流过程
首先要demux数据流,然后对音视频解码播放。当然直播通常都要有礼物特效和实时聊天互动的功能。常用到的技术有:FFmpeg解码库、VLC、ijkplayer、MediaCodec/MediaPlayer。

谢谢阅读!下一篇更精彩!

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

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

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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