之前我们尝试做过EasyRTSPLive(将RTSP流转推RTMP)和EasyRTMPLive(将各种RTSP/RTMP/HTTP/UDP流转推RTMP,这两个服务在市场上都得到了比较多的好评,其中:
1、EasyRTSPLive用的是EasyRTSPClient取流,EasyRTSPClient只支持RTSP取流,所以,EasyRTSPLive就只能做RTSP流的转推功能;
2、EasyRTMPLive用的是EasyStreamClient取流,其本质还是采用的ffmpeg取流,所以,各种流协议都能拉取过来,只要是ffmpeg支持的就没问题;
上面的两种服务,他们的推流用的都是EasyRTMP推流,在调用EasyRTMP推流之前,我们需要确保视频编码格式是H.264或者H.265,音频格式是AAC,EasyRTMP才能推送出去;
但是这个过程会有一些问题:
1、EasyRTSPClient只支持RTSP肯定是不够的;
2、EasyStreamClient是支持多种协议的输入,但是推送很多时候还是不能很好地控制节奏;
3、如果遇到音视频需要转码的情况,整个开发过程就需要比较高级的研发参与,达不到Easy的要求;
于是,在我们之前开发的EasyAVFilter(https://www.easydarwin.org/tools/153.html)的基础上,我们在EasyDarwin中支持上多路的EasyAVFilter调用,这样就能很好地管理多路的取流与推流,而且核心的工作全部是由ffmpeg去完成了,我们属于完全的站在巨人的肩膀上!
我们在EasyDarwin上设计了一套支持 多路、拉流转推流、支持强制转码的转推直播的功能,先看设计,功能预计在1月底发布!
这个功能加上之后,EasyDarwin就不仅仅可以放到云端做流媒体分发,还可以放到现场做服务,将现场的实时流、文件流,源源不断地直播推送到互联网!