相比 PeerTube – 自托管视频串流/直播平台,MediaCMS 没有直播功能,但是功能单一对应的是更加轻量,并且搭建方式更简单
官方 repo 已经说明了 MediaCMS 的设计初衷、使用场景等详细信息,不赘述
下文将展示如何在 Debian 10 下无域名安装并使用 MediaCMS
环境
- Debian 10
参考
步骤
官方脚本只支持 Ubuntu 18/20,并且在默认情况下,脚本安装的 MediaCMS 无法在 IP 地址下使用,所以需要修改官方一键脚本
以下步骤在 root 用户下执行
获取 MediaCMS
mkdir /home/mediacms.io && cd /home/mediacms.io/ git clone https://github.com/mediacms-io/mediacms cd /home/mediacms.io/mediacms/
修改安装脚本
Ubuntu 是基于 Debian 的发行版,都使用 apt 包管理,所以安装依赖的部分不用修改,但是需要删掉判断系统版本的逻辑
删除安装依赖的 if 判断,即下图的红框部分
默认情况下,脚本会请求输入 MediaCMS 的 URL,如果不输入会默认使用 localhost,之后 localhost 会被硬编码到 MediaCMS 的主程序中,这会导致进入 MediaCMS 后总是被重定向到 localhost,无法正常使用系统,所以需要更改脚本中的 localhost 为机器的 IP 地址,如下图
修改后的脚本如下图
安装 MediaCMS
在 MediaCMS 主目录运行
bash ./install.sh
脚本会安装系统依赖和 python 环境并配置 Nginx,最后启动 MediaCMS 服务
运行结束后会输出管理员密码,进入 MediaCMS 后输入此密码登录 admin 账号
修改 Nginx 反代配置文件
经过以上步骤,MediaCMS 已经可以运行在 Debian 10 下,并且可以通过 IP 地址访问
但是登录后就会发现 MediaCMS 会强制跳转到 https 下,虽然不影响使用,但是浏览器每次都会提示网站不安全
因为这里不使用域名,所以解决这个问题需要修改 MediaCMS 默认提供的 Nginx 配置文件
修改 /etc/nginx/sites-available/default 配置文件:
- 删除 SSL 相关行
- 删除 443 端口的 server 块,仅保留 80 端口的 server 块
- 修改所有 https 为 http
最终配置文件如下图
重启 Nginx
nginx -t # 测试 nginx -s reload
效果
实测较大的 1080p 视频转码过程比较缓慢,并且 CPU 占用比较严重:1.5GB 的 1080p 视频转码,8 核心满载运行了很长时间(没有记录具体时间)
视频播放页面与 YouTube 完全一致
上传视频
视频上传后需要转码
转码完成后即可播放
1080p、720p 的播放效果