【含问题处理】synctv+alist+阿里云盘实现低成本视频直播,和你的朋友一起聊天看剧

因为国内支持多人实时看剧的,好像只有爱奇艺,而且爱奇艺这个没有会员体验不好,还有爱奇艺的剧集谐和种类不全也是个问题,所以想照更好的方案,就刚好发现这个方案就很不错,体验下来也挺好。

准备条件:

  • 一台独立IP的服务器
  • 系统为debian11
  • 一个阿里云盘账户(100G/800G/3T的都可以)
  • 一个域名

1.安装alist

curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s install

2.alist关联阿里云盘

访问https://alist.nn.ci/tool/aliyundrive/request,然后选择Scan QrCode,打开手机扫码,再点已经扫过,然后会跳转,保存这里的Key。

这个key就是添加储存时候阿里云盘需要的。

3.安装docker相关的组件

wget -qO- get.docker.com | bash
systemctl start docker
systemctl enable docker
apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
apt-get install docker-compose

4.安装synctv

mkdir synctv && cd synctv

创建docker-compose.yml 描述文件(两个参数文件备用,用其中一个就好)

vim docker-compose.yaml
version: "3.3"    #这是docker-compose文件版本的声明
services:
 synctv:       #服务的别名,可以自定义
  container_name: synctv     #容器名,可以自定义
  ports:
    - '8080:8080'   #端口,左侧的8080可以自定义,映射到容器内部,右侧是容器内部端口
  environment:
    - PUID=0    # 用户ID,在终端输入id可以查看到当前用户的id
    - PGID=0    # 组ID同上
    - TZ=Asia/Shanghai   # 时区,可以自定义
  restart: always      # 开启自启动其他选项看以下备注
  volumes:
    - './data:/root/.synctv'   # 数据持久目录映射
  image: synctvorg/synctv    # 镜像名,一般都是使用的哪个镜像就写哪个镜像
version: "3.3"    #这是docker-compose文件版本的声明
services:
 synctv:       #服务的别名,可以自定义
  container_name: synctv     #容器名,可以自定义
  ports:
  - '8080:8080'   #端口,左侧的8080可以自定义,映射到容器内部,右侧是容器内部端口
  environment:
  - PUID=0    # 用户ID,在终端输入id可以查看到当前用户的id
  - PGID=0    # 组ID同上
  - TZ=Asia/Shanghai   # 时区,可以自定义
  restart: always      # 开启自启动其他选项看以下备注
  volumes:
  - './data:/root/.synctv'   # 数据持久目录映射
  image: synctvorg/synctv    # 镜像名,一般都是使用的哪个镜像就写哪个镜像

运行容器

docker-compose up -d

5.将alist关联到synctv

在用户详情,点击头像,点绑定平台,建议直接添加IP加端口的形式(此项待定,实测IP加端口会让alist的onedrive视频播放在synctv中有问题)。

6.反代synctv

反代参数,宝塔用户直接把这个填到网站的配置参数,不需要特地的用宝塔添加反代(主要是宝塔的反代使用有些问题)

 location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Protocol $scheme;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header Range $http_range;
proxy_set_header If-Range $http_if_range;
client_max_body_size 20m;
proxy_http_version 1.1;
}

另外宝塔用户要注意删除了这些代码:

location ~ ^/(.user.ini|.htaccess|.git|.svn|.project|LICENSE|README.md
location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
location ~ .*.(js|css)?$

7.一些注意事项

7.1 阿里云盘反代注意事项

反代参数

 location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Range $http_range;
proxy_set_header If-Range $http_if_range;
proxy_redirect off;
proxy_pass http://127.0.0.1:5244;
# the max size of file to upload
client_max_body_size 20000m;
}

另外宝塔用户要注意删除了这些代码:

location ~ ^/(.user.ini|.htaccess|.git|.svn|.project|LICENSE|README.md
location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
location ~ .*.(js|css)?$

7.2 synctv设置反代注意事项

如果宝塔用户可能会保存不了,需要将map代码块补上,参考这个文章:https://vilark.com/493.html

7.3 程序怎么更新

alist更新:

curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s update

synctv更新

docker-compose pull && docker-compose down && docker-compose up -d

7.4 分享连接无效

必须用域名反代才能分享链接。

7.5 怎么看程序是否正常

alist:

Start: systemctl start alist
Shutdown: systemctl stop alist
Status: systemctl status alist
Restart: systemctl restart alist

docker(synctv容器):

docker ps

7.6 synctv设置用户的token时间(修改配置文件)

配置文件在/root/synctv/data/config.yaml,修改jwt的expire值为你想要的值,默认是 48h。

评论

  1. chenchen
    4 天前
    2024-5-12 20:53:15

    试了半天都不行。博主咋可以联系上您

    • lark
      博主
      chenchen
      4 天前
      2024-5-12 20:54:34

      你说问题吧,具体卡在那一步

      • chenchen
        lark
        4 天前
        2024-5-12 21:13:32

        就是proxy_set_header Connection $connection_upgrade;
        这个。http补的哪个我也保存不了。。。然后看视频。都显示Websocket 自动重连失败!
        连接状态 CLOSED

        • lark
          博主
          chenchen
          4 天前
          2024-5-12 21:20:56

          你先不管反代这个,先用IP+端口访问,能正常看视频,再改反代这些参数。先测试synctv能不能看B站的视频,B站视频能看,就说明synctv运行没问题。

          这个保存挺费劲的,你要仔细代码位置,位置不对就保存了的https://vilark.com/493.html

          • chenchen
            lark
            4 天前
            2024-5-12 21:23:31

            我直接ip都是正常的。。反代就死活不行。。我注意用域名。。我萌新。只能啃现成的QAQ,博主可以帮忙调试下吗。。

          • chenchen
            lark
            4 天前
            2024-5-12 21:29:08

            看在长颈鹿的面子上。求个指导

          • lark
            博主
            chenchen
            4 天前
            2024-5-12 21:32:58

            我看了下,好像是因为代码高亮的问题,代码缩进变了,你试试我新改的,而且要对照图片。
            https://vilark.com/493.html

          • chenchen
            lark
            4 天前
            2024-5-12 21:44:53

            尴尬。保存成功了。当时有些还是播放不了。能播放的比ip的卡很多。。

          • chenchen
            lark
            4 天前
            2024-5-12 21:58:17

            不知道是不是跟谷歌云盘有关。要是有空帮忙看看吧。alist已经是代理谷歌云盘了的。但是synctv不代理会连接失败。ip下的话又没这些问题。

          • lark
            博主
            chenchen
            4 天前
            2024-5-12 22:00:48

            建议alist挂阿里和OD吧,这两个没什么问题

            另外synctv账户添加alist,如果alist地址是纯IP添加的,会导致一些od视频播放不了

          • chenchen
            lark
            4 天前
            2024-5-12 22:01:44

            我再研究研究吧。有点小忧伤。

          • lark
            博主
            chenchen
            4 天前
            2024-5-12 23:21:06

            有问题随时留言,我也是把自己的问题记录下来,让其他人少些弯路。

            说起来,你的邮箱能收到我给你的回复吗?之前网站邮件回复出问题了,后来修了下,也没确认是否修好。

          • chenchen
            lark
            4 天前
            2024-5-12 23:51:32

            可以收到你的邮箱

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