回顾:AirenSoft烤箱媒体引擎
这篇综述将强调 OvenMedia-Engine, AirenSoft的开源流媒体服务器, 并探索其为直播提供亚秒延迟的功能. 本文还将涉及OvenMediaEngine的选项 LL-HLS and WebRTC. 最后,我们将深入研究测试SRT和RTMP摄取选项.
关于OvenMediaEngine(企业版)
OvenMediaEngine是一个功能齐全的开源流媒体服务器,可以通过webbrtc和LL -HLS提供高清直播流,延迟时间低于秒. 它能够通过以下协议摄取实时流, SRT, RTMP, RTSP, 和mpeg - 2 TS. 此外,用户可以编码为自适应比特率(ABR5)与嵌入式实时转码器和流到LL- HLS和WebRTC观众.
设置OvenMediaEngine
有两种方法可以访问和运行烤箱- MediaEngine:你可以下载烤箱- MediaEngine源代码并自己构建它, 或者你可以用Docker安装它.
我使用了OME Docker Launcher来设置OvenMediaEngine. To do this, 您需要熟悉通过命令行界面编写Bash脚本,并使用Amazon Web Services (AWS)启动EC2实例. 您还需要对使用AWS有基本的了解. 对于那些不熟悉Docker的人, OME Docker Launcher使事情变得轻而易举, 因为AirenSoft提供了在命令行界面中运行所需的所有命令.
要开始使用烤箱- MediaEngine,首先你需要订阅EC2. 然后,您可以在AWS上启动烤箱- MediaEngine的实例. 以下步骤将指导您使用OME Docker Launcher完成安装过程.
首先,单击Launch Instance,并为实例指定一个名称. 你可以看到 Figure 1我把我的命名为OME-TEST. 然后,选择一个amazon Linux AMI. 在本文的测试中,我使用了Amazon Linux 2023. 对于实例类型,您可以使用T2.微只是为了测试的目的. 接下来,设置要使用的密钥对,并为您的安全组配置网络设置.
Figure 1. 设置OvenMediaEngine
Table 1 显示了OvenMedia - Engine使用的端口. 这些是我在安全组中的EC2实例上打开的端口. 您需要在服务器上打开这些端口.
Table 1. OvenMediaEngine港口
安装Docker和OvenMediaEngine
以下是安装OvenMedia - Engine的步骤:
- 使用SSH连接到EC2实例
- 通过SSH连接后,使用以下命令安装Docker:
安装docker
- 接下来,使用下面的语句测试Docker以确认它已经正确安装:
$ sudo service docker start
- Then, 使用Docker Launcher安装OvenMediaEngine, 在Linux shell中运行如下命令:
curl -OL 'http://raw.githubusercontent.http://www.airensoft /OvenMediaEngine/master/ misc/ome _ docker _ launcher.sh' && Chmod +x ome _ docker _ launcher.sh
- 运行以下命令显示Oven - MediaEngine仪表板屏幕:
./ome _ docker _ launcher.sh -h
- 按照仪表板屏幕上显示的说明执行以下命令:
sudo ./ome _ docker _ sh setup
现在,是时候启动流服务器了. 现在应该准备好了, 你可以用下面的命令启动OvenMediaEngine(一定要包括你的IP地址):
$ ome _ host _ ip =1.2.3.4 ./ome _ docker_ launcher.sh start
Figure 2 显示了一旦烤箱- MediaEngine启动并运行后您将看到的内容. 从图中可以看出,这些是OvenMediaEngine使用的端口.
Figure 2. 启动OvenMediaEngine后端口的详细信息
使用OME Docker Launcher完成OvenMediaEngine的其余设置和其他高级项目, go to the 开始使用OME Docker Launcher视频教程. 它还将引导您通过设置与OvenMediaEngine一起使用的TSL证书. 你可以在这里找到安装Docker的文档 go2sm.com/docker.
发送流与OvenMediaEngine
一旦OvenMediaEngine安装并启动,你就可以开始向流服务器发送流了. 要发送RTMP流,您可以使用RTMP流的通用格式进行实时编码. 您需要记住的是,OvenMediaEngine的默认应用程序称为“app !.因此,请确保在任何实时编码中都包含这一点. 您的流名称可以是您喜欢的任何名称.
中显示的示例中 Figure 3 使用开放广播软件(OBS), rtmp 是协议,和 1935 端口是否被使用?. 两者都包含在服务器字段中. 默认的应用程序名称为 app,这也包括在内. 最后,我选择的流名称是 sample,但你可以给你的起任何你喜欢的名字.
Figure 3. 发送流
对于测试回放,您可以选择使用安全TLS演示播放器(http://demo.ovenplayer.com)或非安全、非tls演示播放器(http://demo.ovenplayer.com). 在编写本文时,我使用非tls播放器进行测试,并使用以下格式访问播放器:http://my.ip.地址:8090. 使用LL-HLS和Web -
播放的RTC如下:
Figure 4 显示了OvenMediaPlayer在测试播放时的样子.
Figure 4. 流式播放视图
测试OvenMediaEngine
下面是我测试OvenMediaEngine的方法. First, 我对是否能够使用Docker设置和配置流媒体服务器很感兴趣. 免费的开源版本的OvenMediaEngine有更多的功能, 为了让这个版本正常工作, 我需要使用Docker.
Second, 我想看看烤箱- mediaengine如何使用Videon的LiveEdge Max和OBS来摄取SRT和RTMP实时编码. Third, 我想知道如果Web-RTC和LL -HLS流媒体播放将是简单的新手. 最后,我对测试延迟感兴趣.
流媒体服务器设置
使用OME Docker Launcher设置OvenMediaEngine既快速又简单. 因为AirenSoft提供了脚本和其他命令,所以这是一个简单的过程. 此外,使用Docker毫不费力,因为我对Bash脚本和AWS非常熟悉
测试实时流的摄取
使用OvenMediaEngine获取SRT和RTMP实时编码也是一个简单的过程. 唯一棘手的部分是格式化streamID,以便对SRT流进行百分比编码. Videon提供了关于如何为LiveEdge Max格式化流媒体的优秀指导,并引导我通过使用LiveEdge Max使用OvenMediaEngine配置SRT设置的所有元素. 在我确保我的UDP端口9999在我的EC2上是打开的之后,设置就很简单了. Videon的帮助还指导我使用OBS配置SRT流.
这是我对摄入的测试:
- LiveEdge最大rtmp摄取
- OBS-RTMP摄取
- 最大srt摄取
- OBS-SRT摄取
使用OvenMedia - Engine设置RTMP摄取并不困难. Figure 5 显示了在LiveEdge Max中配置的主要设置.
Figure 5. RTMP设置在LiveEdge Max
配置SRT摄取需要更多的工作,因为在OBS和LiveEdge Max中都需要streamID.
Figure 6 显示OBS所需的流ID的格式. 用户只需要在“服务”下选择“自定义”,并输入他们的流媒体.
Figure 6. 流媒体在OBS中添加
Figure 7 显示了LiveEdge Max所需的streamamid for - matting.
Figure 7. 在LiveEdge Max中添加了StreamID
用户必须在output中创建一个SRT设置,并输入以下内容:
Call Mode: Caller
URL: srt:// ipaddressofserver: 9999
Stream ID: srt % 3 a % 2 f % 2 f myipaddress % 3 a9999 fsample % 2 fapp % 2
总的来说,在OBS或LiveEdge Max上使用SRT摄取流工作得很好,没有问题. 我唯一的问题是一个用户错误,忽略了在我的AWS安全组中打开9999的UDP端口.
测试流播放
webbrtc和LL-HLS的流媒体播放对我来说很顺利. 我使用非tls播放器进行测试,这对于播放两种类型的流都很顺利. 我没有在OvenMedia - Engine上暂停TLS证书来测试TLS上的流.
延迟测试
对于延迟测试, 我测试了LiveEdge Max和OBS,使用了各自预设中的大多数默认设置. 图8和图9 显示我使用的两个编码器.
Figure 8. 用于测试LiveEdge Max的编码设置
Figure 9. 用于测试OBS的编码设置
Tables 2 and 3 看看我的测试结果.
Table 2. 使用RTMP摄取进行延迟测试
Table 3. 使用SRT摄取进行延迟测试
封闭的思想
Overall, 我很高兴能够安装和配置烤箱- MediaEngine, 尽管我之前没有使用Docker的经验. 爱人软提供给我的帮助百家乐软件和视频都很棒, 以及公司对我一路走来的许多问题的回答. 一旦Docker启动并运行,我发现自己在命令行界面中运行命令非常舒服.
另外, 我了解到摄取RTMP和SRT实时编码到OvenMediaEngine(支持LiveEdge Max和OBS)工作得很好,如果正确格式化流很容易. 通过webbrtc和LL- HLS配置OvenMedia - Engine流媒体播放对我来说很简单. 对于新手来说,它也应该足够容易. 即使使用较小的免费层实例进行测试, 我的测试结果很好,在预期的范围内.
我想测试两个项目,但没有足够的时间来测试,一个是创建我自己的自定义应用程序,而不是使用默认的应用程序“app”,另一个是添加我自己的编码阶梯,用于转码传入的直播流. 我也不知道如何配置这些项目,可能需要AirenSoft的更多指导. 将来有一个图形用户界面来简化更复杂的应用程序设置,以便创建自定义应用程序,并允许用户为实时转码添加编码阶梯,这可能会很好.
相关文章
本评论将重点介绍JW Player在线视频平台,并探索其点播流媒体, captioning, Web播放器功能, 还有其他特点. 它将引导观众使用该平台, 包括上传视频等核心功能, 进口流, 以及在媒体库中创建播放列表并配置媒体播放器, 以及更高级的功能. 本文还将讨论使用该平台进行的测试.
17 May 2024
与大型体育流媒体运营商合作, WebRTC为超低延迟流媒体提供了一个真正的机会. 但是同样的运算符, 哪些公司在授权上花费了数十亿美元, 不能用SSAI和DRM等基本的OTT功能来交换实时流媒体内容的能力.
19 Jan 2024
本综述将重点介绍NETINT Quadra T1U,并探讨其作为视频处理单元(VPU)用于大容量编码和单文件转码的能力, 编码梯子, 还有直播.
05 Dec 2023
而不是专注于随机的任务, 本教程将带您了解使用FFmpeg编码低延迟HLS的基础知识, OBS, Mux Video, 和THEOplayer
2022年3月2日
提及的公司及供应商