Installation

Download the ams-moderator-x.y.z.jar file from here and place it under the /usr/local/antmedia/plugins directory of your media server.

cd /usr/local/antmedia/plugins
sudo wget https://streamtoolbox.com/download/ams-moderator-1.0.0.jar
sudo touch /usr/local/antmedia/conf/moderator.conf
sudo nano /usr/local/antmedia/conf/moderator.conf

An example configuration that watches out for Smoking looks like this:

moderator.enabled=true
moderator.aws.region=us-east-1
moderator.aws.access.key.id=AKIA.....
moderator.frame.sampling.rate=100
moderator.aws.secret.access.key=aZeuI.....
moderator.labels=Smoking
moderator.action=notify
moderator.notify.webhook.url="https://localhost:9999/anything"

For testing, you can use httpbin to accept and echo back your notifications:

docker run -p 9999:80 kennethreitz/httpbin

If you have purchased a license, copy the license file into the /usr/local/antmedia/conf directory. If you don’t have a license file, the software will log a message and will start in time limited trial mode.

Restart Ant Media Server using sudo systemctl restart antmedia.service

You should see the below messages when your Live application starts up:

2025-09-02 22:42:03,221 [Loader:/live] INFO  io.antmedia.plugin.ModeratorPlugin - Moderator Plugin is starting in LiveApp
2025-09-02 22:42:03,252 [Loader:/live] INFO  i.a.plugin.moderator.Configuration - Loading moderator configuration from /usr/local/antmedia/conf/moderator.conf

Publish a stream to LiveApp and verify that the logs contain these messages. You can publish the stream from vMix, OBS or just simply use ffmpeg from command line:

wget https://streamtoolbox.com/download/big_buck_bunny_720p_h264.mov
ffmpeg -re -i big_buck_bunny_720p_h264.mov -c copy -f flv rtmp://localhost:1935/LiveApp/myStream
2025-09-02 22:42:16,550 [vert.x-worker-thread-21] INFO  io.antmedia.plugin.ModeratorPlugin - Registering Moderator frame listener in stream myStream

You should see AWS responses in the logs periodically:

2025-09-02 22:52:52,787 [vert.x-worker-thread-45] WARN  i.a.p.m.AwsRekognitionService - Detected moderation labels in myStream: Pills (58.62), Products (58.62), Drugs & Tobacco (58.62), Smoking (20.05), Drugs & Tobacco Paraphernalia & Use (20.05)
2025-09-02 22:52:52,840 [vert.x-worker-thread-45] INFO  io.antmedia.plugin.ModeratorPlugin - Moderation notification sent, response code: 200, body: {
  "args": {},
  "data": "{\"streamId\":\"myStream\",\"labels\":[{\"label\":\"Smoking\",\"confidence\":20.0506}]}",
  "files": {},
  "form": {},
  "headers": {
    "Accept-Encoding": "gzip",
    "Content-Length": "75",
    "Content-Type": "application/json",
    "User-Agent": "Java-http-client/17.0.16"
  },
  "json": {
    "labels": [
      {
        "confidence": 20.0506,
        "label": "Smoking"
      }
    ],
    "streamId": "myStream"
  },
  "method": "POST",
  "url": "http://localhost:9999/anything"
}