Update Recorder authored by Nicolas Pope's avatar Nicolas Pope
The recorder service is responsible only for recording streams to files. These recordings can be configured, started and stopped through API endpoints or events. A stream recording service. When a recording is initiated it captures all stream packets to a file on disk. It is not responsible for playback, and instead generates Redis events that inform other services of the existence of a recording.
* select which stream and framesets to record. * Specify which channels, framesets and frames to record.
* select which channels to include in the recording. * Give a name to the recording, and tags, descriptions etc... all optional initially.
* give a name, description or other information about a recording * Create a database entry recording the file and stream association.
* once complete, it must generate an event informing about the new file location (to be consumed by another service). * Stop Recording.
\ No newline at end of file * Provides a temporary ID for active recordings, this allows those active recordings to be controlled (ie. stopped or monitored).
# API Endpoints
## POST /v1/recorder
Create a new recording of a stream. Body includes:
* Stream URIs to record, including optional frameset and frame
* Channel listing or wild cards?
* Optional: title, description, tags
* Optional: duration
## GET /v1/recorder
List all active recordings (that the token has permission to see).
* Status
* Start time and time now / duration so far.
* Stream URIs
* Channels
* Owner
## GET /v1/recorder/:id
Retrieve more detail on a specific active recording.
* Status
* Start time and time now / duration so far.
* Stream URIs
* Channels
* Owner
* Statistics: Amount of data recorded
## PUT /v1/recorder/:id
Only allows modification of certain properties:
* Status: allow the stream to be stopped.
* Channels: allow selected channels to be changed.
* Streams: allow streams to be added or removed?
## DELETE /v1/recorder/:id
Cancels a recording, all data will be deleted.
## Questions
A key question is, can the same file be played back in multiple streams at the same time? If yes, then the idea of a collection being the same as an active stream is weakened. However, a collection could be played back under a temporary stream. Therefore the collections list and streams list in the UI are actually different things. The streams service may need modification to account for this.
\ No newline at end of file