nas-tools 是 NAS 媒体库资源归集、整理自动化工具。
本软件的初衷是实现影视资源的自动化管理,释放双手、聚焦观影。需要有良好的网络环境及私有站点才能获得较好的使用体验。
docker pull jxxghp/nas-tools:latest
教程见 这里 ,如无法连接Github,注意不要开启自动更新开关(NASTOOL_AUTO_UPDATE=false)。
python3版本,如发现缺少依赖包需额外安装
git clone -b master https://github.com/jxxghp/nas-tools --recurse-submodule
python3 -m pip install -r requirements.txt
export NASTOOL_CONFIG="/xxx/config/config.yaml"
nohup python3 run.py &
下载exe文件,双击运行即可,会自动生成配置文件目录
https://github.com/jxxghp/nas-tools/releases
添加矿神群晖SPK套件源直接安装:
申请TMDB用户,在 https://www.themoviedb.org/ 申请用户,得到API KEY。
申请消息通知服务
微信(推荐):在 https://work.weixin.qq.com/ 申请企业微信自建应用,获得企业ID、自建应用secret、agentid
微信扫描自建应用二维码可实现在微信中使用消息服务,无需打开企业微信
Server酱:或者在 https://sct.ftqq.com/ 申请SendKey
Telegram(推荐):关注BotFather申请机器人获取token,关注getuserID拿到chat_id
Bark:安装Bark客户端获得KEY,可以自建Bark服务器或者使用默认的服务器
Slack:在 https://api.slack.com/apps 申请应用,详情参考频道说明
其它:仍然会持续增加对通知渠道的支持,API KEY获取方式类似,不一一说明
文件转移模式说明:目前支持六种模式:复制、硬链接、软链接、移动、RCLONE、MINIO。
复制模式下载做种和媒体库是两份,多占用存储(下载盘大小决定能保多少种),好处是媒体库的盘不用24小时运行可以休眠;
硬链接模式不用额外增加存储空间,一份文件两份目录,但需要下载目录和媒体库目录在一个磁盘分区或者存储空间;软链接模式就是快捷方式,需要容器内路径与真实路径一致才能正常使用;
移动模式会移动和删除原文件及目录;
RCLONE模式只针对RCLONE网盘使用场景,注意,使用RCLONE模式需要自行映射rclone配置目录到容器中,具体参考设置项小问号说明;
MINIO只针对S3/云原生场景,注意,使用MINIO,媒体库应当设置为/bucket名/类别名,例如,bucket的名字叫cloud,电影的分类文件夹名叫movie,则媒体库电影路径为:/cloud/movie,最好母集用s3fs挂载到/cloud/movie,只读就行。
启动程序并配置:Docker默认使用3000端口启动(群晖套件默认3003端口),默认用户密码:admin/password(docker需要参考教程提前映射好端口、下载目录、媒体库目录)。登录管理界面后,在设置中根据每个配置项的提示在WEB页面修改好配置并重启生效(基础设置中有标红星的是必须要配置的,如TMDB APIKEY等),每一个配置项后都有小问号,点击会有详细的配置说明,推荐阅读。
支持 Emby(推荐)、Jellyfin、Plex,设置媒体服务器后可以对本地资源进行判重避免重复下载,同时能标识本地已存在的资源:
电影
精选 华语电影 外语电影 动画电影
电视剧
国产剧 欧美剧 日韩剧 动漫 纪录片 综艺 儿童
支持qbittorrent(推荐)、transmission、aria2、115网盘等,右上角按钮设置好下载目录。
配置好微信、Slack或Telegram机器人后,可以直接通过微信/Slack/Telegram机器人发送名字实现自动检索下载,以及通过菜单控制程序运行。
由于微信官方限制,2022年6月20日后创建的企业微信应用需要有固定的公网IP地址并加入IP白名单后才能接收到消息,使用有固定公网IP的代理服务器转发可解决该问题
如使用nginx搭建代理服务,需在配置中增加以下代理配置:
```
location /cgi-bin/gettoken {
proxy_pass https://qyapi.weixin.qq.com;
}
location /cgi-bin/message/send {
proxy_pass https://qyapi.weixin.qq.com;
}
```
如使用Caddy搭建代理服务,需在配置中增加以下代理配置(`{upstream_hostport}` 部分不是变量,不要改,原封不动复制粘贴过去即可)。
```
reverse_proxy https://qyapi.weixin.qq.com {
header_up Host {upstream_hostport}
}
```
注意:代理服务器仅适用于在微信中接收工具推送的消息,消息回调与代理服务器无关。
配置微信消息接收服务 在企业微信自建应用管理页面-》API接收消息 开启消息接收服务:
在微信页面生成Token和EncodingAESKey,并在NASTool设置->消息通知->微信中填入对应的输入项并保存。
重启NASTool。
微信页面地址URL填写:http(s)://IP:PORT/wechat,点确定进行认证。
配置微信菜单控制 通过菜单远程控制工具运行,在https://work.weixin.qq.com/wework_admin/frame#apps 应用自定义菜单页面按如下图所示维护好菜单,菜单内容为发送消息,消息内容随意。
一级菜单及一级菜单下的前几个子菜单顺序需要一模一样,在符合截图的示例项后可以自己增加别的二级菜单项。
注意:WebHook受Telegram限制,程序运行端口需要设置为以下端口之一:443, 80, 88, 8443,且需要有以网认证的Https证书。
命令与功能对应关系
命令 | 功能 |
---|---|
/rss | RSS订阅 |
/ptt | 下载文件转移 |
/ptr | 删种 |
/pts | 站点签到 |
/rst | 目录同步 |
/db | 豆瓣想看 |
配置索引器,以支持搜索站点资源:
本工具的电影电视剧订阅、资源搜索、站点数据统计、刷流、自动签到等功能均依赖于正确配置站点信息,需要在“站点管理->站点维护”中维护好站点RSS链接以及Cookie等。
其中站点RSS链接生成时请尽量选择影视类资源分类,且勾选副标题。
如果你的存量资源所在的目录与你目录同步中配置的源路径目的路径相同,则可以通过WEBUI或微信/Telegram的“目录同步”按钮触发全量同步。
如果不相同则可以按以下说明操作,手工输入命令整理特定目录下的媒体资源:
说明:-d 参数为可选,如不输入则会自动区分电影/电视剧/动漫分别存储到对应的媒体库目录中;-d 参数有输入时则不管类型,都往-d目录中转移。
docker exec -it nas-tools sh
python3 -m pip install -r third_party.txt
python3 /nas-tools/app/filetransfer.py -m link -s /from/path -d /to/path
/var/packages/py3k/target/usr/local/bin/python3 -m pip install -r /var/packages/nastool/target/third_party.txt
export NASTOOL_CONFIG=/var/packages/nastool/target/config/config.yaml
/var/packages/py3k/target/usr/local/bin/python3 /var/packages/nastool/target/app/filetransfer.py -m link -s /from/path -d /to/path
python3 -m pip install -r third_party.txt
export NASTOOL_CONFIG=config/config.yaml
python3 app/filetransfer.py -m link -s /from/path -d /to/path
本文向大家介绍多媒体资料库,包括了多媒体资料库的使用技巧和注意事项,需要的朋友参考一下 多媒体数据库用于存储多媒体数据,例如图像,动画,音频,视频以及文本。此数据以多种文件类型的形式存储,例如.txt(文本)、. jpg(图像)、. swf(视频)、. mp3(音频)等。 多媒体数据库的内容 多媒体数据库存储了多媒体数据和与其相关的信息。具体如下- 媒体数据 这是存储在数据库中的多媒体数据,例如
我目前在一个项目中使用Javafx 2,我可能需要长时间无限循环播放一个视频。在windows上,当视频播放时,我的proifiler工具显示非常正常的图片,cpu负载不是很重(在2个内核上运行时约为2x40-50%),内存使用峰值约为250 MB,这是正常的。但是,当我在Ubuntu机器上部署应用程序时,每个内核的cpu负载达到70%左右(尽管它是一个双核atom处理器,所以假设这是正常的),内
获取媒体库视频总量【控制台】 基本信息 Path: /videos/api/get_videos_size Method: GET 接口描述: 请求参数 返回数据 名称 类型 是否必须 默认值 备注 其他信息 errcode number 非必须 data object 非必须 ├─ size number 非必须 视频总量,单位 B 修改视频名称【控制台】 基本信息 Path: /videos/
媒体库管理 新增视频 视频转码通知 获取视频列表 获取暂存视频列表 获取指定视频信息 修改视频信息 删除视频 移动暂存视频到媒体库
41 多媒体源 下面是目前可用的多媒体源的描述 amovie 它同于movie源,除了它选择一个默认音频流。 movie 从影片内容中读取音频和/或视频流 接受下面的参数: filename 要被读取的资源名(不限于文件,可以是设备或者一些协议下的流). format_name, f 对要读取的影片指定格式,可以是容器或者输入设备,如果没有指定,将从影片名中猜测。 seek_point, sp 指
6. 机构媒体库 机构媒体库用于上传和管理音视频,单击右上角“上传文件”按钮,将音视频该库中,还可在该界面搜索、删除原有视频,如下图所示: 上传中的音视频支持暂停、删除和续传等操作,媒体库支持多视频文件格式,包括: 微软格式 wmv/wm/ Real格式 rm/rmvb/ MPEG格式 mpg/mpeg/mpe/vob/ 其他格式 mov/3gp/mp4/mp4v/m4v/mkv/avi/flv/