Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/openvidu/openvidu-recording-server-endpoint


https://github.com/openvidu/openvidu-recording-server-endpoint

Last synced: about 1 month ago
JSON representation

Awesome Lists containing this project

README

        

# openvidu-recording-server-endpoint

This is a Spring Boot application aimed to offer an HTTP endpoint for uploading/dowloading video recordings from browsers. It is meant to be used alongside [openvidu-browser](https://www.npmjs.com/package/openvidu-browser) library and its **LocalRecorder** API.

## Demo

Provided as a [Docker](https://store.docker.com/search?type=edition&offering=community) image:

```
docker run -p 5443:5443 openvidu/openvidu-recording-server-endpoint
```

## Docs

- **Frontend**: LocalRecorder object in *openvidu-browser-1.8.0.js* is used to record a media stream and to upload it to certain endpoint.
- **Backend**: A Java Spring Boot app exposing 3 HTTP REST endpoints:
- `POST /recording`: receives a recording as a MultiPart file and stores it locally.
- `GET /recording/{recordingName}`: serves one recording with certain name.
- `GET /recording/all`: returns an array with all the recording names for which the user has permissions.

A simple security protocol is implemented in the backend. All REST methods are secured under Basic Authentication, and 2 users are predefined:

- `user:pass`
- `admin:admin`

Any authenticated user can perform uploads. For downloads, user `admin` has the highest level of granted permissions, and therefore has access to all video recordings. User `user` has access to their own recorded videos only.