流媒体开发之EasyDarwin搭建rtsp server

Posted 宗而研之

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了流媒体开发之EasyDarwin搭建rtsp server相关的知识,希望对你有一定的参考价值。

0 背景

EasyDarwin 旭帆科技开源的流媒体服务器软件,EasyDarwin 社区专注于传统安防(RTSP/RTP/Onvif)流媒体技术,能够帮助开发者快速搭建流媒体服务平台,更快、更简单地实现流媒体直播与点播功能。本文主要介绍 rtsp server 的搭建,实现视频推流与拉流功能

1 windows版本

我们可以在 windows 上搭建流媒体服务器,在 官网下载链接里下载 windows 版本

解压后双击运行 “ServiceInstall-EasyDarwin.exe” 即可完成安装,安装完之后运行 "EasyDarwin.exe" 开始运行,在浏览器中输入 “127.0.0.1:10008” 可以查看推流列表。

使用下边第 3 节中的推流指令,使用 ffmpeg 完成推流,在 windows 下安装 ffmpeg 参考《windows安装ffmpeg_ffmpeg详细安装教程,亲测有效!》,这里不再赘述

2 服务端搭建

官网下载服务端代码,我们这里以 Linux 版本为例,下载后解压

解压并启动

tar -zxvf EasyDarwin-linux-8.1.0-1901141151.tar.gz
cd EasyDarwin-linux-8.1.0-1901141151
# 启动指令
bash start.sh
# 停止指令
# ./stop.sh

运行后会创建并启动相关服务

$ sudo systemctl status EasyDarwin_Service.service 
[sudo] password for nvidia: 
● EasyDarwin_Service.service - EasyDarwin_Service
   Loaded: loaded (/etc/systemd/system/EasyDarwin_Service.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2021-05-14 17:25:24 CST; 24h ago
 Main PID: 3951 (easydarwin)
    Tasks: 47 (limit: 4915)
   CGroup: /system.slice/EasyDarwin_Service.service
           └─3951 /home/nvidia/data/testvideo/EasyDarwin-linux-8.1.0-1901141151/easydarwin
5月 14 17:25:25 nvidia-X10SRA easydarwin[3951]: [EasyDarwin] 2021/05/14 17:25:25 main.go:74: rtsp server start --> rtsp://172.21.0.1
5月 14 17:25:25 nvidia-X10SRA easydarwin[3951]: [RTSPServer]2021/05/14 17:25:25 rtsp-server.go:154: rtsp server start on 554
5月 14 17:25:25 nvidia-X10SRA easydarwin[3951]: [EasyDarwin] 2021/05/14 17:25:25 main.go:54: http server start --> http://172.21.0.1:10008
5月 14 17:25:25 nvidia-X10SRA easydarwin[3951]: [EasyDarwin] 2021/05/14 17:25:25 main.go:115: log files --> /home/nvidia/data/testvideo/EasyDarwin-linux-8.1.0-1901141151/logs

至此,服务启动完毕,我们可以打开 10008 端口查看推流情况

3 推流命令

我们使用 ffmpeg 指令来将视频文件推流到 rtsp server 上

# 复制原视频编码格式,采用 UDP 协议
ffmpeg -re -stream_loop -1 -an -i test.mp4  -acodec copy -vcodec copy -rtsp_transport udp -f rtsp rtsp://192.168.170.109/10001

# 指定视频编码格式,采用 TCP 协议
ffmpeg -re -stream_loop -1 -an -i test.mp4 -vcodec h264 -rtsp_transport tcp -f rtsp rtsp://192.168.170.109/10001

然后在推流列表中可以看到成功推流

我们可以使用播放器来通过 rtsp://192.168.170.109/10001 地址来拉流  

以上是关于流媒体开发之EasyDarwin搭建rtsp server的主要内容,如果未能解决你的问题,请参考以下文章

EasyDarwin搭建RTSP流媒体服务器(Ubuntu16.04)

FFMPEG音视频开发: 发布RTSP流(采用EasyDarwin作为流媒体服务器)

如何使用easydarwin搭建代理流媒体服务器

用Darwin开发RTSP级联server(拉模式转发)(附源代码)

[技术杂谈][原创]使用ffmpeg+easydarwin搭建临时访问的公网RTSP流

开源项目EasyDarwin编译全过程:Linux系统下编译运行最新版EasyDarwin的步骤介绍