什么是 youshandefeiyang/allinone ?
allinone
是斗鱼,虎牙,抖音等直播平台的直播源代理程序,可以直接观看多个流畅完美满血4K
源。除了docker
外,还提供了主流平台的二进制文件,包括exe
格式。
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 youshandefeiyang
,选择第一个 youshandefeiyang/allinone
,双击直接下载。
权限
勾选 使用高权限执行容器
端口
本地端口不冲突就行,不确定的话可以用命令查一下
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 | 容器端口 |
---|---|
35455 |
35455 |
命令行安装
docker cli 安装
如果你熟悉命令行,可能用 docker cli
更快捷
# 运行容器
docker run -d
--restart unless-stopped
--name allinone
--net=host
--privileged=true
-p 35455:35455
youshandefeiyang/allinone
docker-compose 安装
docker-compose
除了 allinoe
外,还增加了一个镜像 av3a-assistant
,这是一个 golang
版本的ffmpeg-av3a
推流工具,自动控制推拉流启停,监控推拉流状态,适合多人共享观看(自己一个人观看建议切 4K/8K
台耐心等 20-30
秒左右,可以先切到 4K/8K
台,然后推流工具接收到 m3u8
请求,会开启推流生成 ts
和 m3u8
文件,不要着急,耐心等 30
秒左右,8K
满血建议等四五十秒,等待期间可以去看其他非4k/8k
台)
以上内容援引自软件作者在恩山论坛写的产品介绍和上传的图片
当时是为了解决 4K
和 8K
源的声音问题,但据说现在基本用不上了,安卓和苹果已经支持av3a
三维菁彩声(Audio Vivid
)了。以防万一吧,反正文件也不大
将下面的内容保存为 docker-compose.yml
文件
services:
av3a-assistant:
image: youshandefeiyang/av3a-assistant:amd64
container_name: av3a-assistant
privileged: true
restart: unless-stopped
ports:
- "35442:35442"
allinone:
image: youshandefeiyang/allinone
container_name: allinone
privileged: true
restart: unless-stopped
ports:
- "35455:35455"
然后执行下面的命令
# 新建文件夹 allinone
mkdir -p /volume1/docker/allinone
# 进入 allinone 目录
cd /volume1/docker/allinone
# 将 docker-compose.yml 放入当前目录
# 一键启动
docker-compose up -d
运行
在浏览器中输入 http://群晖IP:35455
,如果看到 请求成功!
,表示服务已经正常启动
如果采用
docker-compose
安装,访问http://群晖IP:35442
也是一样的;
和之前介绍的 Guovin/TV
、pixman/pixman
一样,allinone
也没有界面
内置接口
和 pixman/pixman
一样,也支持多个接口
直播源 | 接口 |
---|---|
聚合TV |
http://群晖IP:35455/tv.m3u |
TPTV |
http://群晖IP:35455/tptv.m3u |
BiliBili 生活 |
http://群晖IP:35455/bililive.m3u |
虎牙一起看 | http://群晖IP:35455/huyayqk.m3u |
斗鱼一起看 | http://群晖IP:35455/douyuyqk.m3u |
YY 轮播 |
http://群晖IP:35455/yylunbo.m3u |
还有更多的参数选项,来指定流媒体传输方式、线路选择、画质参数、CDN
切换等,请阅读官方的使用说明:https://pan.v1.mk/每期视频中用到的文件分享/allinone二进制文件/使用说明.md
进阶
镜像更新
大家都知道源是有时效性的,所以保持镜像的更新是很重要的,可以通过 watchtower
来实现这一点
# 配置 watchtower 每天凌晨两点自动监听 allinone 镜像更新
docker run -d
--name watchtower
--restart unless-stopped
-v /var/run/docker.sock:/var/run/docker.sock
containrrr/watchtower
allinone -c --schedule "0 0 2 * * *"
直播源格式化工具
默认情况下,allinone
的接口是 m3u
格式,如果你的播放器只支持 txt
格式 ,可以使用镜像 yuexuangu/allinone_format
对镜像 youshandefeiyang/allinone
的 m3u
进行重新分组格式化
-
第一步、启动 yuexuangu/allinone_format
# 运行容器
docker run -d
--restart=always
--name allinone_format
-p 35456:35456
yuexuangu/allinone_format:latest
-
第二步、请求参数
格式如下:
http://群晖IP:35456/tv.php?h=allinoneIP&p=allinonePort&m=1&t=0
请求参数说明:
h 可选参数 allinone 项目部署的内外网 IP或域名(不能使用 127.0.0.1),默认值 = 请求的内网IP
p 可选参数 allinone 项目部署的端口, 默认值 = 35455
m 可选参数 是否对频道连接进行聚合,默认值 1=聚合(强烈推荐) 0=不聚合(仅推荐不支持聚合格式的壳子使用)
t 可选参数 输出格式 默认值 0=m3u, 1=text
一个示例
# 聚合并输出 text 格式
http://192.168.0.197:35456/tv.php?h=192.168.0.197&p=35455&m=1&t=1
浏览器中的输出
更详细的用法,可以参考官方说明:https://hub.docker.com/r/yuexuangu/allinone_format