互联网视频直播软件,在十年前对于我们来说是个陌生的概念,现如今已经实现了“全民直播”,一场直播可以数十万甚至上百万人同时观看直播,实时互动评论。互联网技术的发展速度是我们想象不到的,技术的不断提升为互联网相关行业的发展提供了新的机遇。近些年来,在资本和市场的催化下,视频直播行业呈井喷式发展,越来越多的人看到了互联网的商机,加入视频直播行业的大军。
业内预计,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/,如需转载,请注明出处,否则将追究法律责任。