SkillAgentSearch skills...

EasyDarwin

open source、high performance、industrial rtsp streaming server,a lot of optimization on streaming relay,KeyFrame cache,RESTful,and web management,also EasyDarwin support distributed load balancing,a simple streaming media cloud platform architecture.

Install / Use

/learn @EasyDarwin/EasyDarwin
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

EasyDarwin

EasyDarwin is an open-source, simple, and efficient streaming media server that supports RTMP/RTSP push and pull streams. It also supports distributing streams via RTMP/RTSP/HLS/HTTP-FLV/WebSocket-FLV/WebRTC protocols. EasyDarwin can be compiled to support Linux/Windows/macOS operating systems and various architectures including X86_64, ARMv7, AARCH64, M1, RISCV, LOONGARCH, MIPS.

EasyDarwin 8.x is a secondary development based on the original EasyDarwin software combined with the lalmax project.

EasyDarwin is licensed under the MIT License.

example

Features

  • Integrated web interface
  • Video preview
  • Supports on-demand playback; automatically disconnects when no viewers are present to save bandwidth
  • Supports outputting multiple protocols (RTMP/RTSP/HLS/HTTP-FLV/WebSocket-FLV/WebRTC)
  • Allows direct viewing of camera feeds through a single stream URL without requiring login or API calls
  • Protocol supports playing H264 and H265
  • Supports pulling RTSP streams and redistributing them via various protocols
  • Supports push stream authentication
  • Offline and online monitoring
  • Video on demand functionality
  • RESTful API with apidoc documentation tool (located in the web directory)

Features to be Added

  • User Authentication

Usage

Currently, only source code compilation is supported for generation; one-click installation packages will be supported later. Please refer to the deployment section for instructions on building from source code before use.

Directory Structure

├── cmd	                    Executable programs
│   └── server
├── configs                 Configuration files
├── internal                Private business logic
│   ├── conf                Configuration models
│   ├── core                Business domain
│   ├── data                Database and main configuration files
│   └── web
│       └── api             RESTful API
├── pkg                     Dependency libraries
├── utils                   Utilities
└── web                     Frontend

Deployment

Building from Source Code

Prerequisites:

  • Go 1.23.0 installed
  • The Go bin directory must be added to the system environment variables

Then download:

git clone https://github.com/EasyDarwin/EasyDarwin.git
cd EasyDarwin
go mod tidy

Building on Windows

When using Makefile on Windows, please use the git bash terminal and ensure Mingw is installed.

mingw32-make.exe build/windows
cd build
cd EasyDarwin-win-"version"-"build-time"
EasyDarwin.exe

Building on Linux

make build/linux
cd build
cd EasyDarwin-lin-"version"-"build-time"
easydarwin

System Service

EasyDarwin can run as a system service, ensuring that the program can be restarted and used even in case of unexpected interruptions.

Install service: easydarwin -service install
Start service: easydarwin -service start
Restart service: easydarwin -service restart
Stop service: easydarwin -service stop
Uninstall service: easydarwin -service uninstall

Getting Started Guide

Open http://localhost:10086 and add the streaming protocol.

  1. RTMP Push Stream

    When adding a push stream protocol, you need to check the actual push stream address, the following address is just an example.

    Then use the following ffmpeg command to stream:

    ffmpeg -re -i ./video.flv -c copy -f flv -y rtmp://localhost:21935/live/stream_1?sign=5F9ZgWP6fN
    

    Or, use the following configuration to stream through OBS Studio:

    • Service: Custom
    • Server: rtmp://localhost:21935/live/
    • Stream Key: stream_1?sign=5F9ZgWP6fN
  2. RTSP Pull Stream

    When adding a pull stream protocol, you need to input the specific RTSP address of your camera.

    For example, using Hikvision RTSP address format:

    rtsp://username:password@host:port/Streaming/Channels/101
    

    Or Dahua RTSP address format:

    rtsp://username:password@ip:port/cam/realmonitor?channel=1&subtype=0
    

Custom Configuration

The default configuration directory is config.toml located in the same directory as the executable file.

Ports

// TODO

Project Dependencies

  • lalmax
  • gin
  • gorm
  • slog / zap
  • lal
  • sqlite
  • pion

Support

Mail: support@easydarwin.org

Website: www.EasyDarwin.org

WeChat: EasyDarwin

Related Skills

View on GitHub
GitHub Stars6.8k
CategoryCustomer
Updated2h ago
Forks2.2k

Languages

HTML

Security Score

100/100

Audited on Mar 26, 2026

No findings