腾讯云轻量应用服务器使用 SRS 应用镜像搭建个人直播间视频转播本地录制!
Posted 有头发程序猿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了腾讯云轻量应用服务器使用 SRS 应用镜像搭建个人直播间视频转播本地录制!相关的知识,希望对你有一定的参考价值。
SRS 是一个开源的流媒体集群,主要应用在直播和 WebRTC,支持 RTMP、WebRTC、HLS、HTTP-FLV 和 SRT 等常用协议。
轻量应用服务器提供了 SRS 应用镜像,使您无需再关注繁杂的部署操作,即可通过该镜像在轻量应用服务器上一键搭建个人直播间。在本地下载推流客户端并且填写推流地址后,即可进行直播。除此之外,超清实时直播、多平台转播、直播录制等服务一应俱全,您可按需选择。
相关协议
1、HTTP-FLV
HTTP-FLV 是 Adobe 公司推出的另一种视频格式(在网络上传输的流媒体数据存储容器格式),相对简单轻量,无需大量的媒体头部信息,整个 FLV 由 The FLV Header、The FLV Body 以及其他 Tag 组成,因此加载速度极快。
FLV(全称 FlashVideo)是一种网络视频格式,以体积小、加载速度极快的特性著称,采用 FLV 格式封装的文件后缀为 .flv
。而 HTTP-FLV 即将流媒体数据封装成 FLV 格式,再通过 HTTP 协议传输给客户端。
2、HLS
HLS(全称 HTTP Live Streaming)是 Apple 的动态码率自适应技术,主要应用在 PC 以及 Apple 终端的音视频服务。HLS 并不是一次请求完整的数据流,它会在服务器端将流媒体数据切割成连续的时长较短的 ts 小文件,并通过 M3U8 索引文件按序访问 ts 文件。客户端只需不停的按序播放从服务器获取到的文件,从而实现播放音视频。
相比于 HTTP-FLV,HLS 的优势如下:
- Apple 全系列原生支持,同时在 android 和 PC 端也有很好的支持。
- 给予 HTTP/HTTPS 传输,有效避免防火墙拦截。
- 具备高性能。
但由于传输协议的特点,造成以下不足:
- 实时性较差,时延往往会大于10s。
- 由于文件切片传输的特性,会考验存储和缓存的性能。
综合两种传输协议特点,HTTP-FLV 会在互动直播(例如直播带货)的场景下发挥最优效果,而 HLS 在一些对时延不敏感的场景(例如一般直播)会更加适用。
一、使用 SRS 应用镜像创建实例
- 登录 轻量应用服务器控制台,在“服务器”页面单击立即选购。
- 在轻量应用服务器购买页面,选择所需配置完成轻量应用服务器购买。
其中,“镜像”选择为应用镜像 > SRS音视频服务器 4.5,其他参数可参考 购买方式 进行选择。说明
- 若您想使用已创建的实例搭建直播间,则可使用 SRS 应用镜像 重装系统。
- 本文以使用应用镜像 SRS 音视频服务器 4.5 版本为例,镜像可能会进行版本升级与更新,请您以购买页实际版本为准。
二、配置实例
- 在“服务器”页面中,选择并进入实例详情页。
- 选择防火墙页签,单击添加规则后根据界面提示放通1935端口。如下图所示:
- 选择应用管理页签,单击“应用内软件信息”中的“访问地址”,进入 SRS 后台管理页面。如下图所示:
- 首次进入 SRS 后台管理页面需设置管理员密码,请根据页面提示进行设置,并妥善保管。
- 设置完成后,登录 SRS 后台管理页面,记录 OBS 推流地址及密钥。如下图所示:
三、安装及配置 OBS 推流软件
- 本文以选择 OBS 推流方式为例,请前往 OBS 官网 下载软件安装包,并完成安装。
- 运行 OBS 推流软件,界面基本介绍如下图所示:
- 直播画面。
- 场景分类。
- 媒体源设置。
- 音频设置。
- 直播设置。
如需了解 OBS 推流软件更多信息,可前往 OBS 官网。
- 选择界面左上角的文件 > 设置。
- 在“设置”页面中,选择左侧菜单中的直播,并进行以下设置。如下图所示:
- 单击确定。
- 在主界面的“媒体源设置”中,选择 ,在弹出菜单中,根据直播的内容选择源(本文直播内容以本地视频为例,则选择媒体源)。
- 在弹出的“创建或选择源”窗口中,按需创建或选择已有源,单击确定。
- 在弹出“属性 '媒体源'”窗口中,选择要推流(直播)的内容,单击确定。本文以选择本地的视频资源为例,如下图所示:
- 单击“直播设置”中的开始直播(点击后会变成停止直播),画面效果如下图所示。您可在 OBS 中右键单击画面,实时调整直播画面(例如大小、方向等)。
此时,您已可 观看直播,若您有使用多平台转播、云录制、云点播、本地录制等需求,请参考下文继续配置。
四、多平台转播
若私人直播间的流量已无法满足您的需求,可参考本步骤使用 SRS 提供的多平台转播功能。
- 前往“服务器”页面,进入 SRS 实例详情页。
- 选择应用管理页签,单击“应用内软件信息”中的“访问地址”,进入 SRS 后台管理页面。
- 选择多平台转播,选择目标平台,并填写从目标平台获取的推流地址及推流密钥。如下图所示:
说明
您需已在目标直播平台创建直播。
- 单击更新配置后,勾选“开启转推”即可将直播流推向目标平台。
五、本地录制
若您需将录制的直播内容存储在 SRS 实例磁盘中,可参考以下步骤使用本地录制功能。
- 使用本地录制功能前,您需选择组件管理,将 Host(主机管理)升级到 v1.0.252 及以上版本。如下图所示:
- 在 SRS 后台管理页面中,选择录制页签。
- 在本地录制的“设置录制规则”中,勾选“录制所有流”并单击提交。如下图所示:
- 开始推流,大约等待10 - 60秒之后,可在“录制任务列表”中查看正在录制的流。如下图所示:
您可进行以下操作:- 录制预览:在录制过程中可单击预览,实时查看录制的效果。如下图所示:
- 下载录制视频到本地:录制结束后,可以在预览页面单击鼠标右键,在弹出菜单中选择下载 MP4 文件。如下图所示:
- 实例保存录制视频的路径,可在“录制文件夹”中查看。如下图所示:
六、云录制及云点播指南
1、云录制
若您的使用场景相对单一,例如希望将直播内容保存,并且后续进行剪辑等操作,建议您使用云录制。
在直播的场景下,录制同样是重要的。直播的内容在录制并存储后,可进行二次创作并再次分发。但如果将录制的内容存储在本地磁盘,则会造成空间不足或数据丢失的压力。SRS 并不直接对接云存储,而是 SRS 服务器使用 SRS 的回调 on_hls,将 HLS 切片保存在 Local Disk 或 Cloud Storage。Local Disk 指 SRS 服务器的本地磁盘。Cloud Storage 则是指对象存储 COS 或云点播 VoD。
此时可通过 SRS 近期更新的重磅功能云录制,来很好的解决该问题。云录制将直播内容以 HLS 格式存储在了 COS 中,可以认为 COS 是个无限容量的磁盘(消耗存储空间遵循 COS 计费规则),使用云录制可避免录制内容撑爆 SRS 云服务器的磁盘。
2、云点播
如果业务场景比较丰富,建议您选择云点播。
云点播是指转换视频流到腾讯云云点播 VoD 服务,只要推送至服务器的流均可以对接云点播。除了提供基础的存储服务外,还具备媒体 AI、媒体处理以及版权保护的能力。
3、云录制操作示例
SRS 云录制及云点播使用简单且操作步骤接近,本文以云录制为例,介绍如何在 SRS 中使用云录制功能。步骤如下:
- 在 SRS 后台管理页面中,选择云录制页签,即可查看云录制场景介绍及使用说明。
- 在“设置云密钥”中,输入 SecretId 及 SecretKey。如下图所示:
说明
SecretId 及 SecretKey 可前往 API密钥管理 页面获取。
- 单击设置账号。
- 在“设置录制规则”中,勾选“录制所有流”后单击提交。如下图所示:
- 开始推流,大约等待10 - 60秒之后,可在“录制任务列表”中查看正在录制的流。如下图所示:
您可进行以下操作:- 录制预览:在录制过程中可单击预览,实时查看录制的效果。如下图所示:
- 录制视频管理:录制结束后,可复制 HLS 链接,或进入存储桶进行管理。
七、观看直播
在 SRS 后台管理页中,单击播放的流 HTTP-FLV 流或 HLS 流中的简易或西瓜,即可进入直播画面。
说明
此时您用浏览器或手机浏览器打开链接时,可能会查看“网站连接不安全”的类似提示。您可参考 一键设置 HTTPS 进行处理。
将链接分享给粉丝和观众后,即可收看您的直播。画面如下图所示:
八、一键设置 HTTPS
此时您的 SRS 实例未设置 HTTPS,在使用浏览器或手机浏览器打开链接时,可能会查看“网站连接不安全”的类似提示。您可参考以下步骤,使用 SRS 提供的自动设置 HTTPS 功能。
说明
使用一键设置 HTTPS 功能前,您需具备域名,并已将域名解析至 SRS 实例。
- 在 SRS 后台管理页面中,选择系统配置 > HTTPS 页签,在“域名”中输入您的域名。如下图所示:
- 单击申请证书,等待证书申请成功即可。
使用腾讯云轻量服务器搭建flarum论坛
本教程是基于宝塔面板安装flarum论坛程序
准备
我这里使用的是腾讯云的轻量应用服务器.
腾讯云的学生优惠用来购买一台服务器很合算:点击进入腾讯云学生云服务器
最近的618活动也有很多不错的机型:2021年618云上Go
需要注意的是,域名购买后如果要在国内的机器解析,域名必须要备案.
如果你不想备案,不想等待备案的时间,想要购买域名后直接部署博客,可以选择购买腾讯云香港的轻量服务器这类的海外机器,速度也很快.
环境要求
- 宝塔 7.0.3 或更新版本
- Linux Server(本文用的是 Debian10 64位)
- Apache 或者 Nginx(本文用的是 Nginx 1.18.0)
- MySQL 5.6+(建议使用 MySQL 5.7,因为MySQL 自 5.7 开始支持 FULLTEXT 中文搜索,后续方便我们优化 Flarum 论坛的中文关键词搜索。)
- PHP 7.1+(本文 PHP-7.4)
下面的步骤基于上方的环境已经安装的情况
PHP设置
选择【安装扩展】,安装 fileinfo(opcache、exif 非必选)
解除 PHP 函数禁用,进入宝塔面板,打开 PHP 设置,在【禁用函数】中,依次删除 putenv
、 pcntl_signal
以及 proc_open
设置PHP配置文件
最大脚本运行时间(max_execution_time):600
脚本内存限制(memory_limit):512M 或 1024M
安装 Composer
使用 SSH 依次执行以下命令:
# 将安装脚本下载到当前目录
php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"
# 运行安装脚本
php composer-setup.php
# 删除安装脚本
php -r "unlink('composer-setup.php');"
# 全局安装 composer(配置系统环境变量)
mv composer.phar /usr/local/bin/composer
将 composer 源改成阿里云的镜像(由于 Composer 的服务器在国外,可能导致下载 Flarum 已经依赖包会很慢,所以我们需要更换一下源地址。)
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
新建存放 Flarum 的网站
前往宝塔面板 – 【网站】 – 【添加站点】,同时创建用于 Flarum 的数据库。最后提交。
需要注意的是,数据库字符集一定要是 utf8mb4
下载 Flarum
ssh进入网站根目录
cd /www/wwwroot/根目录
执行chattr -i .user.ini
解除 .user.ini 的文件锁定,否则该文件无法被删除
然后在宝塔面板里删除根目录里的所有文件,因为flarum安装时要求根目录不含任何文件
然后回到ssh
执行composer create-project flarum/flarum . --stability=beta
执行成功后会下载 Flarum 并更新依赖包。更新依赖包会根据服务器地理位置花费 十几秒 至 三十分钟 不等的时间,请耐心等待。
配置运行
上面其实就已经安装好了 Flarum,但是还需要进一步配置才能正确运行。
首先修改运行目录为public,关闭防跨站攻击
之后点击配置文件,在如图所示位置添加include /www/wwwroot/你的站点/.nginx.conf;
最后如下图所示即可
配置ssl
站点修改里点击SSL申请证书并开启强制https
访问网站
在浏览器中访问安装 Flarum 的站点网址。
可以看到出现下面的情况:
这是因为没有给予网站目录写入的权限,我们加一下权限即可:
前往宝塔面板,点击左侧【文件】,(或者使用 SSH 工具)进入 /www/wwwroot
目录。
右击您的站点目录,选择【权限】,权限修改为 755 权限并保存。不要忘记勾选 “ 应用到子目录 ”。
接着刷新一下论坛网页就好了,根据图片提示填写好论坛信息。数据库名
、数据库用户名
、数据库密码
都可以在宝塔面板查看。
填写完数据库信息、管理员信息,点击安装即可。
安装部署部分到此结束。
插件安装
flarum的主程序安装可能有些繁琐,但相信我.他的插件简单的多.
安装插件只需要一条命令即可.
我们进入ssh,cd的网站的根目录,执行插件安装命令
flarum的插件市场也很方便,进入https://extiverse.com/,我们按照最多下载来排序,查看你需要的插件在论坛网站根目录执行安装命令就可以了
测试演示网址
我搭建的flarum论坛: https://bgp.re/
原文链接: https://www.wangfuchao.com/1381/
以上是关于腾讯云轻量应用服务器使用 SRS 应用镜像搭建个人直播间视频转播本地录制!的主要内容,如果未能解决你的问题,请参考以下文章