WAVE doesn't have direct API method to start or stop recording on certain cameras. But there is an event called "generic event" that can be trigger by a pre-configured action called "Recording on camera".
Here is a step by step instruction:
- Connect WAVE client to the Media Server
- Select cameras you want to record with HTTP request -> right-click them -> "Cameras settings" -> "Recording" tab -> enable recording(filling the schedule is unnecessary) -> "OK"
- Press "ctrl+e" to call the event rules dialog
- Click "Add" at the top left corner to add new rule
- Click new appeared rule and select "Generic event" from the drop-down list.
- Click on the "Action" column for this event and select "Camera recording", in the "Target" column select a camera to record(one of those with recording enabled in the second step) -> "Apply"
- You can right-click this new rule and call advanced settings. There you'll be able to add some keywords to specify HTTP requests that will trigger the recording(Source name, caption or description), recording fps, quality and post-recording time(time to record after the event is over)
- After that to activate recording you'll need to construct and send certain requests to start and end recording to the server. Below are some examples of those requests that are listed.
Let's assume you're trying them with a browser from the server PC. In this case, instead of its IP address, you can use 127.0.0.1. For other cases, use a certain server NIC IP address if you're using a third-party device to make HTTP-requests to Server. WAVE Server requires at least one of the source, caption or description to take some value. For an example of an HTTP-request, let's make a caption that takes the value of the phrase "Hello_World!":
- To start recording with every filter string empty in generic event advanced options, send the following request:
http://127.0.0.1:7001/api/createEvent?state=Active&caption="Hello_World!" - To stop recording use this one:
http://127.0.0.1:7001/api/createEvent?state=Inactive&caption="Hello_World!"
Keep in mind that the recording stops when this HTTP-request is processed by the server and the time from the "Post-recording" option.
Also please keep in mind that all these requests will require authentication. WAVE Media Server supports basic and digest authentication. Digest is more secured; workflow is described in the API documentation.
Basic is much simpler to use. Just add the user login and password to the link like this:
http://<login>:<password>@<server_address>:<port>/<method>
In my case, it would be(if my admin's password was admin):
http://admin:admin@127.0.0.1:7001/api/createEvent?state=Active