{"id":13735825,"url":"https://github.com/matvp91/indigo-player","last_synced_at":"2025-05-15T07:06:26.462Z","repository":{"id":33973561,"uuid":"164923605","full_name":"matvp91/indigo-player","owner":"matvp91","description":"Highly extensible, modern, JavaScript video player. Handles MPEG-Dash / HLS / MPEG-4 and is built on top of the HTML5 video element.","archived":false,"fork":false,"pushed_at":"2024-09-22T09:02:17.000Z","size":30039,"stargazers_count":1249,"open_issues_count":58,"forks_count":64,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-04-11T18:27:19.482Z","etag":null,"topics":["dash","drm","hls","hlsjs","html5-video","mpeg-dash","shaka-player","video","video-player"],"latest_commit_sha":null,"homepage":"https://matvp91.github.io/indigo-player/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/matvp91.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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,"publiccode":null,"codemeta":null},"funding":{"github":["matvp91"],"patreon":"matvp91","open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2019-01-09T19:20:23.000Z","updated_at":"2025-04-10T09:12:25.000Z","dependencies_parsed_at":"2024-01-06T12:02:50.466Z","dependency_job_id":"4f23fcbe-a370-44a1-aacf-bc6f98ed334b","html_url":"https://github.com/matvp91/indigo-player","commit_stats":{"total_commits":276,"total_committers":9,"mean_commits":"30.666666666666668","dds":0.07971014492753625,"last_synced_commit":"7749c063194a31818aeb92f88844d97248b77bf8"},"previous_names":[],"tags_count":35,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matvp91%2Findigo-player","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matvp91%2Findigo-player/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matvp91%2Findigo-player/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matvp91%2Findigo-player/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matvp91","download_url":"https://codeload.github.com/matvp91/indigo-player/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254292042,"owners_count":22046426,"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","drm","hls","hlsjs","html5-video","mpeg-dash","shaka-player","video","video-player"],"created_at":"2024-08-03T03:01:11.681Z","updated_at":"2025-05-15T07:06:21.454Z","avatar_url":"https://github.com/matvp91.png","language":"TypeScript","funding_links":["https://github.com/sponsors/matvp91","https://patreon.com/matvp91"],"categories":["TypeScript","HarmonyOS","Players \u0026 Clients","Players"],"sub_categories":["Windows Manager","Mobile \u0026 Web Players"],"readme":"\u003e [!TIP]\n\u003e Hey friend, I'm working on an end-to-end solution nowadays. Check https://github.com/matvp91/mixwave for more info!\n\n**Note:** Due to other commitments, I'm having a hard time responding to issues (\u0026 actually getting them fixed for you guys). I'd be more than happy to accept PR's.\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/matvp91/indigo-player\"\u003e\n    \u003cimg align=\"center\" src=\"https://raw.githubusercontent.com/matvp91/indigo-player/master/docs/indigo-player.png\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n# indigo-player\n\nHighly extensible, modern, JavaScript player. 👊\n\n![Travis CI](https://img.shields.io/travis/matvp91/indigo-player/master.svg)\n[![](https://img.shields.io/npm/v/indigo-player.svg)](https://www.npmjs.com/package/indigo-player)\n[![](https://img.shields.io/github/license/matvp91/indigo-player.svg)](https://github.com/matvp91/indigo-player)\n[![](https://img.shields.io/snyk/vulnerabilities/github/matvp91/indigo-player.svg)](https://github.com/matvp91/indigo-player)\n[![](https://img.shields.io/npm/types/indigo-player.svg)](https://www.npmjs.com/package/indigo-player)\n![jsdelivr](https://img.shields.io/jsdelivr/npm/hy/indigo-player)\n\n* **Strict defined API**, which makes it easy to build analytics and various other plugins on top of indigo-player.\n* **Dynamic bundle loading**, automatically determines and loads which modules are needed for playback.\n* **Highly modular** plugin system to extend functionality without modifying it's core.\n* **Out-of-the-box** features such as subtitles, thumbnails, quality selection if applicable, ...\n* **React** based UI.\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/matvp91/indigo-player\"\u003e\n    \u003cimg align=\"center\" src=\"https://raw.githubusercontent.com/matvp91/indigo-player/master/docs/indigo-player-screencap.png\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n## Documentation\n\nVisit the [documentation](https://matvp91.github.io/indigo-player). 😎\n\n## Getting started\n\n**In a browser**\n\nThe example below will load a simple MP4 file, and attempt to autoplay it.\n\n```html\n\u003chtml\u003e\n  \u003cbody\u003e\n    \u003cdiv id=\"playerContainer\"\u003e\u003c/div\u003e\n    \u003cscript src=\"https://cdn.jsdelivr.net/npm/indigo-player@1/lib/indigo-player.js\"\u003e\u003c/script\u003e\n    \u003cscript\u003e\n      const config = {\n        sources: [\n          {\n            type: 'mp4',\n            src: 'https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4',\n          }\n        ],\n      };\n\n      const element = document.getElementById('playerContainer');\n      const player = IndigoPlayer.init(element, config);\n\n      // You can use the player object now to access the player and it's methods (play, pause, ...)\n    \u003c/script\u003e\n  \u003c/body\u003e\n\u003c/html\u003e\n```\n\n**As a module in your bundle**\n\nThe example below will add `indigo-player` as a module in your project.\n\n```\nyarn add indigo-player\n```\n\n```\nnpm i indigo-player\n```\n\n```javascript\nimport IndigoPlayer from \"indigo-player\";\n// Bundle the css file too, or provide your own.\nimport \"indigo-player/lib/indigo-theme.css\";\n\nconst player = IndigoPlayer.init(container, config);\n```\n\n## Mentions\nMuch ❤️ on getting the word out!\n* [Hacker News](https://news.ycombinator.com/item?id=18939145)\n* [codrops Collective 503](https://tympanus.net/codrops/collective/collective-503/)\n* [Smashing Magazine](https://twitter.com/smashingmag/status/1095001768365252608)\n* [Web Design Weekly #345](https://web-design-weekly.com/2019/02/12/web-design-weekly-345/)\n* Let me know!\n\n## Cheers 🍺\n* [@ambroos](https://github.com/ambroos) for being a video nerd!\n* [@google](https://github.com/google) for maintaining [shaka-player](https://github.com/google/shaka-player)\n* [@video-dev](https://github.com/video-dev) for maintaining [hls.js](https://github.com/video-dev/hls.js/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatvp91%2Findigo-player","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmatvp91%2Findigo-player","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatvp91%2Findigo-player/lists"}