ITADN
namidaco/namida
namidaco/namida · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

Namida

一款美观且功能丰富的音乐与视频播放器,支持 Youtube,基于 Flutter 构建

Hits-of-Code

 

章节:

🎉 功能

  • 除了以下功能外,还包含你可能期望音乐播放器具备的所有功能:

媒体库与索引

  • 强大的索引器与标签编辑器,由 @jaudiotagger taglib 自 v6.4.0 起提供支持。
  • 艺术家与流派分隔符。
  • 防止重复曲目。
  • 设置最小文件大小与时长。
  • 基于文件夹的媒体库系统,同时支持排除特定文件夹。
  • 按曲目或专辑的几乎任何属性进行排序。等等。

外观与风格

  • 类似 Material3 的主题。
  • 动态主题,播放器颜色取自当前专辑封面。
  • 主页、曲目、专辑、艺术家、流派、播放列表、队列和文件夹页面。
  • 波形进度条。
  • 大量自定义选项(查看自定义章节)。

流媒体与 YouTube

  • 最佳视频与音频质量
  • 仅音频与省流模式
  • 支持下载、缓存与离线播放
  • 支持手势的视频视图(滑动控制音量,双击快进/快退,上滑/捏合进入全屏,滑动快进/快退,长按 2 倍速播放等)
  • SponsorBlock 与 Return Youtube Dislike 集成
  • 视频片段与热力图
  • 省流模式
  • 缓存优先级系统以保留重要内容
  • 下载标签配置
  • 可选的下载与记录播放时的自动标题/艺术家/专辑提取
  • 下载输出文件名构建器(类似于 yt-dlp)
  • 多库支持(本地/YT/Subsonic/WebDAV)
