{"id":18982296,"url":"https://github.com/profusion/android-enhanced-video-player","last_synced_at":"2025-07-27T19:06:57.029Z","repository":{"id":169437615,"uuid":"644051440","full_name":"profusion/android-enhanced-video-player","owner":"profusion","description":"Enhanced Video Player for Android built on top of Exoplayer compliant with Jetpack","archived":false,"fork":false,"pushed_at":"2024-04-08T20:21:50.000Z","size":2218,"stargazers_count":7,"open_issues_count":6,"forks_count":0,"subscribers_count":17,"default_branch":"main","last_synced_at":"2025-05-29T18:14:15.302Z","etag":null,"topics":["android","exoplayer","jetpack-compose","player","video-player"],"latest_commit_sha":null,"homepage":"https://jitpack.io/#profusion/android-enhanced-video-player","language":"Kotlin","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/profusion.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/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,"zenodo":null}},"created_at":"2023-05-22T17:56:15.000Z","updated_at":"2024-11-05T07:01:50.000Z","dependencies_parsed_at":"2023-12-15T21:15:23.887Z","dependency_job_id":"494ac581-719b-4a53-922f-4070bda1a588","html_url":"https://github.com/profusion/android-enhanced-video-player","commit_stats":null,"previous_names":["profusion/android-enhanced-video-player"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/profusion/android-enhanced-video-player","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/profusion%2Fandroid-enhanced-video-player","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/profusion%2Fandroid-enhanced-video-player/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/profusion%2Fandroid-enhanced-video-player/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/profusion%2Fandroid-enhanced-video-player/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/profusion","download_url":"https://codeload.github.com/profusion/android-enhanced-video-player/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/profusion%2Fandroid-enhanced-video-player/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267408685,"owners_count":24082519,"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","status":"online","status_checked_at":"2025-07-27T02:00:11.917Z","response_time":82,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["android","exoplayer","jetpack-compose","player","video-player"],"created_at":"2024-11-08T16:13:02.822Z","updated_at":"2025-07-27T19:06:56.979Z","avatar_url":"https://github.com/profusion.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# android-enhanced-video-player\n\n[![](https://jitpack.io/v/profusion/android-enhanced-video-player.svg)](https://jitpack.io/#profusion/android-enhanced-video-player)\n[![CI Android Enhanced Video Player](https://github.com/profusion/android-enhanced-video-player/actions/workflows/android-jetpack.yml/badge.svg)](https://github.com/profusion/android-enhanced-video-player/actions/workflows/android-jetpack.yml)\n\nEnhanced Video Player for Android built on top of Exoplayer compliant with Android Jetpack Compose\n\n## Table of Contents\n\n- [Table of Contents](#table-of-contents)\n- [Installation](#installation)\n- [Media Types](#media-types)\n  - [HLS](#hls)\n  - [DASH](#dash)\n  - [MSS/SmoothStreaming](#msssmoothstreaming)\n- [Documentation](#documentation)\n\n## Installation\n\n1. Add it in your root build.gradle at the end of repositories:\n  \n```groovy\nallprojects {\n  repositories {\n    ...\n    maven { url 'https://jitpack.io' }\n  }\n}\n```\n2. Add the dependency\n\n```groovy\ndependencies {\n\timplementation 'com.github.profusion:android-enhanced-video-player:Tag'\n}\n```\n\n## Media Types\n\nExoplayer supports the three main adaptive streaming algorithms: HLS, DASH and MSS.\nHowever, this project does not add the modules responsible for that in the library\nmodule so we can lower the size of the distributed package.\n\nAny apps that import `EnhancedVideoPlayer` can still play URIs from adaptive\nstreaming algorithms. To do that, one can import the necessary module's on the\napp's `build.gradle` as described below.\n\n### HLS\n\nAdd the following module to the app's `build.gradle`\n\n```groovy\nimplementation \"androidx.media3:media3-exoplayer-hls:$mediaVersion\"\n```\n\nWhen creating the `MediaItem`, simply pass the HLS URI\n\n```kotlin\nEnhancedVideoPlayer(\n  mediaItem = MediaItem.fromUri(\n    \"https://demo-streaming.gcdn.co/videos/676_YJHUNNocCsrjiCDx/master.m3u8\"\n  )\n)\n```\n\n### DASH\n\nAdd the following module to the app's `build.gradle`\n\n```groovy\nimplementation \"androidx.media3:media3-exoplayer-dash:$mediaVersion\"\n```\n\nWhen creating the `MediaItem` you can simply pass the URI if it ends with `.mpd` or you can\npass `MimeTypes.APPLICATION_MPD` to `setMimeType` of `MediaItem.Builder`\n\n```kotlin\nval mediaItem = MediaItem.Builder()\n        .setMimeType(MimeTypes.APPLICATION_MPD)\n        .setUri(SOME_URI)\n        .build()\n\nEnhancedVideoPlayer(mediaItem = mediaItem)\n```\n\n### MSS/SmoothStreaming\n\nAdd the following module to the app's `build.gradle`\n\n```groovy\nimplementation \"androidx.media3:media3-exoplayer-smoothstreaming:$mediaVersion\"\n```\n\nWhen creating the `MediaItem` you can simply pass the URI if it ends with `.ism/Manifest` or\nyou can pass `MimeTypes.APPLICATION_SS` to `setMimeType` of `MediaItem.Builder`\n\n```kotlin\nval mediaItem = MediaItem.Builder()\n        .setMimeType(MimeTypes.APPLICATION_SS)\n        .setUri(SOME_URI)\n        .build()\n\nEnhancedVideoPlayer(mediaItem = mediaItem)\n```\n\n## Documentation\n\n- [Contributing](docs/CONTRIBUTING.md)\n- [Integrating with React Native](docs/react-native.md)\n- [Releasing](docs/RELEASING.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprofusion%2Fandroid-enhanced-video-player","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprofusion%2Fandroid-enhanced-video-player","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprofusion%2Fandroid-enhanced-video-player/lists"}