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

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

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

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

Windows系统镜像下载网站

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

curl和wget忽略证书错误教程

curl和wget是我们常用的Linux下载测试工具如果遇到下载报错可以按下面方法操作如果是curl ssl证书错误其实只要在url地址后面加上 -k,就可以忽略证书校验了(不验证证书)。具体就是这样操作:curl  'https://下载地址' -k如...

syncthing文件同步软件

syncthing文件同步软件

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

网络测压小工具webBenchmark

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

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

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

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

魔方财务迁移教程

魔方财务迁移教程

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