可用格式 & 示例
  • 格式:

    • video_id, id: 视频标识符
    • video_url, url: 视频完整 URL (https://www.youtube.com/watch?v=`id`)
    • video_title, fulltitle: 视频完整标题
    • title: 从视频标题中提取的音乐标题 (Navjaxx - Fading Light (Slowed))
    • artist: 从视频标题中提取的音乐艺术家 (*Navjaxx - Fading Light (Slowed)*) 否则为 channel
    • genre: 音乐流派。当视频标题包含 "nightcore" 时,自动设置为 Nightcore
    • ext: 格式容器扩展名 (mp4, m4a, webm)。这不是必需的,因为它会自动添加
    • channel_fulltitle: 频道完整名称
    • channel, uploader: 频道名称(不包括 - Topic
    • channel_id, uploader_id: 频道 ID
    • channel_url, uploader_url: 频道 URL
    • timestamp: 视频的 UNIX 时间戳(自 epoch 以来的毫秒数)
    • upload_date: 视频的上传日期,转换为本地时间 (yyyyMMdd)
    • view_count: 视频的观看次数
    • like_count: 视频的点赞次数
    • description: 视频描述。链接以 markdown 样式包裹
    • duration: 视频时长(秒)(204)
    • duration_string: 视频时长格式化 (3:24)
    • playlist_title: 包含该视频的歌单标题
    • playlist_id: 包含该视频的歌单 ID
    • playlist: 如果可用则为 playlist_title,否则为 playlist_id
    • playlist_count: 歌单中的视频总数
    • playlist_index: 视频在歌单中的索引(从 0 开始)
    • playlist_autonumber: 视频在歌单中的位置(从 1 开始)
    • none: 空字段。用于标签覆盖其他设置
  • 示例:

# [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

其他:

  • 歌词自动获取与显示(同步 & 纯文本)+ 支持逐字同步 lrc/ttml。
  • 睡眠定时器(按曲目或分钟)
  • 交叉淡化、播放/暂停淡入淡出效果,以及跳过静音。
  • 重放增益(音频标准化)
  • 控制暂停场景(来电、通知、音量为 0 等)
  • 按标题、艺术家、专辑、文件名,甚至歌词等进行曲目搜索。
  • 全局曲目选择
    • 允许你从多个位置选择到同一个列表中。
  • 永不丢失你的会话!
    • 持久且可靠的队列系统,你的会话会被保存以供后续使用。
  • 可靠的历史记录系统
    • 尽管是一个灵活的系统(易于修改、操作、导入),它允许你指定计入收听的最小秒数/百分比。
  • 最常播放播放列表
    • 根据你的历史记录找出你的热门曲目。
  • 自定义播放列表顺序 & 设置自定义封面的功能
  • 曲目和视频的左滑 & 右滑操作
  • 封面手势(轻点与长按)
  • 支持文件夹的 cover.jpg 等图片,以及用于显示小信息的 .info.txt

一些额外的酷炫功能:

  • Smort Tracks 生成:

    • 呃.. 借助为您带来的这项高级算法,您可以生成与当前正在播放的曲目相关的曲目,通常是您在同一时期经常播放的那些曲目。基于您的历史记录。
    • 此外,您还可以生成在相近时间发布的曲目,或来自特定时间范围的曲目,基于评分,基于可用情绪,或随机生成。
  • 动态缩略图:

    • 一个随当前音频峰值动画的缩略图,看起来很酷。
  • 迷你播放器派对模式:

    • 应用边缘呼吸效果,颜色可以是静态的或动态的(所有颜色均从封面艺术中提取)
  • 粒子效果

    • 它们也会随音频峰值加速
  • 曲目播放模式

    • 从搜索中播放时,您可以选择播放:仅所选曲目、搜索结果、专辑、首位艺术家或首位流派。
  • 插入到最新插入之后

    • 想要连续插入多首曲目?这将为您解围。
  • 重复 N 次

    • 除了常规重复模式(全部、无、单曲)外,此模式允许您在播放下一首曲目之前将当前曲目重复指定次数。
  • 提取 feat. 和 ft. 艺术家

    • 您不会错过标题中的特邀艺术家,他们将在艺术家标签页中拥有自己的条目。
  • 深入您的记忆

    • 找出您忘记的长期伴侣,“遗失的记忆”允许您遇到您在此时左右但 n 年前听过的曲目
  • “最常播放”页面还允许你指定时间范围,展示你在那个时期最喜爱的曲目

    • 队列中的“推荐”曲目添加功能让你可以添加你通常与当前曲目一起播放的曲目
    • 队列中的“相似发行日期”曲目添加功能让你可以添加与当前曲目发行时间相近的曲目
  • 可导入 YouTube 历史记录

  • 也支持 Last.fm,未来可能还会支持更多

  • 你会在设置和对话框内发现相当多的选项/自定义项,所以务必查看一下。

视频集成

  • 对于本地库,Namida 能够播放与音乐相关的视频,视频可以来自本地或从 youtube 获取
本地化程度如何?
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.
3. track youtube id (in track comment tag/filename, see "#How youtube?" section below).
note: some cleanup is made to improve the matching, all symbols & whitespaces are ignored.
如何使用 YouTube?
  • 在 track comment 标签(通常由 @yt-dlp 处理)或文件名中查找匹配的 youtube 链接,如果找到则开始下载(并缓存),待就绪后播放,在此处进行流式传输并非好主意,因为优先级在于音乐文件本身。
    • 对于 comment 标签,任何 url 格式都应能正常匹配。
    • 对于文件名,必须包含 v=video_idid=video_id 才能被匹配。
  • 自 v4.0.0 起,支持完整的视频库索引与播放,视频现在可以独立播放,并新增了专用的视频文件夹视图。

截图

自定义设置

YouTube 迷你播放器


使用预览

动画缩略图推荐与收听

安装

平台
稳定版
测试版
Android
Windows
Linux 即将推出

Linux 安装

  1. 安装依赖项

[!IMPORTANT] 安装依赖项:mpv 用于播放 (如果你使用了包管理器,可以跳过此步骤)

sudo pacman -S mpv     # Arch/Manjaro
sudo apt install mpv   # Debian/Ubuntu/Mint
sudo dnf install mpv   # Fedora/RHEL

[!NOTE] (可选)安装 wpe 以支持登录(或下载 *_login 变体)

# Arch/Manjaro
sudo pacman -S wpewebkit

# Debian/Ubuntu/Mint
sudo apt install libwpewebkit-2.0-1

# Fedora/RHEL
sudo dnf install dnf-plugins-core
sudo dnf copr enable philn/wpewebkit
sudo dnf install wpewebkit
  1. 安装 Namida
# Quick Install
curl -fsSL https://raw.githubusercontent.com/namidaco/namida/main/scripts/install_linux_tar.sh | sudo bash

# Package managers
yay -Sy namida-bin                  # AUR (Arch Linux)
paru -Sy namida-bin                 # AUR (Arch Linux)
sudo apt install ./namida.deb   # Debian/Ubuntu (download .deb from beta releases)
sudo dnf install ./namida.rpm   # Fedora/RHEL (download .rpm from beta releases)

# Nix (Home Manager) Installation
# Available at: https://codeberg.org/iWisp360/namida-nix

配套应用:

[!TIP] 社区构建的工具,用于增强 namida 体验

  • 🔄 Namida Sync,一款用于在 android、windows 和 linux 之间同步 namida 备份与文件的工具
  • 📊 Namida Charts,一款基于 namida 历史记录,以图表展示年度、月度及其他收听统计的配套应用
  • 🎁 Namida Wrapped,一个用于生成 spotify wrapped 风格统计的本地 web ui

权限说明:

namida 所使用的权限及其原因:

  • WAKE_LOCK & FOREGROUND_SERVICE & FOREGROUND_SERVICE_MEDIA_PLAYBACK: 保持应用存活以进行媒体播放。
  • INTERNET: 用于许多功能,如艺术家/专辑图片、流媒体与下载等。
  • READ_EXTERNAL_STORAGE (Android ≤ 12): 仅列出索引器文件夹中的文件。
  • READ_MEDIA_AUDIO (Android 13+): 仅列出索引器文件夹中的音频文件。
  • READ_MEDIA_VIDEO (Android 13+): 仅列出索引器文件夹中的视频文件(用于视频播放)。
  • READ_MEDIA_IMAGES (Android 13+): 仅列出索引器文件夹中的图片文件(用于备用封面)。
  • WRITE_EXTERNAL_STORAGE (Android ≤ 10): 与下方相同,但限制较少。
  • MANAGE_EXTERNAL_STORAGEall_files_access (Android 10+ / 需要时请求): 用于
    • 编辑音频标签
    • 创建或自动恢复备份
    • 保存封面艺术
    • 删除文件
    • 压缩图片 & 修复 ytdlp 图片
    • 将播放列表导出为 m3u
    • 下载 youtube 内容
    • 从根文件夹播放曲目
    • 应用内文件浏览器
  • VIBRATE: 执行某些操作时的振动/触觉反馈(可在设置中关闭)。
  • POST_NOTIFICATIONS (需要时请求): 发布通知,如历史记录导入/下载进度。
  • REQUEST_IGNORE_BATTERY_OPTIMIZATIONS (需要时请求): 改进下载。
  • WRITE_SETTINGS (需要时请求): 将音频设置为铃声等。
  • QUERY_ALL_PACKAGES: 允许打开自定义均衡器应用。

特别感谢:

  • @MSOB7YY 感谢其 YouTube 客户端,它驱动了 YouTube 部分。
  • @cameralis 感谢其出色的迷你播放器物理效果。
  • @alexmercerind 感谢其给予我的大量帮助。
  • @lusaxweb 感谢其出色的 Iconsax 图标包。
  • 所有使 namida 成为可能的软件包维护者。

翻译

贡献

捐赠

  • 捐赠将有助于改进 namida 并表达感谢。

Buy Me A Coffee Ko-fi

Bitcoin/ETH/USDT (BEP20): 0x95b2834c84def92860df773d8b3d80d4c296d748

  • 如果你喜欢这个项目,别忘了给仓库点个 🌟 star ^^

Social

[!WARNING] 除了 GitHub 和 Telegram,namidaco/namida 没有其他官方网站, 我们不对从其他来源下载的行为负责。

LICENSE

本项目依据 EULA 许可证授权。

© Copyright (C) 2023-present Namidaco <namida.coo@gmail.com>
- 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.

namidaco%2Fnamida | Trendshift

Star History Chart