Infrastructure to support a TAK Compatible Media Server
MediaMTX currently does not persist API operations to the config file, as such the Dockerfile is bundled with a persistance script that will convert the API response and push it to the mediamtx.yml file on change
| Port | Notes |
|---|---|
| 8554 | RTSP rtsp://<server>:8554/<mystream> |
| 8889 | WebRTC http://<server>:8889/<mystream>/publish |
| 8890 | SRT srt://localhost:8890?streamid=publish:mystream&pkt_size=1316 |
To run the media server locally, you can use Docker. First ensure that you have a local CloudTAK instance running and then run:
docker build -t mediamtx .docker run --network='host' -e API_URL='http://localhost:5001' -e SigningSecret='<SigningSecret>' mediamtx:latest
From the root directory, install the deploy dependencies
npm installDeployment to AWS is handled via AWS Cloudformation. The template can be found in the ./cloudformation
directory. The deployment itself is performed by Deploy which
was installed in the previous step.
The deploy tool can be run via the following
npx deployTo install it globally - view the deploy README
Deploy uses your existing AWS credentials. Ensure that your ~/.aws/credentials has an entry like:
[coe]
aws_access_key_id = <redacted>
aws_secret_access_key = <redacted>
Deployment can then be performed via the following:
npx deploy create <stack>
npx deploy update <stack>
npx deploy info <stack> --outputs
npx deploy info <stack> --parameters
Stacks can be created, deleted, cancelled, etc all via the deploy tool. For further information
information about deploy functionality run the following for help.
npx deployFurther help about a specific command can be obtained via something like:
npx deploy info --help