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.
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/{serverName}/publishers
The command should return a response that looks like this:
{ "
serverName":
"serverName", "
publishers":
[{ "publisher": "myRTSPcamera" }] }
Create a live stream source
Create a live stream source (publisher) for a local instance of Wowza Streaming Engine named myRTMPencoder:
curl -X POST \ -H 'Accept:application/json; charset=utf-8' \ -H 'Content-Type:application/json; charset=utf-8' \ http://localhost:8087/v3/servers/{serverName}/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) named myRTMPencoder for a local instance of Wowza Streaming Engine:
Note: You'll replace myRTMPencoder with the name of your live stream source (publisher).
curl -X PUT \ -H 'Accept:application/json; charset=utf-8' \ -H 'Content-Type:application/json; charset=utf-8' \ http://localhost:8087/v3/servers/{serverName}/publishers/myRTMPencoder \ -d' { "password": "newpassword", "publisher": "publisher", "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) named myRTMPencoder:
curl -X DELETE \ -H 'Accept:application/json; charset=utf-8' \ -H 'Content-Type:application/json; charset=utf-8' \ http://localhost:8087/v3/servers/{serverName}/publishers/myRTMPencoder