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

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

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

主机哥要搭建自己的在线直播轮播台,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搭建视频在线轮播频道” 的相关文章

Windows系统镜像下载网站

提到原版的Windows系统,各位老司机熟知的都是MSDN,但是这个网址里只能下载到Win10 1909以前的系统,后面的系统都要在新网站下载而且还得登录。而且这个对新手很不友好,当我发给装机小白的时候,他们都看不懂该选哪个。再给大家推荐一个下载Windows系统的地方,网址:https://hel...

debian/ubuntu/centos7系统安装syncthing文件同步软件教程

debian/ubuntu/centos7系统安装syncthing文件同步软件教程

实验系统:debian10/ubuntu/CentOS7 64位用putty或者其他ssh工具连上服务器,然后用wget命令下载Syncthing的Linux 64位版,版本号对应官网上的最新版,请自行选择:wget https://github.com/syncthing/syncthi...

网络测压小工具webBenchmark

这是一个HTTP基准测试工具,可以用来耗尽服务器带宽或流量限额。特点:每个请求都有随机的 User-Agent可自定义请求参数中的 Referer并发线程取决于您的服务器性能。项目地址:https://github.com/maintell/webBenchmark/ 起源这个起源于MJJ论坛刷“剑...

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

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

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

parsec串流远程桌面神器,用远程桌面可以玩游戏

parsec串流远程桌面神器,用远程桌面可以玩游戏

主机哥最近发现一款不错的国外远程桌面工具,可以内网穿透直连,甚至可以流畅玩游戏看视频不卡顿,都说很厉害,自己台式机电脑上装了一下,但是用我自己笔记本电脑连接台式机时提示-15000错误:点击Read More弹出链接:https://support.parsec.app/hc/en-us/artic...

ServerStatus多服务器探针搭建教程

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