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

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

23vps9个月前 (02-23)其他1629

主机哥要搭建自己的在线直播轮播台,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应用
分享给朋友:

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

小众技术工具库

小众技术工具库

主机哥今天给大家分享一个非常有用的网站,里面非常好用的网站实在是太多了,废话不多说,贴图上链接!网址:https://www.xiaozhongjishu.com/...

MobaXterm配置SSHTunnel

MobaXterm配置SSHTunnel

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

ServerStatus多服务器探针搭建教程

这是一款开源多服务器探针程序项目地址:https://github.com/cppla/ServerStatus 它支持Docker一键部署,也支持手动部署主机哥喜欢Docker一键部署的方式,下面介绍下Docker一键部署的方法服务端Docker: wget --no-check-ce...

Notpad++编辑器下载

Notepad++是一款免费的文本编辑器,是Windows系统上最受欢迎的文本编辑器之一。它支持多种编程语言,包括C、C++、Java、JavaScript、HTML、CSS等等,同时也支持多种文件格式,包括ANSI、UTF-8、UTF-16等等。Notepad++具有语法高亮、自动完成、括号匹配、...

Nginx打开目录浏览功能(autoindex)

主机要分享一些文件给朋友下载,但是文件数量又比较多,而且需要分很多个文件夹进行分类以便根据需要下载不必整个打包在一起下载,下面介绍利用nginx自带的autoindex配置来实现下载服务器的文件遍历来列出整个目录供朋友浏览下载。宝塔站点修改nginx配置文件,在server段添加下面代码 ...

php文件分享代码,可设置分享链接有效期并隐藏真实下载地址

这是一个简单的PHP文件分享程序,以下是程序的基本功能:首页需要登录才能显示显示指定目录下的所有文件给每个文件生成分享按钮点击分享按钮会自动复制分享链接分享链接1小时后失效,无法从分享链接中找到真实下载源请注意,这个程序只是一个简单的示例,您需要根据具体需求进行修改和优化,并加强安全措施。以下是程序...