当前位置:首页 > 其他 > 正文内容

用VPS搭建视频在线轮播频道

23vps2个月前 (02-23)其他281

主机哥要搭建自己的在线直播轮播台,24小时列表循环播放,目的是做一个陪伴型的时时刻刻的直播频道,下面开始搭建方法:


阿里云限量代金券 | 此广告位出租25元/月

linux下载ffmpeg二进制包

linux安装

去官网下载编译好的程序:https://ffmpeg.org/download.html 

选择Linux Static Builds下的构建选项,到达这个页面:https://johnvansickle.com/ffmpeg/ 

在列表中选择适合自己的版本,鼠标右键,复制链接地址。这里我选择了git master: built on 20240213最新版本

打开Linux中要安装ffmpeg的目录,使用wget命令下载文件:

wget https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-amd64-static.tar.xz

解压

xz -d ffmpeg-git-amd64-static.tar.xz

经过一次解压,.xz 后缀名已经被去掉。接下来执行:

tar -xvf ffmpeg-git-amd64-static.tar

运行

进入解压出来的这个目录

接下来执行下命令试试:

./ffmpeg

如果想要ffmpeg命令全局可用,可以在bin目录加个链接。比如,分别执行如下命令,即可在/usr/local/bin目录下创建ffmpeg和ffprobe软链接。

ln -s /opt/ffmpeg/ffmpeg /usr/local/bin/ffmpeg
ln -s /opt/ffmpeg/ffprobe /usr/local/bin/ffprobe

这样在其他目录也都可以直接使用 ffmpeg 和 ffprobe 而不用加目录前缀了。


windows安装

去官网下载编译好的程序:https://ffmpeg.org/download.html 

选择windows Windows EXE Files - Buids from gyan.dev,进入这个页面:https://www.gyan.dev/ffmpeg/builds/ 

在列表中选择适合自己的版本。这里我选择了git master builds:version: 2024-02-22-git-76b2bb96b4最新版本ffmpeg-git-essentials.7z

下载完成后解压到C盘,并重命名为ffmpeg.exe

开始菜单搜索:编辑系统环境变量,点击环境变量,在系统变量的Path选中,点编辑,新建对应FFmpeg的bin路径:C:\ffmpeg\bin

打开cmd输入ffmpeg -version,返回版本信息则安装配置成功。

如果没有返回版本信息可能需要重启


使用FFmpeg下载m3u8视频并转换为mp4格式

ffmpeg -i https://xxx.m3u8 D:\video.mp4

按“Q”键停止。如果你就想录制一小段时间(比如60秒),可以在-i参数前加-t 60参数

以下命令可避免转码,防止采集时CPU占用过高

ffmpeg -i http://xxx.m3u8 -c:v copy -c:a copy -bsf:a aac_adtstoasc D:\video.mp4

查看支持的协议列表

ffmpeg -protocols


使用ffplay进行拉流

ffplay D:/video.mp4

或者直接播放网络资源

ffplay https://xxx.m3u8


使用ffmpeg进行推流

推流需要自建推流服务器,这里我推荐使用livego

项目地址:https://github.com/gwuhaolin/livego/ 

中文说明:https://github.com/gwuhaolin/livego/blob/master/README_cn.md 

下载地址:https://github.com/gwuhaolin/livego/releases 


livego在linux vps上安装

新建软件目录

mkdir /opt/livego/

cd /opt/livego/

下载二进制包

wget https://github.com/gwuhaolin/livego/releases/download/0.0.15/livego_0.0.15_linux_amd64.tar.gz

解压

tar -zxvf livego_0.0.15_linux_amd64.tar.gz

删除压缩包

rm -f livego_0.0.15_linux_amd64.tar.gz

在/usr/local/bin目录下创建livego软链接

ln -s /opt/livego/livego /usr/local/bin/livego

这样在其他目录也都可以直接使用livego而不用加目录前缀了。


livego使用教程

1、启动服务:执行livego二进制文件启动livego服务;你可以暂时使用screen守护进程,但是不建议,后面介绍用systemd来守护进程防止进程退出

2、访问http://localhost:8090/control/get?room=movie 获取一个房间房间名叫movie的channelkey(channelkey用于推流,movie用于播放)

当然你也可以在ssh上使用这个命令直接获取

curl http://localhost:8090/control/get?room=movie

