===========
Red5 open-source media server is one of the free live streaming solutions provided by Red5. Written in Java, it features a flexible plugin architecture for building and experimenting with live streaming and video-on-demand (VOD) applications. Learn more about its key features and capabilities here.
Red5 open-source media server supports the RTMP protocol only. It is ideal for developers, hobbyists, and students who want to experiment with open-source live streaming technology, build a media server, and learn how it works.
For production use cases requiring additional protocols and capabilities, Red5 offers licensed commercial live streaming software: Red5 Pro and Red5 Cloud. They support ingest via WHIP, Zixi, RTSP, RTMP, SRT, Enhanced RTMP, MPEG-TS, and MOQ (Media over QUIC), with delivery via HLS, LL-HLS, DASH, LL-DASH, SRT, RTSP, RTMP, and MOQ.
Installed more than 1,000,000 times worldwide, Red5 open-source media server has powered applications for organizations including Amazon, the U.S. Department of Defense, Akamai, Harvard University, and many others. The open-source media server also serves as the server core for Red5 Pro and Red5 Cloud.
Automatic builds (Courtesy of Apache OpenMeetings):
If you have questions regarding the development, there are a couple of places you get help help from fellow developers:Join Red5 Slack community Ask your question on Red5 official subreddit or Stack
Releases are available at Sonatype - Releases
Snapshots are available at Sonatype - Snapshots
Include the red5-parent in your pom.xml in the dependencyManagement section
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.red5</groupId>
<artifactId>red5-parent</artifactId>
<version>${red5.version}</version>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement> in addition to any other Red5 projects in the dependencies section
<dependency>
<groupId>org.red5</groupId>
<artifactId>red5-server</artifactId>
<version>${red5.version}</version>
<type>jar</type>
</dependency>As of release 1.2.2 the target JDK is now JDK 11 and the Maven poms use the toolchain plugin.
To build the red5 jars, execute the following on the command line:
mvn -Dmaven.test.skip=true installThis will create the jars in the "target" directory of the workspace; this will also skip the unit tests.
To package everything up in an assembly (tarball/zip):
mvn -Dmaven.test.skip=true clean package -P assembleThis repo includes an integration test that:
- starts a Red5 server container
- launches 5 concurrent RTMP publishers via
ffmpeg - validates subscriptions with
ffprobe - collects logs and checks for handshake / rejection issues
Prerequisites:
dockerffmpegffprobe- Java 21 and Maven
Run against the published image (mondain/red5:latest):
mvn -pl tests -Pdocker-integration -Dred5.it.image=mondain/red5:latest -Dred5.it.autoPull=on -DskipTests=false verifyRun against your current checkout (build + dockerize local version first):
bash tests/src/test/resources/scripts/build_local_red5_docker_image.sh red5-local:dev
mvn -pl tests -Pdocker-integration -Dred5.it.image=red5-local:dev -Dred5.it.autoPull=off -DskipTests=false verifyArtifacts are written to:
tests/target/rtmp-docker-it/<timestamp>/
Key outputs:
red5-container.log: server logs from the containerpublisher-stream*.log: per-publisherffmpeglogsffprobe-stream*.json: per-stream probe validationhandshake-findings.log: handshake-related findingsconnection-rejections.log: connection rejection findings
To build a milestone tarball:
mvn -Dmilestone.version=1.0.7-M1 clean package -PmilestoneVisit this page to review release notes from all previous versions Releases·Red5/red5-server
YourKit supports open source projects with innovative and intelligent tools for monitoring and profiling Java and .NET applications.
Red5 is a trusted live streaming solution provider for developers, startups and enterprises, delivering video, audio, and data with under 250 ms of latency.

