{"id":13509727,"url":"https://github.com/cpitkin/openfaas-transcode","last_synced_at":"2026-01-12T13:50:47.303Z","repository":{"id":87862347,"uuid":"136243301","full_name":"cpitkin/openfaas-transcode","owner":"cpitkin","description":"OpenFaaS transcode pipeline","archived":false,"fork":false,"pushed_at":"2018-06-05T23:08:49.000Z","size":8,"stargazers_count":9,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-11-01T09:35:09.604Z","etag":null,"topics":["fucntions","golang","openfaas","transcode"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cpitkin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2018-06-05T22:51:59.000Z","updated_at":"2021-10-18T13:10:38.000Z","dependencies_parsed_at":"2024-01-13T19:24:35.360Z","dependency_job_id":"1794093f-7c27-4e77-b239-b7d92d972dbc","html_url":"https://github.com/cpitkin/openfaas-transcode","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/cpitkin%2Fopenfaas-transcode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cpitkin%2Fopenfaas-transcode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cpitkin%2Fopenfaas-transcode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cpitkin%2Fopenfaas-transcode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cpitkin","download_url":"https://codeload.github.com/cpitkin/openfaas-transcode/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246324347,"owners_count":20759108,"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":["fucntions","golang","openfaas","transcode"],"created_at":"2024-08-01T02:01:12.055Z","updated_at":"2026-01-12T13:50:47.250Z","avatar_url":"https://github.com/cpitkin.png","language":"Go","readme":"# OpenFaaS Transcode Pipeline\n\nThis repo consists of a series of functions built for [OpenFaaS](https://github.com/openfaas/faas).\n\n## Purpose\n\nI have a large movie collection that I want to upload into Plex. Since modern Blue-Ray movies are quite large I wanted an easy way to transcode them down to a smaller size while still retaining quality. The series of functions in this repo allows me to do just that is a very automated fashion.\n\n## Functions (in order)\n\n### transcode-entrypoint\n\nThis is the entrypoint into the pipeline that is used to start he process. You can also add things like Slack integration calls here.\n\n### transcode-worker\n\nThis is the main worker for the pipleine. The worker is called using the `/async-function` endpoint. This allows the transcoding to take hours without holding up adding new media to the backlog. Since NATS is used the backgroud we can pull media off the queue when once is done. The transcoding itself is done by a great Ruby executable found [here](https://github.com/donmelton/video_transcoding). Huge shoutout to donmelton for making a great library.\n\n#### Steps\n\n- Download the media from the `transcode` Minio bucket\n- Transcode the media into `/tmp`\n- Upload the finished file to the `complete` Minio bucket\n- Delete the raw file from the local container\n\n### transcode-move\n\nThis step moves the completed media file from the `complete` Minio bucket to another Minio server or your choice.\n\n#### Steps\n\n- Downlaod from the `complete` bucket\n- Upload to the `media` bucket on another server\n\n### transcode-delete\n\nThis is the cleanup step.\n\n#### Steps\n\n- Check for the presence of the media at the final destination\n- Delete the media from the `complete` and `trancdoe` buckets on the other server","funding_links":[],"categories":["Go","Recently Updated","HarmonyOS","golang","Video Encoding, Transcoding \u0026 Packaging Tools"],"sub_categories":["[Mar 14, 2025](/content/2025/03/14/README.md)","Windows Manager","Containerization \u0026 Packaging Tools"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcpitkin%2Fopenfaas-transcode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcpitkin%2Fopenfaas-transcode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcpitkin%2Fopenfaas-transcode/lists"}