https://github.com/n-ce/ytify
Opus Audio Streaming Web App for YouTube. Stop watching, Listen & Save Data.
https://github.com/n-ce/ytify
audio css good-first-issue html invidious lit-element music music-player opus piped pwa spotify streaming typescript vanilla-typescript vite youtube youtube-player ytmusic
Last synced: 7 months ago
JSON representation
Opus Audio Streaming Web App for YouTube. Stop watching, Listen & Save Data.
- Host: GitHub
- URL: https://github.com/n-ce/ytify
- Owner: n-ce
- License: gpl-3.0
- Created: 2022-01-26T08:45:05.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2024-05-28T18:04:25.000Z (over 1 year ago)
- Last Synced: 2024-05-29T01:48:17.656Z (over 1 year ago)
- Topics: audio, css, good-first-issue, html, invidious, lit-element, music, music-player, opus, piped, pwa, spotify, streaming, typescript, vanilla-typescript, vite, youtube, youtube-player, ytmusic
- Language: TypeScript
- Homepage: https://ytify.netlify.app
- Size: 11.8 MB
- Stars: 114
- Watchers: 3
- Forks: 41
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://app.netlify.com/sites/ytify/deploys)
[](https://t.me/ytifytg)
[](https://t.me/ytifytg)
[](https://matrix.to/#/#ytify:matrix.org)
> [**ytify**](https://ytify.pp.ua) is the fastest (56KB to load) and the lightest (7.5K LOC only) centralised audio streaming web application built with an unprecedented hybrid [HTML + SolidJS] approach for maximum efficiency.
> Listen to **Podcasts**, **Audiobooks**, **Music**, **Livestreams** and other Audio focused YouTube Videos, even under the lowest network conditions.
> As covered in https://blog.csdn.net/gitblog_00024/article/details/139895018 and https://medevel.com/ytify-youtube/
## What else are you getting ?
- **Queuing Features** π¦
- **ytify collections** π·: create your own playlists disconnected from YouTube, share it with the world with share link.
- **YouTube Playlists** πΆ: View them, queue them to the player. You can also both subscribe and import it into your own collections.
- **Theming** π¨: Modern Autonomous themed UI based on stream thumbnail with High Contrast Mode for increased legibility.
- **PWA** π±: Install as an app on your device which also allows you to play YouTube links with it from your OS share menu.
- **Radio** π»: Fetches similar streams and creates a playlist for your stream, great for music listeners.
- **Library** π: Discover feed, history, favorites, Channels, YouTube playlists, custom playlists (collections) & Subscription Feed!
- **Download** β¬οΈ : Download any audio stream using the button on the action menu.
- **Lyrics** πΌ : Immersive Synced Lyrics using the button on the action menu.
- **For You** π» : Get audio tailored specifically for you based on your Favorites, generated on device without any violation of privacy.
- **Parental Controls** π¨βπ¦ : Disable Parts of the application according to your needs.



## WHY / The story of ytify with [n-ce](https://github.com/n-ce)
- I was an avid [NewPipe](https://github.com/TeamNewPipe/NewPipe) user back in 2021, which I used for background playback.
- I noticed it wasn't able to stream under low network conditions.
- So i decided to create an [issue](https://github.com/TeamNewPipe/NewPipe/issues/5838).
- Upon finding no active resolution on the issue, I took it to myself and created this project on Jan 2022.
## Usage π
- Instance
- [Official](https://ytify.pp.ua)
- [Secondary](https://ytify.netlify.app)
- [Testing](https://dev--ytify.netlify.app)
- Full Usage Guide is available at [wiki>usage](https://github.com/n-ce/ytify/wiki/usage)
- Join our Telegram Community [@ytifytg](https://t.me/ytifytg)
- Join our Matrix Community
[@ytify](https://matrix.to/#/#ytify:matrix.org)
## License π
> [Read More](https://github.com/n-ce/ytify/blob/main/LICENSE).
## Contributing π
> This project is actively seeking contributors, [Read More Here](https://github.com/n-ce/ytify/blob/main/CONTRIBUTING.md).
## Development π§
1. Prerequisites : Node.js , Beginner TypeScript Knowledge.
2. Clone repository with
```
git clone https://github.com/n-ce/ytify --depth 1
```
or
```
gh repo clone n-ce/ytify -- --depth 1
```
3. Move to Directory, Update & Install Dependencies
```
cd ytify ; npm run update; npm i
```
4. If you prefer using DevTools, you may disable eruda in [`vite.config.ts`](https://github.com/n-ce/ytify/blob/main/vite.config.ts)
`injectEruda(false),`
5. Start the development server and open localhost
```
npm run dev -- --open
```
6. Learn More at our [wiki](https://github.com/n-ce/ytify/wiki).
#### Vite building the project on my entry-level phone.
```bash
vite v6.0.11 building for production...
β 56 modules transformed.
dist/manifest.webmanifest 1.00 kB
dist/index.html 15.98 kB β gzip: 4.12 kB
dist/assets/UpdatePrompt-BVWVWGFX.css 0.72 kB β gzip: 0.40 kB
dist/assets/ActionsMenu-CZvdWJ42.css 0.91 kB β gzip: 0.45 kB
dist/assets/Settings-tEADDnJ_.css 2.25 kB β gzip: 0.73 kB
dist/assets/index--EX9VXLN.css 20.68 kB β gzip: 5.01 kB
dist/assets/enqueueRelatedStreams-DdHTYd6g.js 0.35 kB β gzip: 0.27 kB
dist/assets/extractColorFromImage-Cxdm9n2W.js 0.62 kB β gzip: 0.42 kB
dist/assets/setAudioStreams-BVS_1Ljb.js 0.84 kB β gzip: 0.56 kB
dist/assets/setDiscoveries-TaEtEbHx.js 0.93 kB β gzip: 0.54 kB
dist/assets/virtual_pwa-register-CvOwgYno.js 0.96 kB β gzip: 0.55 kB
dist/assets/UpdatePrompt-D5n4sX3r.js 1.09 kB β gzip: 0.62 kB
dist/assets/supermix-BtwNGR11.js 1.11 kB β gzip: 0.68 kB
dist/assets/importPipedPlaylists-B2u7XIyS.js 1.24 kB β gzip: 0.60 kB
dist/assets/Lyrics-zDQNW8E2.js 1.24 kB β gzip: 0.80 kB
dist/assets/start-BQEMUpCE.js 1.95 kB β gzip: 1.06 kB
dist/assets/partsManager-DmWC75D0.js 1.96 kB β gzip: 0.67 kB
dist/assets/WatchOnYtify-LiGdckDA.js 2.84 kB β gzip: 1.22 kB
dist/assets/ActionsMenu-BzqUfV6s.js 4.06 kB β gzip: 1.72 kB
dist/assets/workbox-window.prod.es5-DL_hIMXg.js 5.72 kB β gzip: 2.36 kB
dist/assets/en-D06fOH0-.js 11.19 kB β gzip: 3.67 kB
dist/assets/pl-D1p_NQ5j.js 11.99 kB β gzip: 4.26 kB
dist/assets/Settings-CBM8jAms.js 13.25 kB β gzip: 4.38 kB
dist/assets/index-pbIhJqLG.js 89.34 kB β gzip: 32.19 kB
dist/assets/hls-CySapf1N.js 399.85 kB β gzip: 123.78 kB
β built in 9.51s
```
## Translations πΊοΈ
[](https://hosted.weblate.org/engage/ytify/)
ytify is being translated into multiple languages using [Weblate](https://hosted.weblate.org/projects/ytify/web).
## Acknowledgements π
- [Uma](https://github.com/n-ce/Uma) - Instances Manager
- [Piped](https://github.com/teampiped/piped) - YouTube Data API & Adaptive Streaming Proxy
- [Invidious](https://invidious.io) - YouTube Data API & Progressive Streaming Proxy
- [Hyperpipe](https://codeberg.org/Hyperpipe/hyperpipe-backend) - YT Music Artist Data API
- [Cobalt](https://github.com/wukko/cobalt) - YouTube Download API
- [LRCLIB](https://lrclib.net) - Synced Lyrics Provider
- [wsrv](https://wsrv.nl) - Image Proxy Provider
- [Solid](https://github.com/solidjs/solid) - Delightful JSX Library
- [HLS.js](https://github.com/video-dev/hls.js) - HLS Support Library
- [Netlify](https://www.netlify.com) - Hosting, PR Previews, User Feedback Forms, Edge Functions
- [Vite](https://vitejs.dev) - Development Server, Code Bundling, Project Scaffolding.
- [Autoprefixer](https://github.com/postcss/autoprefixer) - CSS Prefixes Solution.
- [Remix Icons](https://github.com/Remix-Design/RemixIcon) - Efficient Icon Solution.
- [Google Fonts](https://fonts.google.com) - NotoSans Font.