{"id":13510863,"url":"https://github.com/OpenVisualCloud/CDN-Transcode-Sample","last_synced_at":"2025-03-30T17:31:34.384Z","repository":{"id":47627138,"uuid":"167291286","full_name":"OpenVisualCloud/CDN-Transcode-Sample","owner":"OpenVisualCloud","description":"Media transcoding is a key function for live video broadcasting, streaming, and video on demand use cases in a CDN network. The CDN Transcode sample (not a finished product) provides a reference pipeline to build an out-of-box 1:N CDN streaming transcode service example.","archived":true,"fork":false,"pushed_at":"2024-11-11T20:06:28.000Z","size":3281,"stargazers_count":120,"open_issues_count":22,"forks_count":37,"subscribers_count":17,"default_branch":"master","last_synced_at":"2024-11-11T21:19:17.911Z","etag":null,"topics":["dash","docker","ffmpeg","hls","msdk","nginx","svt"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenVisualCloud.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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,"publiccode":null,"codemeta":null}},"created_at":"2019-01-24T02:47:31.000Z","updated_at":"2024-11-11T20:06:31.000Z","dependencies_parsed_at":"2024-11-01T11:32:23.241Z","dependency_job_id":"c2225cde-5f88-49db-81f6-4889676944e4","html_url":"https://github.com/OpenVisualCloud/CDN-Transcode-Sample","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenVisualCloud%2FCDN-Transcode-Sample","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenVisualCloud%2FCDN-Transcode-Sample/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenVisualCloud%2FCDN-Transcode-Sample/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenVisualCloud%2FCDN-Transcode-Sample/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenVisualCloud","download_url":"https://codeload.github.com/OpenVisualCloud/CDN-Transcode-Sample/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246355396,"owners_count":20763990,"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":["dash","docker","ffmpeg","hls","msdk","nginx","svt"],"created_at":"2024-08-01T02:01:57.031Z","updated_at":"2025-03-30T17:31:34.372Z","avatar_url":"https://github.com/OpenVisualCloud.png","language":"Python","readme":"# PROJECT NOT UNDER ACTIVE MANAGEMENT #  \nThis project will no longer be maintained by Intel.  \nIntel has ceased development and contributions including, but not limited to, maintenance, bug fixes, new releases, or updates, to this project.  \nIntel no longer accepts patches to this project.  \n If you have an ongoing need to use this project, are interested in independently developing it, or would like to maintain patches for the open source software community, please create your own fork of this project.  \n  \n\n\n### Open Visual Cloud CDN Transcode Sample\n\n[![Travis Build Status](https://travis-ci.com/OpenVisualCloud/CDN-Transcode-Sample.svg?branch=master)](https://travis-ci.com/OpenVisualCloud/CDN-Transcode-Sample)\n[![Stable release](https://img.shields.io/badge/latest_release-v1.0-green.svg)](https://github.com/OpenVisualCloud/CDN-Transcode-Sample/releases/tag/v1.0)\n[![License](https://img.shields.io/badge/license-BSD_3_Clause-green.svg)](https://github.com/OpenVisualCloud/CDN-Transcode-Sample/blob/master/LICENSE)\n[![Contributions](https://img.shields.io/badge/contributions-welcome-blue.svg)](https://github.com/OpenVisualCloud/CDN-Transcode-Sample/wiki)\n\nThe CDN Transcode Sample is an Open Visual Cloud software stack with all required open source ingredients well integrated to provide out-of-box simple transcode or transcode+CDN service, including live streaming and video on demand. It also provides Docker-based media delivery software development environment upon which developer can easily build their specific applications. \n\n### Architecture\n\nThe sample implements a reference server-side transcode system over CDN infrastructure, which features `live streaming` and `VOD`. Among them, the `VOD` service can run independently to provide a simple transcode service.  \n\n\u003cIMG src=\"doc/CDN-Transcode-Sample-Arch.png\" height=\"450\"\u003e\n\n### Software Stacks\n\nThe sample is powered by the following Open Visual Cloud software stacks:\n\n- Media transcoding software stack:  \n\nThe FFmpeg-based media transcoding stack is used to transcode media content from a higher resolution/quality to a lower resolution/quality. The software stack is optimized for Intel Xeon Scalable Processors and Intel XeonE3 Scalable Processors. \n\n- Media streaming and Web Hosting software stack:  \n\nThe NGINX-based software stack is used to host web services, video content and provide video streaming services. The software stack is optimized for Intel Xeon Scalable Processors.  \n\n### Install Prerequisites:\n\n- **Time Zone**: Check that the timezone setting of your host machine is correctly configured. Timezone is used during build. If you plan to run the sample on a cluster of machines, please make sure to synchronize time among the controller node and worker nodes.\n\n- **Build Tools**: Install `cmake`, `make`, `m4`, `wget` and `gawk` if they are not available on your system.\n\n- **Docker Engine**: \n\n    - Install [docker engine](https://docs.docker.com/get-docker). Minimum version required: `17.05`. Make sure you setup docker to run as a regular user.\n    - Setup `Kubernetes`. See [Kubernetes Setup](deployment/kubernetes/README.md) for additional setup details.\n    - Setup docker proxy as follows if you are behind a firewall:   \n\n```\nsudo mkdir -p /etc/systemd/system/docker.service.d       \nprintf \"[Service]\\nEnvironment=\\\"HTTPS_PROXY=$https_proxy\\\" \\\"NO_PROXY=$no_proxy\\\"\\n\" | sudo tee /etc/systemd/system/docker.service.d/proxy.conf       \nsudo systemctl daemon-reload          \nsudo systemctl restart docker     \n```\n\n### Build the Sample  \n\nRun the following command to run the sample as a simple transcoder:  \n```\nmkdir build\ncd build\ncmake ..\nmake\n```\n\nRun the following command to run the sample as transcode+CDN:  \n```\nmkdir build\ncd build\ncmake -DSCENARIO=cdn ..\nmake\n```\n\n---\n\nIf you deploy the sample to a cluster, please configure the sample, as `cmake -DREGISTRY=\u003cregistry-url\u003e ..`, to push the sample images to the private docker registry after each build.   \n\nTo deploy without a private registry, run `make update` after each build to push the sample images to the cluster nodes (which requires passwordless access from the master node to the worker nodes.)   \n\n---\n\n### Deploy the Sample\n\nStart/stop the sample with Kubernetes [yaml configurations](deployment/kubernetes/yaml):  \n\n```\nmake volume\nmake start_kubernetes\n...\nmake stop_kubernetes\n```\n\nStart/stop the sample with Kubernetes [Helm charts](deployment/kubernetes/helm):  \n\n```\nmake volume\nmake start_helm\n...\nmake stop_helm\n```\n\nFor the `transcode` scenario, look at the logs of the `benchmark` pod for the batch transcoding summary. For the `cdn` scenario, point your browser to `https://\u003cyour-host\u003e` to watch the list of video clips via `DASH` or `HLS`.   \n\n# See Also\n\n- [Kubernetes Setup](deployment/kubernetes/README.md)   \n- [Build Options](doc/cmake.md)   \n- [Reference Architecture](https://networkbuilders.intel.com/solutionslibrary/container-bare-metal-for-2nd-generation-intel-xeon-scalable-processor)   \n\n","funding_links":[],"categories":["HarmonyOS","Python","Recently Updated","nginx","Video Encoding, Transcoding \u0026 Packaging Tools"],"sub_categories":["Windows Manager","[Mar 14, 2025](/content/2025/03/14/README.md)","Containerization \u0026 Packaging Tools"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FOpenVisualCloud%2FCDN-Transcode-Sample","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FOpenVisualCloud%2FCDN-Transcode-Sample","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FOpenVisualCloud%2FCDN-Transcode-Sample/lists"}