EasyDarwin是由国内开源流媒体团队维护的一款开源流媒体平台框架,开发语言是go语言。本文主要使用它作为RTSP服务器使用,并以此进行测试。方便之后记录。
(1)软件获取(自行下载,具体代码编译方式,请网上自行搜索,也可直接下载release包,直接运行测试。)
服务端
代码地址:https://github.com/EasyDarwin/EasyDarwin
Release地址:Releases · EasyDarwin/EasyDarwin · GitHub
推流端
Android代码:https://github.com/EasyDarwin/EasyPusher-Android
PC端可以采用ffmpeg进行推流 ,ffmpeg推流命令
ffmpeg -re -i demo.flv -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -rtsp_transport tcp -f rtsp rtsp://127.0.0.1/971543.sdp
接收端
VLC播放器(自行搜索下载安装)
EasyPlayer播放器地址:https://codeload.github.com/tsingsee/EasyPlayer-RTSP-Win/zip/refs/tags/v2.3.19.0106
(2)测试
服务器端,如果是下载的release,直接运行即可,效果如下图所示。
移动端
设置服务器的推流地址:rtsp://ip:554/971534,其中971534是自定义名称,不重复即可。设置后,返回主界面,点击“推流”,即可。
服务端后台管理界面地址:http://ip:10008
有推流后,服务端可以在推流列表中看到地址。
播放器
直接运行EasyPlayer,输入rtsp地址,点击播放即可,如图所示:
结果
使用VLC播放延迟稍高一些(已经把VLC缓存设置成了0,不然延迟有1秒左右),650ms左右,但是EasyPlayer延迟比较低350ms左右。至于画面清晰度方面,需要调整EasyPusher移动端的部分代码参数。当前测试版本仅调整了码率,默认码率比较低,720P的调高到了2Mbps。至于其他参数,之后再研究。