目前主流的直播软件(抖音、快手、斗鱼、虎牙等)均采用了 rtmp 协议推流
这篇文章探讨的是,如何编写一个rtmp服务器代理并替换其中视频流,实现无人直播或者录播
rtmp 协议是什么?怎么实现无人直播
rtmp协议是adobr公司专为音视频流定制的传输协议。目前很多公司都喜欢采用他进行传输音视频 (根据研究,微信视频号采用的是 rtp 协议,而不是rtmp)。
相对应的还有一个 rtsp 协议,这两者协议均是用来做音视频传输的,rtsp 是有组织维护的,而 rtmp 属于adobe公司私有协议,并未完全开放。
如何替换无人直播的视频流?
上面了解了rtmp 是什么,接下来就思考如何替换视频流数据了。
举一个例子 :我们常用的http 协议是用来访问网站的。当一个网站无法访问时,例如谷歌,我们需要开启一个网络代理,使用代理这个中间商,由中间服务器提供数据,从而实现访问
那同样的代理是否也可以用到 rtmp 协议呢,答案是肯定的 。我们只要自己定制一个 rtmp 代理服务器,在这个代理服务器中解析验证参数、地址、用户等信息即可
服务器编写
rtmp服务器如何编写??从头开始太难了。为了照顾其跨平台特性。这里推荐一个 github 项目:https://github.com/LiminWang/simple-rtmp-server
我们无需从头开始编写,只要 clone</