部署 EasyDarwin 流媒体服务器

EasyDarwin 是一款开源的 RTSP 流媒体服务器。基于 golang 语言开发,支持 Windows、Linux、macOS 平台。支持 RTSP 推流分发(推模式转发)、RTSP拉流分发(拉模式转发)、服务端录像、服务端录像检索与回放、关键帧缓存、秒开画面、Web后台管理、分布式负载均衡。

官网地址 http://www.easydarwin.org/
Github 地址 https://github.com/EasyDarwin/EasyDarwin

下面以 window 为例,下载后的目录如下

easydarwin.ini 为它的配置文件

  • http的端口号默认为 10008
  • 默认的用户名、密码 均为 admin
  • rtsp的端口号默认为 554


双击 EasyDarwin.exe 打开服务器,待其启动后,打开如下链接 http://localhost:10008 【是否登录都没关系】

至此,服务器部署完毕!

FFmpeg 推流到 EasyDarwin

安装FFmpeg

sudo apt install ffmpeg
ffmpeg -re -i <视频地址> -rtsp_transport <传输方式 tcp/udp> -vcodec h264 -f rtsp rtsp://<服务器IP>/<子路径>
-re-i filename-vcodec codec-f fmt
ffmpeg -re -i D:\Downloads\QQ20200524211316.mp4 -rtsp_transport tcp -vcodec h264 -f rtsp rtsp://localhost/test
rtsp://localhost/test

推流成功后,可以在网页上看到推流列表中新增了该项;推流结束,该项则会自动被删除!

vlc / ffplay 播放 rtsp 流 使用 vlc

媒体 ——> 打开网络串流,然后贴入 rtsp 地址

ffplay 播放
ffplay 
ffplay rtsp://localhost/test
EasyDarwin 转发 RTSP
  • 服务器每转发一条 RTSP,都会在命令行下留下一条记录(开始、结束)
  • 由于 RTSP 是实时传输的,当推流结束后,网页中的推流列表也会随之删除该条记录
第三方接入

EasyDarwin 采用 http 的形式暴露其接口


按照接口说明的,访问 http://localhost:10008/api/v1/pushers 获取推送列表

{
    "total": 1,
    "rows": [
        {
            "id": "y0-muK7Gg",
            "inBytes": 1753255,
            "onlines": 0,
            "outBytes": 435,
            "path": "/test",
            "source": "rtsp://localhost:554/test",
            "startAt": "2020-07-15 19:12:38",
            "transType": "TCP",
            "url": "rtsp://localhost/test"
        }
    ]
}

当没有 rtsp 流的时候,数据是这样的

{
    "total": 0,
    "rows": []
}