首页 帮助中心 如何用Linux搭建高清录播服务器?实战教程
如何用Linux搭建高清录播服务器?实战教程
时间 : 2025-07-29 14:42:34 编辑 : 华纳云 阅读量 : 35

相比租用第三方录播平台,自建Linux高清录播服务器具备可控性高、定制灵活、无版权限制、成本可控等诸多优势。接下来我们将以实战角度,系统讲解如何基于Linux系统搭建一套稳定、高性能、支持高清视频的录播服务器环境,从底层依赖到直播录制全流程,确保搭建完成即可投入实际使用。

一、录播服务器系统及环境准备

系统推荐选择以下Linux发行版,Ubuntu Server 20.04/22.04 LTS 稳定性好、社区活跃、文档丰富。CentOS 7/AlmaLinux 8 企业生产环境常用,系统稳定、兼容性高。Debian 11 系统精简,资源占用低,适合低功耗录播服务部署。建议部署在纯净环境上,避免与其他服务如数据库、Web服务混合安装,减少资源争抢。

最低硬件配置建议,CPU四核以上、内存8GB以上、存储500GB以上SSD(录播视频空间大)、网络对称带宽≥20Mbps,建议独享线路。系统盘建议单独挂载,避免视频数据写入系统分区。安装前请关闭SELinux与防火墙,开放常用端口(如1935、554、8080、80等)。

二、录播核心组件安装与配置

安装FFmpeg:

FFmpeg是实现录制、转码、流处理的关键工具。安装方式如下:

Ubuntu/Debian安装最新版FFmpeg:

sudo apt update
sudo apt install ffmpeg

CentOS/AlmaLinux安装最新版:

sudo yum install epel-release
sudo yum install ffmpeg ffmpeg-devel

验证安装:

ffmpeg -version

确认支持libx264、libx265、aac等编码器。

安装Nginx + RTMP模块

Nginx RTMP模块用于接收推流、播放直播与录播,具有性能稳定、易于部署等优势。

编译安装(推荐):

# 安装依赖
sudo apt install build-essential libpcre3 libpcre3-dev libssl-dev zlib1g-dev -y

# 下载源码
wget http://nginx.org/download/nginx-1.24.0.tar.gz
git clone https://github.com/arut/nginx-rtmp-module.git

# 解压与编译
tar -zxvf nginx-1.24.0.tar.gz
cd nginx-1.24.0

./configure --add-module=../nginx-rtmp-module --with-http_ssl_module
make && sudo make install

默认安装在/usr/local/nginx

配置RTMP服务:

编辑/usr/local/nginx/conf/nginx.conf,添加如下配置:

rtmp {
    server {
        listen 1935;
        chunk_size 4096;

        application live {
            live on;
            record all;
            record_path /var/www/record;
            record_unique on;
        }
    }
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    server {
        listen 8080;

        location / {
            root /var/www/html;
            index index.html;
        }

        location /stat {
            rtmp_stat all;
            rtmp_stat_stylesheet stat.xsl;
        }

        location /stat.xsl {
            root /usr/local/nginx/html;
        }
    }
}

创建录播目录:

sudo mkdir -p /var/www/record
sudo chmod -R 755 /var/www/record

启动Nginx:

/usr/local/nginx/sbin/nginx

三、推流与录播测试

1. 推流工具:OBS Studio

在推流客户端(如Windows或macOS电脑)安装OBS Studio,设置推流协议RTMP,流名称自定义例如test1。

推流地址示例:

rtmp://服务器IP:1935/live

2. 直播观看地址

直播流播放地址为:

rtmp://服务器IP:1935/live/test1

可使用VLC播放器播放:

Media -> Open Network Stream -> 输入上方URL

3. 录播文件位置

直播开始后,自动生成.flv录播文件,保存在:

/var/www/record

录制文件命名规则为:

test1-YYYYMMDD-HHMMSS.flv

可使用FFmpeg将其转码为MP4:

ffmpeg -i test1.flv -vcodec copy -acodec copy output.mp4

四、性能优化与安全建议

1. 提高系统连接数

编辑系统限制:

ulimit -n 65535

编辑/etc/security/limits.conf:

* soft nofile 65535
* hard nofile 65535

2. 使用H.265编码降低带宽

FFmpeg支持将录制视频压缩为H.265编码,大幅降低视频文件大小:

ffmpeg -i input.flv -c:v libx265 -crf 28 output.mp4

适合保存长时间教学内容或会议录像。

3. 设置直播权限认证

可配置Nginx防止推流地址被盗用。可使用token鉴权机制:

application live {
    live on;
    on_publish http://localhost/auth;
}

再在Web服务中处理auth请求,实现按用户鉴权、控制推流权限。

五、自动化与功能拓展建议

1. 定时切割录播文件

使用ffmpeg结合cron脚本,每小时自动切割并保存为新文件,避免文件过大:

0 * * * * /usr/bin/ffmpeg -i rtmp://localhost/live/test -t 3600 -c copy /var/www/record/hourly-$(date +\%H).mp4

2. 搭配网页播放

安装支持HLS或MP4播放的Web播放器如Video.js、DPlayer,将录播视频通过HTTP方式提供点播入口。可使用FFmpeg生成M3U8格式:

ffmpeg -i input.mp4 -codec: copy -start_number 0 -hls_time 10 -hls_list_size 0 -f hls index.m3u8

通过本文教程,读者可以基于Linux系统,独立搭建出一套支持高清录制与直播的稳定录播服务器方案。无论是教育培训、企业会议,还是远程发布场景,均可实现推流、录制、回放一体化功能。相比市面上的商业SaaS平台,基于Linux的自建方案拥有更高的定制灵活性、更低的带宽成本、更全面的数据控制能力。只要网络环境合理、服务器性能达标,再配合Nginx+FFmpeg的组合,就能支撑大规模高质量的音视频录播任务。

华纳云 推荐文章
新加坡VPS支持哪些Linux系统?可选操作系统全解析 Linux进程级网络流量监控的具体流程 基于Linux系统的NAT服务器优化配置方案分享 nohup命令在Linux系统中的优势及使用方法 Linux进程网络流量如何进行监控(详细指南) Linux服务器上如何配置FTP服务器磁盘配额(以debian系统为例) 如何使用iptables设置Linux服务器高级防火墙规则? Linux服务器如何查看端口连接数 英国服务器修改Linux系统时区操作详细步骤 如何使用命令行在Linux系统中导航文件系统?
活动
客服咨询
7*24小时技术支持
技术支持
渠道支持