{"id":13908782,"url":"https://github.com/ZeStream/zestream-server","last_synced_at":"2025-07-18T08:31:35.408Z","repository":{"id":65100301,"uuid":"581734152","full_name":"ZeStream/zestream-server","owner":"ZeStream","description":"an open-sourced alternative to cloudinary [video streaming done ✅, image/audio under dev  🔨 ]","archived":false,"fork":false,"pushed_at":"2024-02-02T22:05:08.000Z","size":151,"stargazers_count":203,"open_issues_count":10,"forks_count":41,"subscribers_count":1,"default_branch":"dev","last_synced_at":"2024-11-25T18:39:08.855Z","etag":null,"topics":["adaptive-video-streaming","dash","ffmpeg","hls","video-processing","video-streaming"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ZeStream.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null},"funding":{"github":["abskrj"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2022-12-24T05:48:06.000Z","updated_at":"2024-11-12T02:20:32.000Z","dependencies_parsed_at":"2023-11-06T09:47:47.976Z","dependency_job_id":"b043f9ca-ba82-4361-983b-f1f849a51725","html_url":"https://github.com/ZeStream/zestream-server","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ZeStream/zestream-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZeStream%2Fzestream-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZeStream%2Fzestream-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZeStream%2Fzestream-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZeStream%2Fzestream-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ZeStream","download_url":"https://codeload.github.com/ZeStream/zestream-server/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZeStream%2Fzestream-server/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265728814,"owners_count":23818729,"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":["adaptive-video-streaming","dash","ffmpeg","hls","video-processing","video-streaming"],"created_at":"2024-08-06T23:02:59.468Z","updated_at":"2025-07-18T08:31:35.061Z","avatar_url":"https://github.com/ZeStream.png","language":"Go","funding_links":["https://github.com/sponsors/abskrj"],"categories":["HarmonyOS","ffmpeg"],"sub_categories":["Windows Manager"],"readme":"# ZeStream Server\n\n#### To support development of ZeStream, please [![](https://img.shields.io/static/v1?label=Sponsor\u0026message=%E2%9D%A4\u0026logo=GitHub\u0026color=%23fe8e86)](https://github.com/sponsors/abskrj)\n\n\nA media streaming service, which can stream on demand video, image (with tansformations) and audio and works as CDN.\n\n## Getting Started\n\n#### Deploying on Docker Container\n\n```bash\n# create .env file from .env-template\n\ndocker compose up\n```\n\n## Dev Setup\n\n1. Install Golang v1.19 from [Go.dev](https://go.dev/doc/install)\n2. Fork this repo, and clone the forked repo\n3. `cd zestream-server`\n4. `go get .`\n5. `go run main.go`\n\n## Implementation\n\n1. User calls API to prcoess the video.\n2. The API controller queues the event in a message queue (Kafka) and calls the given webhook.\n3. A ZeStream worker polls the event from queue which contains file url\n4. Worker fetches the file to local disk\n5. Another worker starts a FFmpeg thread to process the video\n6. Output is stored in local disk\n7. After FFmpeg finishes processing, another worker pushes the files to cloud storage\n8. CDN is connected to storage for fetching the files.\n\n## How to contribute?\n\nCheck out [contribution guidelines](https://github.com/ZeStream/zestream-server/blob/main/CONTRIBUTING.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FZeStream%2Fzestream-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FZeStream%2Fzestream-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FZeStream%2Fzestream-server/lists"}