Skip to content

About

Red5 Server core

Topics

Resources

Contributing

Stars

3.4k stars

Watchers

272 watching

Forks

Latest commit

 

History

1,082 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Red5 open-source media server

===========

Maven Central PRs Welcome

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):

Developer Community Support

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

Maven

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>

Build from Source

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 install

This 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 assemble

Docker RTMP Integration Test

This 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:

  • docker
  • ffmpeg
  • ffprobe
  • 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 verify

Run 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 verify

Artifacts are written to:

tests/target/rtmp-docker-it/<timestamp>/

Key outputs:

  • red5-container.log: server logs from the container
  • publisher-stream*.log: per-publisher ffmpeg logs
  • ffprobe-stream*.json: per-stream probe validation
  • handshake-findings.log: handshake-related findings
  • connection-rejections.log: connection rejection findings

To build a milestone tarball:

mvn -Dmilestone.version=1.0.7-M1 clean package -Pmilestone

Older Releases

Visit this page to review release notes from all previous versions Releases·Red5/red5-server

Supporters

YourKit

YourKit supports open source projects with innovative and intelligent tools for monitoring and profiling Java and .NET applications.

Red5

Red5 is a trusted live streaming solution provider for developers, startups and enterprises, delivering video, audio, and data with under 250 ms of latency.

About

Red5 Server core

Topics

Resources

Contributing

Stars

3.4k stars

Watchers

272 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages