{"id":19751479,"url":"https://github.com/zanjie1999/httprandommusic","last_synced_at":"2025-04-09T16:20:02.098Z","repository":{"id":136606060,"uuid":"571409878","full_name":"zanjie1999/httpRandomMusic","owner":"zanjie1999","description":"让小爱音箱播放局域网NAS上的音乐 随机http音乐播放服务","archived":false,"fork":false,"pushed_at":"2025-04-04T14:24:29.000Z","size":51,"stargazers_count":212,"open_issues_count":0,"forks_count":31,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-09T16:19:56.539Z","etag":null,"topics":["esp32","http","music-player","streaming","xiaomi"],"latest_commit_sha":null,"homepage":"https://www.bilibili.com/video/BV1vs4y1A73V","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zanjie1999.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2022-11-28T04:02:59.000Z","updated_at":"2025-04-07T08:54:49.000Z","dependencies_parsed_at":"2024-05-08T08:44:01.371Z","dependency_job_id":null,"html_url":"https://github.com/zanjie1999/httpRandomMusic","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zanjie1999%2FhttpRandomMusic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zanjie1999%2FhttpRandomMusic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zanjie1999%2FhttpRandomMusic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zanjie1999%2FhttpRandomMusic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zanjie1999","download_url":"https://codeload.github.com/zanjie1999/httpRandomMusic/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248065281,"owners_count":21041872,"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","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":["esp32","http","music-player","streaming","xiaomi"],"created_at":"2024-11-12T02:44:19.697Z","updated_at":"2025-04-09T16:20:02.093Z","avatar_url":"https://github.com/zanjie1999.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# httpRandomMusic\n本项目能让你的小爱音箱播放局域网NAS上的音乐  \n因为小爱play增强版的BES2300太垃圾了，曲库没一首歌能够完整放完的  \n\n当然了这个程序还能配合esp8266或esp32作为随机的音乐电台\n\n### 如何部署\n在你的nas上安装Python3，下载并打开`httpRandomMusic.py`，编辑`fileDir`变量，填写你存放音乐的文件夹的完整路径  \n如果你是Windows服务器，那你的路径可能是`E:\\音乐`的，要把`\\`换成`/`  \n\n如果您需要在线转码，请修改`ffmpeg`变量，填写你的ffmpeg路径，比如群晖的是`/var/packages/VideoStation/target/bin/ffmpeg`  \n如果不需要请留空，既改成`ffmpeg = ''`\n如果您不知道您的音响到底能不能放flac等比较先进的音频格式，可以先留空试试，如果不能播放，再填写ffmpeg路径，因为音频会实时转成没有任何压缩的wav格式，所以服务端需要相对较高的局域网带宽和性能\n\n#### 在2024/04/13修改了需要重写的解析的地址，在红米小爱play测试通过\n然后修改路由器的hosts，加入这样一行，或者直接将服务器主机名改成`zyym.ie`\n```\n你服务器的ip zyym.ie\n```\n就算你使用别的方式也好，只要将`zyym.ie`这个不存在的域名在你局域网解析到你的服务器就行了  \n劫持失败请在 路由器后台 -\u003e 网络 -\u003eDHCP/DNS-\u003e 一般设置 -\u003e 重绑定保护（丢弃 RFC1918 上行响应数据），把这个的勾去掉 保存应用  \n然后启动程序  \n如果你没有正确的配置解析或是主机名，程序将报错并拒绝启动  \n请不要自作聪明的将程序里的op改成别的来尝试启动，绝对用不了  \n```\n# 正常是这样启动的\npython3 httpRandomMusic.py\n# Windows可能是这样的\npython httpRandomMusic.py\n```\n\n### 验证部署\n用其他设备浏览器访问 http://zyym.ie:65533 能正常播放  \n如果你可以进去小爱音响的shell，那么尝试 `curl -v http://zyym.ie:65533`  \n此时控制台会有响应的输出  \n如果能验证通过但还是用不了，请尝试重启，并确保dns真的成功劫持了，因为只要能解析就一定能用\n\n### 如何使用\n```\n小爱同学\n打开小怪\n```\n然后以下三条指令三选一\n|指令|功能|\n|----|----|\n|播放服务器的音乐|按着上次的进度继续播放（没有进度就是从头放）|\n|从头播放服务器的音乐|按修改时间倒序播放（先放最后放进文件夹的文件）|\n|随机播放服务器的音乐|随机播放（播放列表打乱，不会重复随机到同一首）|\n\n### FAQ\nQ:为什么不做文件名搜索功能？  \nA:因为与技能的网抑云歌曲搜索功能冲突（搜索xxx，播放xxx），以及这只是个附属功能，小爱同学只支持中文语音识别，所以搜索非常局限  \n\nQ:为什么只支持一层文件夹内文件播放？  \nA:因为没有写多层文件夹文件扫描，以及加快扫描速度，欢迎PR  \n\nQ:怎么放不出声音？  \n~~A:文件格式不支持，BES2300的音响性能太差，跑的是NuttX而不是旧款的Openwrt，使用了裁剪的ffmpeg，大概只能放mp3（印着xiaomi的小爱音响play和play增强版）~~  \n已支持使用ffmpeg实时转码成wav，支持所有格式，你甚至可以将视频当音频放\n\nQ:群晖怎么用？  \nA:在软件中心安装Python3，如果需要ffmpeg实时转码还需要安装VideoStation，然后将本程序放到一个你喜欢的地方，在计划任务添加一个开机启动，命令是`python3 你的路径/httpRandomMusic.py`，然后手动点击一下运行，就可以用了\n\n\n### 协议 咩License\n使用此项目视为您已阅读并同意遵守 [此LICENSE](https://github.com/zanjie1999/LICENSE)   \nUsing this project is deemed to indicate that you have read and agreed to abide by [this LICENSE](https://github.com/zanjie1999/LICENSE)   \n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzanjie1999%2Fhttprandommusic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzanjie1999%2Fhttprandommusic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzanjie1999%2Fhttprandommusic/lists"}