Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/namidaco/namida
A Beautiful and Feature-rich Music & Video Player with Youtube Support, Built in Flutter
https://github.com/namidaco/namida
android android-app android-music-player audio-player beatiful-ui flutter flutter-app flutter-apps flutter-music-app flutter-music-player lastfm music music-player music-player-application player playlist video video-player video-player-application youtube
Last synced: about 8 hours ago
JSON representation
A Beautiful and Feature-rich Music & Video Player with Youtube Support, Built in Flutter
- Host: GitHub
- URL: https://github.com/namidaco/namida
- Owner: namidaco
- License: other
- Created: 2023-02-12T16:36:03.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-01-18T22:22:34.000Z (12 days ago)
- Last Synced: 2025-01-23T11:01:53.832Z (7 days ago)
- Topics: android, android-app, android-music-player, audio-player, beatiful-ui, flutter, flutter-app, flutter-apps, flutter-music-app, flutter-music-player, lastfm, music, music-player, music-player-application, player, playlist, video, video-player, video-player-application, youtube
- Language: Dart
- Homepage:
- Size: 35 MB
- Stars: 2,753
- Watchers: 29
- Forks: 155
- Open Issues: 81
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome-entertainment - namida
README
#
NamidaA Beautiful and Feature-rich Music & Video Player with Youtube Support, Built in Flutter
![](https://img.shields.io/badge/Built%20in-Flutter-%23369FE7)
![](https://img.shields.io/badge/Channel-blue?link=https%3A%2F%2Ft.me%2Fnamida_officialt&logo=telegram&logoColor=white)
![](https://img.shields.io/badge/Chat-blue?link=https%3A%2F%2Ft.me%2F%2BFmdfsgKoGmM1ZGFk&logo=telegram&logoColor=white)
![](https://img.shields.io/badge/Discord-7B55C1?link=https%3A%2F%2Fdiscord.gg%2FWeY7DTVChT&logo=discord&logoColor=white)
![](https://img.shields.io/github/downloads/namidaco/namida/total.svg)
[![Hits-of-Code](https://hitsofcode.com/github/namidaco/namida?branch=main)](https://hitsofcode.com/github/namidaco/namida/view?branch=main)
[![](https://img.shields.io/endpoint?url=https://ghloc.vercel.app/api/namidaco/namida/badge?style=flat&logo=dart&logoColor=aqua&label=Total%20Lines&color=darkturquoise)](https://ghloc.vercel.app/namidaco/namida?branch=main)
# Sections:
- [Features](#-features)
- [Library \& Indexing](#library--indexing)
- [Look \& Feel](#look--feel)
- [Streaming & Youtube](#streaming--youtube)
- [Others](#others)
- [Some additional cool features](#some-additional-cool-features)
- [Video Integration](#video-integration)
- [Screenshots](#screenshots)
- [Usage Preview](#usage-preview)
- [Installation](#installation)
- [Permission Note](#permission-note)
- [Special Thanks](#special-thanks)
- [Contribute](#contribute)
- [Donate](#donate)
- [Social](#social)
- [LICENSE](#license)# 🎉 Features
- Everything you might expect from a music player, in addition to the following:
## Library & Indexing
- Powerful Indexer & Tag Editor, powered by @jaudiotagger.
- Artists and Genres Separators.
- Prevent Duplicated Tracks.
- Set Minimum File Size & Duration.
- Folders-based Library system, with the ability to exclude folders as well.
- Sort by almost any property of the track or the album.. etc.## Look & Feel
- Material3-like Theme.
- Dynamic Theming, Player Colors are picked from the current album artwork.
- Home, Tracks, Albums, Artists, Genres, Playlists, Queues and Folders Pages.
- Waveform Seekbar.
- Lots of customizations (check out [customization section](#customization-settings)).## Streaming & Youtube
- Best Video & Audio Quality
- Audio Only Mode
- Support Downloads, Caching & Offline Playback
- Video View with gestures support (swipe to control volume, double tap to seek, swipe up/pinch in to enter fullscreen, etc)
- Edit tags for downloads
- Optional Auto title/artist/album extraction for downloads and scrobbling
- Downloads output filename builder (similar to yt-dlp)Available formats & example
- Formats:
- `video_id`, `id`: video identifier
- `video_url`, `url`: video full url (https://www.youtube.com/watch?v=`id`)
- `video_title`, `fulltitle`: video full title
- `title`: extracted music title from video title (*Navjaxx - **Fading Light** (Slowed)*)
- `artist`: extracted music artist from video title (***Navjaxx** - Fading Light (Slowed)*) or else `channel`
- `genre`: music genre. automatically set to ***Nightcore*** when the video title contains "nightcore".
- `ext`: format container extension (mp4, m4a, webm). this is not necessary as it would be added automatically
- `channel_fulltitle`: channel full name
- `channel`, `uploader`: channel name (excluding ` - Topic`)
- `channel_id`, `uploader_id`: channel id
- `channel_url`, `uploader_url`: channel url
- `timestamp`: UNIX timestamp of the video (milliseconds since epoch)
- `upload_date`: upload date of the video, converted to local time (yyyyMMdd)
- `view_count`: view count of the video
- `like_count`: like count of the video
- `description`: video description. links are wrapped in a markdown style
- `duration`: video duration in seconds (204)
- `duration_string`: video duration formatted (3:24)
- `playlist_title`: title of the playlist containing the video
- `playlist_id`: id of the playlist containing the video
- `playlist`: `playlist_title` if available or else `playlist_id`
- `playlist_count`: total videos count in the playlist
- `playlist_index`: index of the video in the playlists (starts at 0)
- `playlist_autonumber`: position of the video in the playlists (starts at 1)
- `none`: empty field. useful for tags to override any other settings- Example:
```bash
# [04] music title [(channel name)]
[%(playlist_autonumber)s] %(title)s [(%(channel)s)]# saving to separate folders
# music playlist/02. music title.m4a
%(playlist)s/%(playlist_autonumber)s. %(title)s.%(ext)s
```## Others:
- Lyrics auto fetching & displaying (Synced & Plain).
- Sleep Timer (Tracks or Minutes)
- Crossfade, Play/Pause Fade Effect, along with Skip Silence.
- Replay Gain (Normalize Audio)
- Control pausing scenarios (calls, notifications, volume 0, etc..)
- Define parameters to use for filtering tracks in search lists.
- Global Tracks Selection
- allows u to select from multiple places into the same list.
- Never miss your sessions!
- persistent and reliable queue system, your sessions are saved for later usage.
- Reliable History System
- despite being a flexible system (easily modified, manipulated, imported), it lets u specifiy minimum seconds/percentage to count a listen.
- Most Played Playlist
- find out your top tracks based on your history record.## Some additional cool features:
- Smort Tracks Generation:
- uuh.. with dis advanced algorithm brought for you, u can generate tracks related to one you currently listening to, typically the ones that you often listened to in the same period. based on your history.
- also u can generate tracks released around the same time, or from specific range of time, from ratings, from available moods, or randomly.
- Animating Thumbnail:
- A thumbnail that animates with the current audio peak, looks cool.
- Miniplayer Party Mode:
- Applies an edge breathing effect, colors can be static or dynamic (all the colors extracted from the artwork)
- Particles Effect
- they speed up with the audio peak too
- Track Play Mode
- when playing from search, you can selected wether to play: selected track only, search results, album, first artist or first genre.
- Insert after latest inserted
- Want to insert multiple tracks one after each other? this will get your back.
- Repeat for N times
- in addition to normal repeat modes (all, none, one), this one lets you repeat the track for number of times before playing the next track.
- Extract feat. & ft. artist
- u won't miss the featured artists in the title, they'll have their own entry inside artists tab.
-CAN IMPORT YOUTUBE HISTORY
-LASTFM TOO AND MAYBE MORE IN FUTURE
- you gonna find decent amount of options/customizations in the settings and inside dialogs so make sure to check them out.# Video Integration
- For Local Library, Namida is capable of playing videos related to the music, Video can be found either locally or fetched from youtube
###### How locally?
typically looks (inside the folders you specificed) for any matching title, matching goes as following:
-- Alan walker - Faded.m4a
-- video alAn WaLkER - faDed (480p).mp4
the video filename should contain at least one of the following:
1. the music filename as shown above.
2. title & first artist of the track.
note: some cleanup is made to improve the matching, all symbols & whitespaces are ignored.###### How youtube?
- looks up in the track comment tag (as they are mostly done by @yt-dlp) or filename for any matching youtube link, if found then it starts downloading (and caches) and plays once it's ready, streaming here isn't a good idea as the priority goes for the music file itself.
- for comment tag, any url format should get matched normally.
- for filenames, it should contain `v=video_id` or `id=video_id` in order to get matched.
- Since v4.0.0, full video library indexing & playback is supported, videos can now be played independently, as well as dedicated videos folder view.
# Screenshots
### Customization Settings
### YouTube Miniplayer
### Usage Preview
Animating Thumbnail | Recommends & Listens
:-------------------------:|:-------------------------:
|# Installation
- Stable downloads: [stable-releases](https://github.com/namidaco/namida/releases)
- Beta downloads: [beta-releases](https://github.com/namidaco/namida-snapshots/releases)
- Available variants are `arm` & `arm64`### Permission Note:
##### the following actions require `all_files_access` permission (requested when needed)
> - editing audio tags
> - creating or auto-restoring backups
> - saving artworks
> - compressing images
> - downloading youtube content
> - playing tracks from a root folder### Special Thanks:
> - [@MSOB7YY](https://github.com/MSOB7YY) for their youtube client, which powers youtube section.
> - [@cameralis](https://github.com/cameralis) for their awesome miniplayer physics.
> - [@alexmercerind](https://github.com/alexmercerind) for helping me out a lot.
> - [@lusaxweb](https://github.com/lusaxweb) for their awesome Iconsax icon pack.
> - All packages' maintainers which made namida possible.
>> ### © Logo by @midjourney
> ###### thanks [@sujxl24](https://github.com/sujxl24) for the monet version# Contribute
- You can help translating Namida to your language on [translation repo](https://github.com/namidaco/namida-translations)
- Building is not currently possible, see why on https://github.com/namidaco/namida/issues/37#issuecomment-1780341883# Donate
- Donation will help improve namida and will show appreciation.
[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/U7U0PF2L5)
> Bitcoin: bc1ql802k98ml3aum4v2cm9am4kg2lm5w8w6w2xlhh
> ETH/MATIC: 0x13f1a519228C83BBbDE11BAF804515672f9C6c2A
- Don't forget to 🌟 star the repo if you like the project.
# Social
- join us on our platforms for updates, tips, discussion & ideas
- [Telegram (Updates)](https://t.me/namida_official)
- [Telegram (Chat)](https://t.me/+FmdfsgKoGmM1ZGFk)
- [Discord](https://discord.gg/WeY7DTVChT)
# LICENSEProject is licensed under [EULA](https://github.com/namidaco/namida/blob/main/LICENSE) License.
```
© Copyright (C) 2023-present Namidaco
- You may read/compile/modify the code for your personal usage, or for the purpose of contribution for the software.
- Redistributing the program as a whole under different name or license without permission is not allowed.
```