3、推流: 通过RTMP协议推送视频流到地址ffmpeg -re -i 1.mp4 -c copy -f flv rtmp://localhost:1935/live/rfBd56ti2SMtYvSgD5xAV0YU99zampta7Z7S575KLkIZ9PYk

4、播放地址

rtmp://localhost:1935/live/movie
http://127.0.0.1:7001/live/movie.flv
http://127.0.0.1:7002/live/movie.m3u8

livego开启启动

使用systemd守护livego进程防止以外退出

编写livego.service文件

vi /etc/systemd/system/livego.service

#将下面的代码复制进去

[Unit]
Description=livego server
Documentation=https://23vps.com/post/96.html
After=network.target

[Service]
User=root
#Group=some_group
WorkingDirectory=/opt/livego
LimitNOFILE=4096
ExecStart=/opt/livego/livego
ExecStop=/bin/kill $MAINPID
Restart=on-failure
StartLimitInterval=600

[Install]
WantedBy=multi-user.target

重载配置

systemctl daemon-reload

管理服务

开机启动:systemctl enable livego
取消开机启动:systemctl disable livego
启动:systemctl start livego
重新启动:systemctl restart livego
停止运行:systemctl stop livego
查看运行状态:systemctl status livego


使用ffmpeg推流到livego

单视频循环轮播

ffmpeg -stream_loop -1 -re -i 1.mp4 -c copy -f flv rtmp://localhost:1935/live/rfBd56ti2SMtYvSgD5xAV0YU99zampta7Z7S575KLkIZ9PYk

列表循环轮播

ffmpeg -stream_loop -1 -re -f concat -i "list.txt" -c copy -f flv rtmp://localhost:1935/live/L17LTlsVqMNTZyLKMIFSD2x28MlgPJ0SDZVHnHJPxMKi0tWx

视频轮播列表文件list.txt编写格式

file '1.mp4'
file '2.mp4'
...


本教程参考来源:https://diannaobos.com/post/920.html 

https://diannaobos.com/post/953.html 

本网站由提供服务

扫描二维码推送至手机访问。

版权声明:本文由主机测评网发布,如需转载请注明出处。

本文链接:https://23vps.com/post/96.html

标签: VPS应用
分享给朋友:
返回列表

上一篇:使用FRP搭建P2P点对点穿透

没有最新的文章了...

“用VPS搭建视频在线轮播频道” 的相关文章

强大无数据库图床2.0PHP程序

强大无数据库图床2.0PHP程序

项目地址:https://github.com/icret/EasyImages2.0 始于2018年7月,支持多文件上传,简单无数据库,返回图片url,markdown,bbscode,html的一款图床程序 演示地址:https://png.cm/ 之前一直用的图床程序是:PHP多图长...

MobaXterm配置SSHTunnel

MobaXterm配置SSHTunnel

MobaXterm作为一款良心的SSH工具,它支持SSHTunnel隧道功能,网上的教程讲的并不详细,所以主机哥写个教程:由于主机哥买了台NAT服务器,由于NAT服务器只有SSH端口没有其他公网端口,安装宝塔后要访问8888端口进行面板设置才能用,这时候SSHTunnel就可以用上了点击Tunnel...

syncthing文件同步软件

syncthing文件同步软件

这是一款可以满足办公、文件共享、团队协作、家庭存储等文件同步需求的开源软件,不依赖中心服务器,完全由自己掌握数据,安全可靠。Syncthing是免费且开源的,而且跨平台支持windows、mac、linux、android等主流平台,除了PC、手机以外,在部分路由器、树莓派等硬件上都能轻松运行,听说...

搭建Syncthing发现和中继服务器和配置Syncthing客户端

搭建Syncthing发现和中继服务器和配置Syncthing客户端

折腾借口Syncthing好是挺好的,但就是同步不给力,公共网络服务其质量参差不齐,网络也说不清。最好的解决方案还是自己搭建发现服务器Syncthing Discovery Server和中继服务器Syncthing Relay Server,有效解决网络连接差,非局域网连接慢的问题。不同于Resi...

魔方财务迁移教程

魔方财务迁移教程

主机哥的魔方财务需要迁移到新的服务器压缩打包所有网站文件备份下载数据库文件在新服务器上安装宝塔添加网站设置伪静态location / { if (!-e $request_filename) { rewrite ^(.*)$ ...