{"id":49028334,"url":"https://github.com/juneix/embyx","last_synced_at":"2026-04-19T08:01:41.969Z","repository":{"id":325243308,"uuid":"1100410097","full_name":"juneix/EmbyX","owner":"juneix","description":"Watch Emby short videos like Tiktok. 像刷抖音一样看 Emby 短视频。","archived":false,"fork":false,"pushed_at":"2026-04-17T04:09:28.000Z","size":1279,"stargazers_count":36,"open_issues_count":3,"forks_count":8,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-17T04:36:16.076Z","etag":null,"topics":["docker","emby","emby-client","jellyfin","jellyfin-client","nas","self-hosted","tiktok","web-app"],"latest_commit_sha":null,"homepage":"https://embyx.5nav.eu.org","language":"HTML","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/juneix.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-20T08:43:33.000Z","updated_at":"2026-04-17T04:17:07.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/juneix/EmbyX","commit_stats":null,"previous_names":["juneix/embyx"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/juneix/EmbyX","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juneix%2FEmbyX","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juneix%2FEmbyX/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juneix%2FEmbyX/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juneix%2FEmbyX/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/juneix","download_url":"https://codeload.github.com/juneix/EmbyX/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juneix%2FEmbyX/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31999173,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T20:23:30.271Z","status":"online","status_checked_at":"2026-04-19T02:00:07.110Z","response_time":55,"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":["docker","emby","emby-client","jellyfin","jellyfin-client","nas","self-hosted","tiktok","web-app"],"created_at":"2026-04-19T08:01:35.924Z","updated_at":"2026-04-19T08:01:41.958Z","avatar_url":"https://github.com/juneix.png","language":"HTML","funding_links":["https://ko-fi.com/juneixtse","https://paypal.me/juneixtse"],"categories":[],"sub_categories":[],"readme":"# 📱 EmbyX\n\n[中文说明](./README_zh.md)\n\n[![GitHub Release](https://img.shields.io/github/v/release/juneix/embyx?style=flat-square\u0026logo=github\u0026color=52B54B)](https://github.com/juneix/embyx/releases)\n[![GitHub Stars](https://img.shields.io/github/stars/juneix/embyx?style=flat-square\u0026logo=github\u0026color=52B54B)](https://github.com/juneix/embyx/stargazers)\n[![GitHub Forks](https://img.shields.io/github/forks/juneix/embyx?style=flat-square\u0026logo=github\u0026color=52B54B)](https://github.com/juneix/embyx/forks)\n[![Docker Pulls](https://img.shields.io/docker/pulls/juneix/embyx?style=flat-square\u0026logo=docker\u0026color=2496ED)](https://hub.docker.com/r/juneix/embyx)\n[![License: MIT](https://img.shields.io/badge/License-MIT-gray?style=flat-square)](./LICENSE)\n[![Code Size](https://img.shields.io/github/languages/code-size/juneix/embyx?style=flat-square\u0026color=gray)](https://github.com/juneix/embyx)\n\nA TikTok-style web player for Emby / Jellyfin. Experience your private media library in a whole new, immersive way. 🎉\n\n![EmbyX-1](/poster1-en.webp)\n\n![EmbyX-2](/poster2-en.webp)\n\n## ✨ Features\n\n- **Fluid Playback**: TikTok-style vertical scrolling for an **immersive** experience.\n- **Direct Play**: Up to **8K HEVC / AV1** on Android—no transcoding.\n- **Poster Wall**: Elegant album view with pagination and **shuffle**.\n- **Emby Sync**: Real-time sync for **libraries, playlists, and favorites**.\n- **Desktop Friendly**: Optimized for **keyboard \u0026 mouse**, Perfect for TV and PC.\n- **PWA Ready**: Install as a **standalone** app on your home screen or desktop.\n- **Privacy First**: All data stays **on your device**, no cloud uploads.\n\n\n## 💡 Get Started\n\nTry EmbyX instantly via the official web app:\n- 🌐 **Main Site** - [embyx.5nav.eu.org](https://embyx.5nav.eu.org)\n- ⚡ **Mirror Site** - [embyx.5nav.pp.ua](https://embyx.5nav.pp.ua)\n\nPrefer full control? You can **self-host** EmbyX on your own server.\n\n\n## 📢 Spread the Word\n\nIf EmbyX makes your digital life easier, please `star it on GitHub ⭐️`, or share it with your friends and the community! As an independent developer, your support is the best way to help this project grow.\n\n\u003e Love it? [Donations are welcome!](#❤️-support-the-project)\n\n\n## 🔮 Playback Performance\n\n| Device | HEVC Decode | AV1 Decode |\n|:---:|:---:|:---:|\n| Apple | A9 (2015) / M1 | A17 Pro (2023) / M3 |\n| Android | Budget Phones (2016) | Budget Phones (2024) |\n| PC | Intel 6-8th Gen iGPU | Intel 11th Gen+ iGPU |\n\n\n## ⌨️ Shortcuts Guide\n\n| Key | Function |\n|:---:|---|\n| `W / S / ↑ / ↓` | Prev / Next Video |\n| `A / D / ← / →` | Rewind / Forward 15s |\n| `Space / Click OK` | Pause / Play |\n| `U / Double Click OK` | Favorite Video |\n| `J / Menu Key` | Toggle Aspect Ratio |\n| `M` | Toggle Mute |\n| `I` | Profile |\n| `E` | Toggle View |\n| `R` | Sequential / Random |\n| `F` | Toggle Fullscreen |\n| `G` | Select Libraries |\n| `V` | Media Info |\n\n\n## 📁 Directory Structure\n\n```\nembyx/\n├── zh/               # Chinese Version\n├── en/               # English Version\n├── README.md         # English Documentation (Default)\n├── README_zh.md      # Chinese Documentation\n├── Dockerfile        # Docker Image Build File\n├── docker-compose.yml # Docker Compose Configuration\n├── entrypoint.sh     # Docker Entrypoint\n└── nginx.conf        # Nginx configuration\n```\n\n\n## 🚀 Deployment\n\n### Option 1: Direct File Hosting (Recommended)\n\nSimply put all files from `en/` folder into your web server (Nginx, Apache, etc.)\n\n### Option 2: Docker Deployment\n\nDon't want to mess with the environment? Just use Docker. Recommended GHCR for updates, Docker Hub for NAS.\n\n- GHCR: `ghcr.io/juneix/embyx`\n- Docker Hub: `juneix/embyx`\n\n#### Docker CLI: \n\n```bash\ndocker run -d \\\n  --name embyx \\\n  --network host \\\n  -e APP_LANG=en \\\n  -e APP_PORT=8090 \\\n  ghcr.io/juneix/embyx\n```\n#### Docker Compose:\n```yaml\nservices:\n  embyx:\n    image: ghcr.io/juneix/embyx\n    # image: juneix/embyx # Docker Hub Mirror \n    container_name: embyx\n    restart: unless-stopped\n    network_mode: host\n    environment:\n      - APP_LANG=en # English Version\n      - APP_PORT=8090 # Access Port\n```\n\n## ❤️ Support \u0026 Community\n\nIf you find EmbyX useful, consider supporting its development or joining our community. Your word-of-mouth and support help this project grow!\n\n| Support | Community |\n| :--- | :--- |\n| [![Buy Me a Coffee](https://img.shields.io/badge/Ko--fi-Support%20Me-FF5E5B?style=for-the-badge\u0026logo=kofi\u0026logoColor=white)](https://ko-fi.com/juneixtse) | [![Telegram Channel](https://img.shields.io/badge/Telegram-Join%20Channel-26A5E4?style=for-the-badge\u0026logo=telegram\u0026logoColor=white)](https://t.me/juneix_en) |\n| [![Donate with PayPal](https://img.shields.io/badge/PayPal-Donate-00457C?style=for-the-badge\u0026logo=paypal\u0026logoColor=white)](https://paypal.me/juneixtse) | [![X (Twitter)](https://img.shields.io/badge/X-Follow%20Me-000000?style=for-the-badge\u0026logo=x\u0026logoColor=white)](https://x.com/juneix_tse) |\n\n\n\n## 🌟 Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=juneix/embyx\u0026type=Date)](https://star-history.com/#juneix/embyx\u0026Date)\n\n\n## 📝 License\n\nMIT License — Feel free to use, PRs and Issues are welcome.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuneix%2Fembyx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjuneix%2Fembyx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuneix%2Fembyx/lists"}