# DDTV_Server(Linux)

# 1.下载

从以下地方选一个下载DDTV最新版本
QQ群共享(其实我推荐这个(这里的人超好的,还能直接对线(((
DDTV功能反馈讨论群:338182356
GitHub (opens new window)
DDTV聊天吹水群:522865400

请根据你的CPU架构选择对应的包:linux-x64(常见x86_64服务器/电脑)、linux-arm64(aarch64)、linux-arm(32位armv7,如部分树莓派)。

# 2.安装

DDTV_Server是免安装的,且为自包含发布(无需安装.NET运行时),把下载下来的压缩包解压到任意当前linux用户有读写权限的路径即可
搜索chmod命令了解如何在linux上更改文件和文件夹权限

解压后的目录结构大致为:

DDTV_Server.sh      # 启动脚本(压缩包最外层)
bin/
  ├─ Server         # 原生可执行文件(自包含,无需dotnet命令)
  ├─ Static/        # WEBUI静态文件
  ├─ Update/        # 自动更新程序
  └─ ...            # 运行库文件

如果启动脚本或主程序没有执行权限,请先赋予:

chmod +x ./DDTV_Server.sh ./bin/Server

# 3.启动准备

# 运行环境准备

DDTV_Server依赖于ffmpeg(用于录制完成后的自动修复和合并转码),请先根据您的系统环境安装ffmpeg

linux请根据您使用的发行版本自行使用aptyum等包管理工具自行安装ffmpeg
例如ubuntu/debian下使用以下命令进行安装

sudo apt install ffmpeg

关于libgdiplus

早期版本在Linux下显示登录二维码需要安装libgdiplus。当前版本的二维码已改用SkiaSharp/ZXing实现(控制台直接打印二维码字符画),不再需要安装libgdiplus

# 配置房间文件

默认房间文件./Config/RoomListConfig.json(相对于程序目录bin/)格式为json字符串,默认为空json
可以直接使用其他版本DDTV的房间配置文件复制过来即可
完整格式可参考配置文件说明中关于房间文件的说明
房间配置文件格式为

{
            "name": "未来明-MiraiAkari",//昵称
            "Description": "",//备注
            "RoomId": 6792401,//房间号(长号)
            "UID": 238537745,//主播账号UID
            "IsAutoRec": false,//开播后是否自动录制
            "IsRemind": false,//开播后是否提醒
            "IsRecDanmu": false,//是否录制该房间弹幕(需要打开总弹幕录制开关)
            "Like": false,//特别标注
            "Shell": "",//该房间录制完成后执行的Shell命令,留空不执行
            "AppointmentRecord": false,//是否预约下一次录制
            "RoomCutAccordingToSize": 0,//只针对本房间生效的按文件大小切割(字节),0为不生效
            "RoomCutAccordingToTime": 0//只针对本房间生效的按录制时长切割(秒),0为不生效
},

多个这种格式的内容组成

警告

手动编辑过后请检查JSON字符串的合法性,请保证确保符合参考文件的JSON文件格式!!!
(注意:上面示例中的中文注释仅为说明用途,实际写入文件时请删除注释)

# WEB端口设置

如果是部署在公网或者有需要从外部访问的需求,请在系统防火墙和可能存在的云平台安全组中打开DDTV_Server的WEB服务所需端口(默认为11419)

# 4.启动&初始化

1.使用压缩包最外层提供的DDTV_Server.sh脚本启动,或直接运行./bin/Server(当前版本为自包含的原生可执行文件,不需要也不能用dotnet ./bin/Server.dll方式启动)。
如果要在无GUI的linux服务器上后台运行请使用screen进行启动,请勿使用nohup的方式进行启动
然后根据控制台窗口显示的内容操作即可

示例:

启动:

screen /your/path/DDTV_Server.sh

ctrl+a再按d,可退出screen页面

恢复页面:

screen -r

再按ctrl+c可终止并自动退出screen页面

# 其他功能

如有任何疑问都可以加群338182356进行对线