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 library and its LocalRecorder API.
Provided as a Docker image:
docker run -p 5443:5443 openvidu/openvidu-recording-server-endpoint
- 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.