https://github.com/openvidu/openvidu-recording-server-endpoint
https://github.com/openvidu/openvidu-recording-server-endpoint
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/openvidu/openvidu-recording-server-endpoint
- Owner: OpenVidu
- License: apache-2.0
- Created: 2018-03-06T13:52:17.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-03-08T10:22:09.000Z (over 7 years ago)
- Last Synced: 2025-04-07T16:07:05.272Z (7 months ago)
- Language: Java
- Size: 1.88 MB
- Stars: 12
- Watchers: 8
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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.