{"id":19935905,"url":"https://github.com/openvidu/openvidu-recording-server-endpoint","last_synced_at":"2025-06-12T21:06:33.346Z","repository":{"id":86030267,"uuid":"124085332","full_name":"OpenVidu/openvidu-recording-server-endpoint","owner":"OpenVidu","description":null,"archived":false,"fork":false,"pushed_at":"2018-03-08T10:22:09.000Z","size":1976,"stargazers_count":12,"open_issues_count":0,"forks_count":3,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-04-07T16:07:05.272Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenVidu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2018-03-06T13:52:17.000Z","updated_at":"2023-12-18T10:00:33.000Z","dependencies_parsed_at":"2023-03-11T23:31:17.396Z","dependency_job_id":null,"html_url":"https://github.com/OpenVidu/openvidu-recording-server-endpoint","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenVidu%2Fopenvidu-recording-server-endpoint","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenVidu%2Fopenvidu-recording-server-endpoint/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenVidu%2Fopenvidu-recording-server-endpoint/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenVidu%2Fopenvidu-recording-server-endpoint/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenVidu","download_url":"https://codeload.github.com/OpenVidu/openvidu-recording-server-endpoint/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252191026,"owners_count":21708998,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T23:22:34.055Z","updated_at":"2025-05-03T12:31:30.955Z","avatar_url":"https://github.com/OpenVidu.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# openvidu-recording-server-endpoint\n\nThis 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.\n\n## Demo\n\nProvided as a [Docker](https://store.docker.com/search?type=edition\u0026offering=community) image:\n\n```\ndocker run -p 5443:5443 openvidu/openvidu-recording-server-endpoint\n```\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"https://github.com/OpenVidu/openvidu-recording-server-endpoint/blob/master/readme-images/demo.gif?raw=true\"/\u003e\u003c/p\u003e\n\n## Docs\n\n- **Frontend**: LocalRecorder object in *openvidu-browser-1.8.0.js* is used to record a media stream and to upload it to certain endpoint.\n- **Backend**: A Java Spring Boot app exposing 3 HTTP REST endpoints:\n  - `POST /recording`: receives a recording as a MultiPart file and stores it locally.\n  - `GET /recording/{recordingName}`: serves one recording with certain name.\n  - `GET /recording/all`: returns an array with all the recording names for which the user has permissions.\n\nA simple security protocol is implemented in the backend. All REST methods are secured under Basic Authentication, and 2 users are predefined:\n\n- `user:pass`\n- `admin:admin`\n\nAny 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.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenvidu%2Fopenvidu-recording-server-endpoint","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenvidu%2Fopenvidu-recording-server-endpoint","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenvidu%2Fopenvidu-recording-server-endpoint/lists"}