ITPub博客

首页 > 应用开发 > IT综合 > 搭建一套完整的视频直播app源推拉流过程是怎么实现的?

搭建一套完整的视频直播app源推拉流过程是怎么实现的?

原创 IT综合 作者:bogokj6959 时间:2020-09-07 09:36:52 0 删除 编辑

 

互联网视频直播软件,在十年前对于我们来说是个陌生的概念,现如今已经实现了“全民直播”,一场直播可以数十万甚至上百万人同时观看直播,实时互动评论。互联网技术的发展速度是我们想象不到的,技术的不断提升为互联网相关行业的发展提供了新的机遇。近些年来,在资本和市场的催化下,视频直播行业呈井喷式发展,越来越多的人看到了互联网的商机,加入视频直播行业的大军。

业内预计,2020 年互联网直播行业的年总产值将达到一千多亿元,随着视频直播行业不断拓展直播内容来源、融合各行业加入直播功能,衍生不同类别视频直播形式, 网红+ 直播 + 商业产业经济 已经成为 直播平台 的发展趋势。  

虽然现在直播已经演变了各种形式,短视频直播、一对一视频交友、购物直播、相亲视频交友等等,但是万变不离其宗,视频直播都分为 采集,前处理,编码,传输,解码,渲染 这几个环节,其中视频直播的推拉流过程的实现仍旧是其中重要的一个环节,我们分别来看一下推流和拉流的过程。

一、 推流的过程:
1. 通过摄像头或录屏功能进行视频采集用于直播间搭建。
2. 通过话筒进行音频采集,音频原始数据格式 :PCM 。
3. 将视频文件编码,视频格式从 YUV(RGB) 变为 H.264(H.265) 。
将音频文件编码,视频格式从YUV(RGB) 变为 H.264(H.265) 。
4. 将音频文件编码,音频格式从 PCM 变为 AAC 。
5. 将视颊与音频文件编码为有 “ 流媒体 ” 特性的多媒体容器格式( Multimedia Container Format ),此时音颊和视频( H.264 和 AAC )结合成了 FLV 或 TS 或 RTMP Packet ,这要视传输协议的规定而定)。
6. 选择一种向服务器推流的协议( “ 流 ” 即 “ 有流媒体特性的多媒体容器格式的文件 ” ),应用层协议 :HLS;RTSP;RTMP ,传输层协议 :RTCP 、 RTP ,网络层协议 :RSVP 。
7. 传入推流地址( URL )来定位我们的推流目标(即将流媒体发送给「谁」)然后开始推流,直播间搭建中比如你在斗鱼当主播, OBS 中的推流地址就写斗鱼的,你要是在六间房当程序员,程序中默认的推流地址就写六间房的。
二、 拉流的过程:
1 、直播间搭建通过某种渠道获取拉流 URL (或者叫播放 URL ),并选取一种从服务器拉流的协议,然后开始拉流应用层协议 :HLS;RTSP;RTMP ,传输层协议 :RTCP 、 RTP ,网络层协议 :RSVP 。
2 、将处于「多媒体容器格式」的流解复用成为「视频编码格式」的视颊数据(如 H.264 )和「音频编码格式」的音频数据(如 AAC) 。
3 、使用硬解码 (GPU 解码 +CPU 辅助)或软解码 (CPU 解码)解码后视频数据格式为 YUV 或 RGB ,音频数据格式为 PCM 解码后视频数据格式为 YUV 或 RGB ,音频数据格式为 PCM 。
4. 执行音画同步操作。
5. 将同步后的音频( PCM )送到音频输出设备播放。
将同步后的视频(YUV 或 RGB )送到视频输出设备播放。

关于视频直播源码的推拉流的详细解说的过程就到这里了。视频直播 行业发展 竞争 会越来越激烈, 这就需要相关软件开发人员不断提升自身技术,适应市场发展需要。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69970448/viewspace-2717535/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-04-11

  • 博文量
    7
  • 访问量
    3861