{"id":13907848,"url":"https://github.com/alfg/openencoder","last_synced_at":"2025-04-07T11:31:40.833Z","repository":{"id":40630247,"uuid":"158481549","full_name":"alfg/openencoder","owner":"alfg","description":":movie_camera: Cloud Encoding Platform for FFmpeg.","archived":false,"fork":false,"pushed_at":"2021-08-03T06:15:05.000Z","size":1064,"stargazers_count":113,"open_issues_count":2,"forks_count":24,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-03-22T17:01:47.394Z","etag":null,"topics":["audio","encoding","ffmpeg","video","worker"],"latest_commit_sha":null,"homepage":"https://github.com/alfg/openencoder","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alfg.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}},"created_at":"2018-11-21T02:49:40.000Z","updated_at":"2025-02-20T21:30:43.000Z","dependencies_parsed_at":"2022-08-20T12:31:03.490Z","dependency_job_id":null,"html_url":"https://github.com/alfg/openencoder","commit_stats":null,"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alfg%2Fopenencoder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alfg%2Fopenencoder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alfg%2Fopenencoder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alfg%2Fopenencoder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alfg","download_url":"https://codeload.github.com/alfg/openencoder/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247644106,"owners_count":20972223,"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":["audio","encoding","ffmpeg","video","worker"],"created_at":"2024-08-06T23:02:13.827Z","updated_at":"2025-04-07T11:31:40.300Z","avatar_url":"https://github.com/alfg.png","language":"Go","funding_links":[],"categories":["HarmonyOS"],"sub_categories":["Windows Manager"],"readme":"\u003cdiv align=\"center\"\u003e\n    \u003ch1\u003e\u003ccode\u003eopenencoder\u003c/code\u003e\u003c/h1\u003e\n    \u003cp\u003e\u003cstrong\u003eOpen Source Cloud Encoder for FFmpeg\u003c/strong\u003e\u003c/p\u003e\n    \u003cp\u003eA distributed and scalable video encoding pipeline to be used\n    as an API or web interface using your own hosted or cloud infrastructure\n    and FFmpeg encoding presets.\n    \u003c/p\u003e\n    \u003cp\u003e⚠️ Currently functional, but a work-in-progress! Check back for updates!\u003c/p\u003e\n    \u003cp\u003e\n        \u003ca href=\"https://travis-ci.org/alfg/openencoder\"\u003e\n          \u003cimg src=\"https://travis-ci.org/alfg/openencoder.svg?branch=master\" alt=\"Build Status\" /\u003e\n        \u003c/a\u003e\n        \u003ca href=\"https://godoc.org/github.com/alfg/openencoder\"\u003e\n          \u003cimg src=\"https://godoc.org/github.com/alfg/openencoder?status.svg\" alt=\"GoDoc\" /\u003e\n        \u003c/a\u003e\n        \u003ca href=\"https://goreportcard.com/report/github.com/alfg/openencoder\"\u003e\n          \u003cimg src=\"https://goreportcard.com/badge/github.com/alfg/openencoder\" alt=\"Go Report Card\" /\u003e\n        \u003c/a\u003e\n        \u003ca href=\"https://hub.docker.com/r/alfg/openencoder/builds\"\u003e\n          \u003cimg src=\"https://img.shields.io/docker/automated/alfg/openencoder.svg\" alt=\"Docker Automated build\" /\u003e\n        \u003c/a\u003e\n        \u003ca href=\"https://hub.docker.com/r/alfg/openencoder\"\u003e\n          \u003cimg src=\"https://img.shields.io/docker/pulls/alfg/openencoder.svg\" alt=\"Docker Pulls\" /\u003e\n        \u003c/a\u003e\n    \u003c/p\u003e\n\u003c/div\u003e\n\n\n## Features\n* HTTP API for submitting jobs to a redis-backed FFmpeg worker\n* FTP and S3 storage (AWS, Digital Ocean Spaces and Custom S3 Providers supported)\n* Web Dashboard UI for managing encode jobs, workers, users and settings\n* Machines UI/API for scaling cloud worker instances in a VPC\n* Database stored FFmpeg encoding presets\n* User accounts and roles\n\n\n## Preview\n![Screenshot](screenshot.png)    \n\n\n## Development\n\n#### Requirements\n* Docker\n* Go 1.11+\n* NodeJS 8+ (For web dashboard)\n* FFmpeg\n* Postgres\n* S3 API Credentials \u0026 Bucket (AWS or Digital Ocean)\n* Digital Ocean API Key (only required for Machines API)\n\nDocker is optional, but highly recommended for this setup. This guide assumes you are using Docker.\n\n\n#### Setup\n* Start Redis and Postgres in Docker:\n```\ndocker-compose up -d redis\ndocker-compose up -d db\n```\n\nWhen the database container runs for the first time, it will create a persistent volume as `/var/lib/postgresql/data`. It will also run the scripts in `scripts/` to create the database, schema, settings, presets, and an admin user.\n\n* Build \u0026 start API server:\n```\ngo build -v \u0026\u0026 ./openencoder server\n```\n\n* Start the worker:\n```\n./openencoder worker\n```\n\n* Start Web Dashboard for development:\n```\ncd static \u0026\u0026 npm run serve\n```\n\n* Open `http://localhost:8081/dashboard` in the browser and login with `admin/password`.\n\n\nSee [Quick-Setup-Guide](https://github.com/alfg/openencoder/wiki/Quick-Setup-Guide-%5Bfor-development%5D) for full development setup guide.\n\n## API\nSee: [API.md](/API.md)\n\n\n## Scaling\nYou can scale workers by adding more machines via the Web UI or API.\n\nCurrently only `Digital Ocean` is supported. More providers are planned.\n\nSee: [API.md](/API.md) for Machines API documentation.\n\n\n## Documentation\nSee: [wiki](https://github.com/alfg/openencoder/wiki) for more documentation.\n\n\n## Roadmap\nSee: [Development Project](https://github.com/alfg/openencoder/projects/1) for current development tasks and status.\n\n\n## License\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falfg%2Fopenencoder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falfg%2Fopenencoder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falfg%2Fopenencoder/lists"}