如何在CentOS 7上搭建一个媒体服务器?

CentOS 7上搭建媒体服务器,可以选择Jellyfin等软件,通过配置yum源、安装ffmpeg和相关rpm包,启动服务并进行web初始化配置。

CentOS 7 媒体服务器搭建指南

centos 7 媒体服务器

在CentOS 7上搭建媒体服务器是一个复杂但值得的过程,本文将详细介绍如何在CentOS 7上搭建Jellyfin个人流媒体服务器、SRS直播流媒体服务器以及Nginx+RTMP流媒体服务器,以满足各种流媒体需求。

Jellyfin个人流媒体服务器

1. 安装前准备

需要配置YUM源并安装必要的依赖包:

wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum install epel-release

配置rpmfusion源并安装ffmpeg:

yum install https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
yum install ffmpeg

2. 下载并安装Jellyfin

从Jellyfin官方仓库下载相关rpm包并进行本地安装:

wget https://repo.jellyfin.org/releases/server/centos/versions/stable/web/10.6.4/jellyfin-web-10.6.4-1.el7.noarch.rpm
wget https://repo.jellyfin.org/releases/server/centos/versions/stable/server/10.6.4/jellyfin-server-10.6.4-1.el7.x86_64.rpm
wget https://repo.jellyfin.org/releases/server/centos/versions/stable/server/10.6.4/jellyfin-10.6.4-1.el7.x86_64.rpm
yum localinstall jellyfin-web-10.6.4-1.el7.noarch.rpm
yum localinstall jellyfin-server-10.6.4-1.el7.x86_64.rpm
yum localinstall jellyfin-10.6.4-1.el7.x86_64.rpm

3. 启动Jellyfin服务

启动并使Jellyfin服务开机自启:

systemctl enable jellyfin.service
systemctl start jellyfin.service
netstat -anp | grep 8096

访问Web界面完成初始化配置。

centos 7 媒体服务器

4. 测试播放视频

可以使用Jellyfin Android或Android TV客户端,或Gelli音乐库进行测试。

SRS直播流媒体服务器

1. 下载并解压SRS源码包

wget https://github.com/ossrs/srs/archive/v3.0-r0.tar.gz
tar -zxvf srs-3.0-r0.tar.gz
cd srs-3.0-r0/trunk/

2. 编译和安装SRS

./configure
make install

设置服务开机自启:

ln -sf /usr/local/srs/etc/init.d/srs /etc/init.d/srs
cp -f /usr/local/srs/usr/lib/systemd/system/srs.service /usr/lib/systemd/system/srs.service
systemctl daemon-reload
systemctl enable srs
systemctl start srs

3. 使用FFmpeg命令推流

上传视频文件到服务器,并使用FFmpeg命令推流:

ffmpeg -re -i /data/TenetTrails.mp4 -vcodec copy -acodec copy -f flv -y rtmp://192.168.31.80/live/livestream

4. 观看RTMP和HLS流

使用VLC播放器分别观看RTMP和HLS流:

centos 7 媒体服务器
RTMP流地址
rtmp://192.168.31.80/live/livestream
HLS流地址(需先停止SRS并单独加载hls.conf)
http://192.168.31.80:8080/live/livestream.m3u8

Nginx+RTMP流媒体服务器

1. 安装必要工具和模块

yum -y install git openssl openssl-devel
git clone https://github.com/arut/nginx-rtmp-module.git
wget http://nginx.org/download/nginx-1.10.3.tar.gz
tar -zxvf nginx-1.10.3.tar.gz
cd nginx-1.10.3

添加rtmp和openssl支持:

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

2. 配置Nginx以支持RTMP

编辑nginx配置文件nginx.conf,添加以下内容:

rtmp {
    server {
        listen 1935;
        application rtmplive {
            live on;
            record off;
        }
    }
}

启动Nginx:

/usr/local/nginx/sbin/nginx

3. 推流和拉流测试

使用FFmpeg推音频和视频流进行测试:

ffmpeg -re -i test.wav -f flv rtmp://localhost:1935/rtmplive/audio_test
ffmpeg -re -i test.mp4 -vcodec libx264 -acodec aac -f flv rtmp://localhost:1935/rtmplive/video_test

使用ffplay拉取并播放流:

ffplay rtmp://VPS服务器的公网IP:1935/rtmplive/audio_test
ffplay rtmp://VPS服务器的公网IP:1935/rtmplive/video_test

通过以上步骤,您可以在CentOS 7上成功搭建Jellyfin个人流媒体服务器、SRS直播流媒体服务器以及Nginx+RTMP流媒体服务器,满足不同的媒体处理需求。

小伙伴们,上文介绍了“centos 7 媒体服务器”的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1374186.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希新媒体运营
上一篇 2024-12-03 12:34
下一篇 2024-12-03 12:37

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入