5步搞定局域网内课程点播与直播系统搭建
1. 为什么要在局域网搭建课程系统最近两年在线教育需求爆发式增长很多学校、培训机构都需要在内部网络搭建专属的课程平台。相比公有云方案局域网系统有三个不可替代的优势首先是数据安全性。所有教学视频、课件资料都存储在内网服务器完全避免内容外泄风险。我帮某职业院校部署时他们的精品课程涉及专利技术这点就特别重要。其次是访问稳定性。不用受外网带宽波动影响实测在千人同时观看的场景下局域网4K视频的加载速度比云服务快3倍以上。去年某企业内训时就因云服务商故障导致直播中断改用内网方案后零事故运行至今。最后是成本可控性。一次部署长期使用特别适合有固定教学场所的机构。以200人规模计算3年总成本比云服务节省60%以上。下面这个对比表很能说明问题成本项公有云方案(3年)局域网方案(3年)服务器费用约4.8万元1.2万元流量费用约3.6万元0元维护成本1.2万元0.8万元总成本9.6万元2万元2. 准备工作软硬件环境配置2.1 硬件选择指南根据我部署过30机构的经验推荐以下配置方案50人以下i5处理器/8G内存/1T机械硬盘的办公电脑就能胜任50-200人至强E3系列/16G内存/256G SSD2T机械硬盘的塔式服务器200人以上建议采用双路至强/32G内存/RAID5磁盘阵列的机架式服务器有个容易忽略的细节是网卡选择。遇到过某学校用USB无线网卡做服务器网卡结果直播卡成PPT。务必使用千兆有线网卡有条件建议上2.5G网卡。2.2 操作系统选择推荐Ubuntu Server 22.04 LTS版本这三个优势是其他系统比不了的长期支持维护到2032年对FFmpeg等多媒体工具支持最好遇到问题容易找到解决方案去年给某医院部署时客户坚持要用CentOS结果FFmpeg编译各种报错最后重装Ubuntu才解决。新手切记不要在这个环节踩坑。3. 核心组件安装与配置3.1 视频处理神器FFmpeg这个开源工具是点播系统的核心安装时有个小技巧sudo apt update sudo apt install -y ffmpeg ffmpeg -version # 验证安装常见问题处理如果提示找不到包先运行sudo add-apt-repository universe需要H.265编码的话要源码编译命令比较复杂建议参考官方文档3.2 直播推流方案选型测试过三种主流方案后我的推荐是NginxRTMP配置简单但功能有限SRS支持HLS和HTTP-FLV延迟3秒左右LivegoGo语言编写资源占用低中小企业用SRS最合适安装命令wget https://github.com/ossrs/srs/releases/download/v4.0.263/srs-ubuntu22.tar.gz tar -zxvf srs-ubuntu22.tar.gz cd srs-ubuntu22 ./configure make4. 一站式解决方案部署4.1 系统初始化先处理依赖问题sudo apt update sudo apt install -y curl nano git mysql-server redis-server修改MySQL密码安全策略否则后面会报错sudo mysql_secure_installation # 按提示操作密码强度选04.2 自动化安装脚本这是我优化过的安装流程下载脚本curl -O http://your-domain.com/install.sh chmod x install.sh修改关键配置nano install.sh需要修改的参数包括SITE_ADDR服务器内网IP所有密码项建议用openssl rand -base64 12生成执行安装./install.sh | tee install.log # 同时保存日志5. 系统使用与优化技巧5.1 管理员操作指南后台登录后重点配置转码设置建议720p480p双码率水印设置透明度建议30%-50%权限管理按部门分配课程权限遇到过有客户把所有视频设成最高码率结果硬盘三天写满。建议课程视频用以下参数ffmpeg -i input.mp4 -c:v libx264 -crf 23 -preset fast -c:a aac -b:a 128k output.mp45.2 日常维护建议日志清理设置cron任务定期清理旧日志备份策略数据库每天全备视频每周增量备份监控设置用htop观察系统负载超过70%要考虑扩容有个客户服务器突然宕机排查发现是MySQL日志把磁盘写满了。现在我都建议第一件事就是配置日志轮转sudo nano /etc/logrotate.d/mysql最后提醒大家首次使用前一定要做压力测试。可以用JMeter模拟并发请求我一般会测试到200%的预期负载量这样正式使用才能万无一失。