{"id":13509712,"url":"https://github.com/n1207n/video-transcode-queue","last_synced_at":"2025-04-30T22:15:55.909Z","repository":{"id":57704651,"uuid":"92696514","full_name":"n1207n/video-transcode-queue","owner":"n1207n","description":"A sample video upload platform as a kubernetes cluster (WIP)","archived":false,"fork":false,"pushed_at":"2017-10-14T05:44:46.000Z","size":117,"stargazers_count":77,"open_issues_count":0,"forks_count":15,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-30T22:15:50.569Z","etag":null,"topics":["docker","ffmpeg","ffmpeg-root","golang","helm","helm-charts","helm-packages","kubernetes","minikube","postgresql","redis","video-transcoding"],"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/n1207n.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}},"created_at":"2017-05-29T00:58:53.000Z","updated_at":"2024-09-21T21:54:54.000Z","dependencies_parsed_at":"2022-09-16T16:35:09.960Z","dependency_job_id":null,"html_url":"https://github.com/n1207n/video-transcode-queue","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/n1207n%2Fvideo-transcode-queue","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n1207n%2Fvideo-transcode-queue/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n1207n%2Fvideo-transcode-queue/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n1207n%2Fvideo-transcode-queue/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/n1207n","download_url":"https://codeload.github.com/n1207n/video-transcode-queue/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251789627,"owners_count":21644087,"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":["docker","ffmpeg","ffmpeg-root","golang","helm","helm-charts","helm-packages","kubernetes","minikube","postgresql","redis","video-transcoding"],"created_at":"2024-08-01T02:01:11.885Z","updated_at":"2025-04-30T22:15:55.858Z","avatar_url":"https://github.com/n1207n.png","language":"Go","funding_links":[],"categories":["Go","HarmonyOS","redis"],"sub_categories":["Windows Manager"],"readme":"# Video-transcode-queue\nA sample infrastructure for processing video upload \u0026 transcoding.\n* React web UI\n* REST API in Golang\n* PostgreSQL\n* Nginx proxy\n* Redis task queue storage\n* Redis task consumer in Golang\n* Redis task producer in Golang\n* Video transcoder in Golang\n\n## Powered by Kubernetes Helm packages\n\n### How to run locally\n1. Install Docker, Kubernetes, Minikube, and helm package manager\n2. Install ffmpeg \u0026\u0026 codecs (If you want to troubleshoot ffmpeg commands outside of docker)\n * `brew install ffmpeg --with-chromaprint --with-fdk-aac --with-fontconfig --with-freetype --with-frei0r --with-game-music-emu --with-libass --with-libbluray --with-libbs2b --with-libcaca --with-libebur128 --with-libgsm --with-libmodplug --with-libsoxr --with-libssh --with-libvidstab --with-libvorbis --with-libvpx --with-opencore-amr --with-openh264 --with-openjpeg --with-openssl --with-opus --with-rtmpdump --with-rubberband --with-schroedinger --with-sdl2 --with-snappy --with-speex --with-tesseract --with-theora --with-tools --with-two-lame --with-wavpack --with-webp --with-x265 --with-xz --with-zeromq --with-zimg`\n2. Expose FFMPEG C libraries (If you want to troubleshoot ffmpeg commands outside of docker)\n  * `export FFMPEG_ROOT=export FFMPEG_ROOT=/usr/local/Cellar/ffmpeg/3.3.1\nexport CGO_LDFLAGS=\"-L$FFMPEG_ROOT/lib/ -lavcodec -lavformat -lavutil -lswscale -lswresample -lavdevice -lavfilter\"\nexport CGO_CFLAGS=\"-I$FFMPEG_ROOT/include\"\nexport LD_LIBRARY_PATH=$HOME/ffmpeg/lib`\n2. `helm init \u0026\u0026 helm repo update`\n3. Install helm packages\n  * `bash build_helm_packages.sh`\n4. Build docker images\n - `eval $(minikube docker-env)`\n - `bash build_docker_images.sh`\n5. Run Kubernetes resources\n - `bash build_kubernetes_resources.sh`\n6. Run minikube and kubectl proxy\n  * `minikube start`\n  * `kubectl proxy`\n7. Access minikube external url\n  * `minikube service video-api --url` or `minikube service streaming-api --url`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fn1207n%2Fvideo-transcode-queue","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fn1207n%2Fvideo-transcode-queue","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fn1207n%2Fvideo-transcode-queue/lists"}