EasyDarwin开源流媒体服务器

文章目录

  • 前言
  • 一、EasyDarwin 简介
  • 二、EasyDarwin 主要功能特点
  • 三、安装部署
  • 四、推拉流测试
    • 1、进入控制页面
    • 2、推流测试
    • 3、拉流测试


前言

本文介绍一个十分实用的高性能开源 RTSP 流媒体服务器:EasyDarwin


一、EasyDarwin 简介

EasyDarwin 是基于 go 语言研发,维护和优化的一个高性能开源 RTSP 流媒体服务器,能够帮助流媒体开发者和创业型企业快速构建流媒体服务平台,更快,更简单的实现最新的移动互联网流媒体直播和点播,同步音频和视频的传输,源码下载地址:

  • https://github.com/EasyDarwin/EasyDarwin
  • https://github.com/EasyDarwin/EasyDarwin/releases

二、EasyDarwin 主要功能特点

  • 基于 Golang 开发维护;
  • 支持 Windows、Linux、macOS 平台;
  • 支持 RTSP 推流分发(推模式转发);
  • 支持 RTSP 拉流分发(拉模式转发);
  • 服务端录像 参考:https://blog.csdn.net/jyt0551/article/details/84189498
  • 服务端录像检索与回放 参考:https://blog.csdn.net/jyt0551/article/details/84189498
  • 关键帧缓存;
  • 秒开画面;
  • Web 后台管理;
  • 分布式负载均衡;

三、安装部署

1、下载解压 release 包
https://github.com/EasyDarwin/EasyDarwin/releases
EasyDarwin开源流媒体服务器_第1张图片
2、直接运行(Windows)
双击 EasyDarwin.exe
注:停止服务为 Ctrl + C
EasyDarwin开源流媒体服务器_第2张图片
服务运行起来后如下所示:
EasyDarwin开源流媒体服务器_第3张图片

四、推拉流测试

1、进入控制页面

打开浏览器输入 http://localhost:10008,进入控制页面,默认用户名密码都是 admin,主界面如下图所示
EasyDarwin开源流媒体服务器_第4张图片

2、推流测试

使用 FFmpeg 将输入的 FLV 视频文件转换为 RTSP 流,并通过 TCP 协议传输到本地主机的 “test1” 路径。视频编码使用 libx264,音频编码使用 AAC。

ffmpeg -re -i SampleVideo_1280x720_20mb.flv -rtsp_transport tcp -vcodec libx264 -acodec aac -f rtsp rtsp://localhost/test1
  • -re:这个选项告诉 FFmpeg 以实时模拟的方式读取输入文件。这对于模拟实时流传输很有用,即使输入文件本身不是实时生成的。
  • -i SampleVideo_1280x720_20mb.flv:这是输入文件的路径和文件名。在这个例子中,输入文件是名为 “SampleVideo_1280x720_20mb.flv” 的 FLV 格式视频文件。
  • -rtsp_transport tcp:这个选项指定了 RTSP(Real-Time Streaming Protocol)传输使用 TCP 协议。RTSP 是一种用于流媒体传输的协议,通过 TCP 可以提供稳定的传输。
  • -vcodec libx264:这个选项指定了视频编解码器为 libx264,它是一个开源的 H.264 视频编码器。H.264 是一种流行的视频编码标准,广泛用于视频压缩和传输。
  • -acodec aac:这个选项指定了音频编解码器为 AAC(Advanced Audio Coding),它是一种常用的音频编码格式,具有高音质和较低的比特率。
  • -f rtsp:这个选项指定了输出格式为 RTSP。RTSP 格式是用于流媒体传输的一种常见格式。
  • rtsp://localhost/test1:这是输出 RTSP 流的 URL。在这个例子中,输出的 RTSP 流将被传输到本地主机上的 “test1” 路径。

EasyDarwin开源流媒体服务器_第5张图片
在推流列表可以看到相关信息:
EasyDarwin开源流媒体服务器_第6张图片

3、拉流测试

使用 FFplay 工具来播放一个通过 RTSP 协议传输的视频流

ffplay -rtsp_transport tcp rtsp://localhost/test1
  • -rtsp_transport tcp:这个选项指定了 RTSP 传输使用 TCP 协议。这将确保使用 TCP 进行稳定的传输。
  • rtsp://localhost/test1:这是要播放的 RTSP 流的 URL。在这个例子中,要播放的流位于本地主机的 “test1” 路径上。
    EasyDarwin开源流媒体服务器_第7张图片
    可以看到拉流成功,正在进行播放

    在推流列表可以看到相关信息:
    EasyDarwin开源流媒体服务器_第8张图片

我的qq:2442391036,欢迎交流!


你可能感兴趣的:(音视频开发,音视频,EasyDarwin)