Use the Wowza Streaming Engine™ media server software REST API to create and manage encoders and cameras that publish live streams.
Notes:
- Wowza Streaming Engine 4.3.0 or later is required.
- PHP examples for the tasks in this article are available in the tests folder of the PHP REST Library for Wowza Streaming Engine on GitHub.
- Reference documentation for the Wowza Streaming Engine REST API is available by using OpenAPI (Swagger), which you can download and install locally. See Access reference documentation for the Wowza Streaming Engine REST API.
Contents
Get a list of live stream sources
Create a live stream source
Update a live stream source
Remove a live stream source
Get a list of live stream sources
View a list of the live stream sources (publishers) connected to a local instance of Wowza Streaming Engine:
curl -X GET \ -H 'Accept:application/json; charset=utf-8' \ -H 'Content-Type:application/json; charset=utf-8' \ http://localhost:8087/v3/servers/_defaultServer_/publishers
The command should return a response that looks like this:
{ "
serverName":
"_defaultServer_", "
publishers":
[{ "publisher": "myRTSPcamera" }] }
Create a live stream source
Create a live stream source (publisher) for a local instance of Wowza Streaming Engine:
curl -X POST \ -H 'Accept:application/json; charset=utf-8' \ -H 'Content-Type:application/json; charset=utf-8' \ http://localhost:8087/v3/servers/_defaultServer_/publishers \ -d' { "password": "123", "publisher": "myRTMPencoder", "serverName": "", "description": "", "version": "3" }'
The command should return a response that looks like this:
{ "success": true, "message": "", "data": null }
Update a live stream source
Update a live stream source (publisher) for a local instance of Wowza Streaming Engine:
curl -X PUT \ -H 'Accept:application/json; charset=utf-8' \ -H 'Content-Type:application/json; charset=utf-8' \ http://localhost:8087/v3/servers/_defaultServer_/publishers/myRTMPencoder \ -d' { "password": "newpassword", "publisher": "myRTMPencoder", "serverName": "", "description": "", "version": "3" }'
The command should return a response that looks like this:
{ "success": true, "message": "publisher updated", "data": null }
Remove a live stream source
Delete a live stream source (publisher):
curl -X DELETE \ -H 'Accept:application/json; charset=utf-8' \ -H 'Content-Type:application/json; charset=utf-8' \ http://localhost:8087/v3/servers/_defaultServer_/publishers/myRTMPencoder