在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界面完成初始化配置。
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流:
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
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复