mothermachine

Browse / Video and streaming

Ant Media Server

Open-core WebRTC, SRT, RTMP, and HLS media server with a REST API for broadcasts, recording, and tokens.

AdaptableOperable ProductAPI / service Deterministic Java API License: Apache-2.0 (Community Edition; Enterprise under a separate license)

A Java media server whose Community Edition is Apache-2.0 and whose Enterprise Edition adds adaptive bitrate, clustering, and SDK support. Broadcasts, VoD, tokens, IP cameras, and playlists are managed through a versioned REST API that the Builder documents and ships in both editions.

Use it when
  • I need sub-second WebRTC playback for an auction or classroom and want to run the server myself
  • I want an agent to spin up broadcasts, hand out tokens, and pull IP cameras through an API
Gotchas
  • Two license files in the repo; GitHub shows 'other'. Community is Apache-2.0, Enterprise is not
  • Adaptive bitrate, clustering, and the mobile SDKs are Enterprise-only; check the edition before promising features
  • Java server with Tomcat; expect a heavier footprint than MediaMTX

Last activity Sep 3, 2026. Fit: adaptable 2, operable 3.

Editions

Community Edition · Free open source

  • DownloadDownload
  • Clonegit clone https://github.com/ant-media/Ant-Media-Server
  • DeployDeploy

Enterprise Edition · Free closed source

For agents: JSON · Markdown

Adaptable: what is yours to change

Make it yours

Config only4 things to edit

Server-wide settings live in conf/red5.properties and per-application settings in webapps/<app>/WEB-INF/red5-web.properties (HLS, WebRTC, recording, tokens, webhooks). Most of these are also editable from the web panel and the REST API, so an Adopter rarely edits Java. Adding protocol behavior means forking.

Env vars
none
Config files
src/main/server/conf/red5.properties src/main/server/webapps/root/WEB-INF/red5-web.properties src/main/server/conf/logback.xml src/main/server/conf/jee-container.xml
Prompt files
none
Accounts you need
antmedia.io account (Enterprise only)

Source

Operable: what an agent can drive

Interface

OfficialAPIpublished by the builderlocal

How an agent can drive an Operable Listing, in five levels: native (built for the agent as the primary interface), official (the Builder ships an agent interface), wrapped (a third party wraps the software's API), config (an agent can only drive it by editing files), gui (screen control only). An interface is official only when it is published by the same organization that ships the software. GUI-level Listings are allowed and sorted last.

Docs
antmedia.io/docs/

Reach

Partial coverage. 8 of 10 jobs reachable through the stated interface.

JobThrough the interfaceEvidence
Create, list, update, and delete broadcastsReachableBroadcastRestService.java: @Path /v2/broadcasts, /create, /create-list, /list/{offset}/{size}, /{id}
Start and stop pulled stream sources and IP camerasReachableBroadcastRestService.java: /{id}/start, /{id}/stop, /{id}/ip-camera/move, /onvif-devices
Turn recording on or off per streamReachableBroadcastRestService.java: /{id}/recording/{recording-status}
Issue and validate playback or publish tokensReachableBroadcastRestService.java: /{id}/token, /{id}/tokens, /{id}/jwt-token, /validate-token
Add RTMP endpoints to republish a streamReachableBroadcastRestService.java: /{id}/endpoint
Manage VoD files and convert HLS to MP4ReachableVoDRestService.java; BroadcastRestService: /{hls_filename}/hls-to-mp4
Read broadcast and WebRTC statisticsReachableBroadcastRestService.java: /{id}/broadcast-statistics, /total-broadcast-statistics, /webrtc-send-low-level-stats
Manage playlists and subscribersReachableBroadcastRestService.java: /playlists/{id}/next, /{id}/subscribers
Adaptive bitrate transcodingNot reachableREADME: Enterprise feature; not in Community Edition
Cluster across serversNot reachableClusterRestService exists but clustering is an Enterprise feature per README

Code stack

Languages
Java
Frameworks
Red5Tomcatffmpeg
Package manager
maven
Database
MapDBMongoDB (optional)
Hosting target
LinuxDockerKubernetesAWS MarketplaceAzure Marketplace
Built
Human-written (recorded, never ranked)

Evidence and confidence

FieldWhere it was seenConfidence
formFactorREADME: headless media server managed through web panel and REST API90%
executionModelno model at runtime99%
operabilityREST services in src/main/java/io/antmedia/rest published by ant-media; docs at antmedia.io/docs90%
effortconf/red5.properties and WEB-INF/red5-web.properties exist in src/main/server; the properties keys were not read this pass60%
editionsCOMMUNITY_EDITION_LICENSE is Apache-2.0 for Community Edition; README lists Enterprise free trial and marketplaces80%
activeGitHub pushedAt 2026-09-03; release ams-v3.1.0 2026-08-31–
reach80%

Open questions

  • Enterprise Edition pricing; antmedia.io/pricing returned 403 to the fetcher
  • Confirm which red5-web.properties keys are documented for Adopters (antmedia.io docs returned 403)
  • Confirm the Community versus Enterprise feature split from the current docs rather than the README summary

Sources