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博客 ” ,链接:http://blog.itpub.net/69970448/viewspace-2717535/,如需转载,请注明出处,否则将追究法律责任。

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

注册时间:2020-04-11

  • 博文量
    7
  • 访问量
    2806