ffandown是一个m3u8视频下载器,基于ffmpeg实现视频的下载。
ffandown is a m3u8 video downloader,that base on ffmpeg
fix: 修复 ffmpeg 的权限判断错误
feat: 添加批量 URL 支持: 多链接请用逗号分割传参:
https://s8.fsvod1.com/20230428/VTjjzmIu/index.m3u8,https://s8.fsvod1.com/20230524/bW0SZkHJ/index.m3u8
perf: 新增日志分割 perf: 修改页面暗黑主题字体颜色问题 perf: 新增版本更新提示
perf: 优化ffmpeg下载进程超时(death),没有清除进程问题
feat: 新增支持录屏:rtsmp/rtmp,直播结束自动终止
✨ feat:
- 新增多线程转码、
- 支持钉钉消息通知 、
- 新增配置文件自动生成 、
- 优化docker构建方式
🐞 fix:
- 修改bark通知失败问题 、
- 修改config配置目录
基础功能版本:支持m3u8视频下载,以及bark和飞书消息通知,存在bug 此版本需要下载config.ym和对应平台的执行文件,并放在同目录下面。不建议使用此版本
- 依赖安装,
npm install
orpnpm install
- 运行服务:
npm run dev
终端运行npm run pkg
终端运行npm run auto
运行会自动删除dist打包的缓存,并自动pkg打包。打包完成之后,会自动构建新的docker镜像
release平台可执行文件,打包仅打包了常用平台,其他平台架构请使用docker或自行打包
详情请查看build.sh
CMD: docker run -d -p 8081:8081 -v /home/media:/app/media -v /Uses/helson/config:/app/config -v /Uses/helson/logs:/app/logs h55205l/ffandown:v3
/home/media
为下载媒体的目录、默认8081端口
/Uses/helson/config
为配置文件目录
/Uses/helson/logs
为日志文件目录
如果没有config.yml配置文件会采用默认配置,并自动创建配置文件(运行目录config文件夹下面)。
- port: 服务监听的端口
- downloadDir: 下载目录,相对于执行文件位置,或者使用绝对路径(在地址前面加载@)
- webhooks: webhook通知地址,可以使用钉钉或者bark之类软件,
$TEXT
为变量:下载文件的名称(注意变量是纯大写的,仅支持bark)!!!请大家手动修改地址⚠️ - webhookType: bark | 'feishu' | 'dingding'
- thread: 是否开启express 多线程服务(默认不开启)
- downloadThread: 是否开启
ffmpeg
多线程转码 - useFFmpegLib: 是否自动内置ffmpeg,启动服务会自动去下载对应平台的ffmpeg,不启动默认采用本地环境的
服务启动之后,可以看到server runing on port: 8081
的字样
直接在浏览器打开localhost:8081
就可以看到下载页面
或者自己使用API接口创建下载
- 接口地址:
http://localhost:8081/down
- 请求方式:
post
- 请求头:
Content-Type
:application/json
- 参数:
{ name: "videoname", url: "http://playertest.longtailvideo.com/adaptive/bipbop/gear4/prog_index.m3u8" }
使用前记得先编辑指令,修改服务器的地址IP和端口
可以自行部署在linux或者其他服务器上,来实现m3u8
的视频的下载到nas
基本目前的一些小网站视频都是m3u8
的视频