-->
保存您的免费座位流媒体连接今年八月. 现在注册!

回顾: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.微只是为了测试的目的. 接下来,设置要使用的密钥对,并为您的安全组配置网络设置.

ovenmediaengine港口

Figure 1. 设置OvenMediaEngine

Table 1 显示了OvenMedia - Engine使用的端口. 这些是我在安全组中的EC2实例上打开的端口. 您需要在服务器上打开这些端口.

ovenmediaengine港口

Table 1. OvenMediaEngine港口

安装Docker和OvenMediaEngine

以下是安装OvenMedia - Engine的步骤:

  1. 使用SSH连接到EC2实例
  2. 通过SSH连接后,使用以下命令安装Docker:
安装docker
  1. 接下来,使用下面的语句测试Docker以确认它已经正确安装:

$ sudo service docker start

  1. 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

  1. 运行以下命令显示Oven - MediaEngine仪表板屏幕:

./ome _ docker _ launcher.sh -h

  1. 按照仪表板屏幕上显示的说明执行以下命令: sudo ./ome _ docker _ sh setup

现在,是时候启动流服务器了. 现在应该准备好了, 你可以用下面的命令启动OvenMediaEngine(一定要包括你的IP地址):

$ ome _ host _ ip =1.2.3.4 ./ome _ docker_ launcher.sh start

Figure 2 显示了一旦烤箱- MediaEngine启动并运行后您将看到的内容. 从图中可以看出,这些是OvenMediaEngine使用的端口.

AirenSoft 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,但你可以给你的起任何你喜欢的名字.

在ovenmediaengine中发送流

Figure 3. 发送流

对于测试回放,您可以选择使用安全TLS演示播放器(http://demo.ovenplayer.com)或非安全、非tls演示播放器(http://demo.ovenplayer.com). 在编写本文时,我使用非tls播放器进行测试,并使用以下格式访问播放器:http://my.ip.地址:8090. 使用LL-HLS和Web -

播放的RTC如下:

Figure 4 显示了OvenMediaPlayer在测试播放时的样子.

Airensoft烤箱媒体引擎流媒体播放

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中配置的主要设置.

RTMP设置在liveedge的最大值

Figure 5. RTMP设置在LiveEdge Max

配置SRT摄取需要更多的工作,因为在OBS和LiveEdge Max中都需要streamID.

Figure 6 显示OBS所需的流ID的格式. 用户只需要在“服务”下选择“自定义”,并输入他们的流媒体.

流媒体在OBS中添加

Figure 6. 流媒体在OBS中添加

Figure 7 显示了LiveEdge Max所需的streamamid for - matting.

在LiveEdge Max中添加了StreamID

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 显示我使用的两个编码器.

用于测试LiveEdge Max的编码设置

Figure 8. 用于测试LiveEdge Max的编码设置

用于测试对象的编码设置

Figure 9. 用于测试OBS的编码设置

Tables 2 and 3 看看我的测试结果.

使用RTMP摄取进行延迟测试

Table 2. 使用RTMP摄取进行延迟测试

使用SRT摄取进行延迟测试

Table 3. 使用SRT摄取进行延迟测试

封闭的思想

Overall, 我很高兴能够安装和配置烤箱- MediaEngine, 尽管我之前没有使用Docker的经验. 爱人软提供给我的帮助百家乐软件和视频都很棒, 以及公司对我一路走来的许多问题的回答. 一旦Docker启动并运行,我发现自己在命令行界面中运行命令非常舒服.

另外, 我了解到摄取RTMP和SRT实时编码到OvenMediaEngine(支持LiveEdge Max和OBS)工作得很好,如果正确格式化流很容易. 通过webbrtc和LL- HLS配置OvenMedia - Engine流媒体播放对我来说很简单. 对于新手来说,它也应该足够容易. 即使使用较小的免费层实例进行测试, 我的测试结果很好,在预期的范围内.

我想测试两个项目,但没有足够的时间来测试,一个是创建我自己的自定义应用程序,而不是使用默认的应用程序“app”,另一个是添加我自己的编码阶梯,用于转码传入的直播流. 我也不知道如何配置这些项目,可能需要AirenSoft的更多指导. 将来有一个图形用户界面来简化更复杂的应用程序设置,以便创建自定义应用程序,并允许用户为实时转码添加编码阶梯,这可能会很好.

相关文章

评论:JW播放器

本评论将重点介绍JW Player在线视频平台,并探索其点播流媒体, captioning, Web播放器功能, 还有其他特点. 它将引导观众使用该平台, 包括上传视频等核心功能, 进口流, 以及在媒体库中创建播放列表并配置媒体播放器, 以及更高级的功能. 本文还将讨论使用该平台进行的测试.

2024年是WebRTC年吗?

与大型体育流媒体运营商合作, WebRTC为超低延迟流媒体提供了一个真正的机会. 但是同样的运算符, 哪些公司在授权上花费了数十亿美元, 不能用SSAI和DRM等基本的OTT功能来交换实时流媒体内容的能力.

回顾:NETINT Quadra T1U视频处理单元

本综述将重点介绍NETINT Quadra T1U,并探讨其作为视频处理单元(VPU)用于大容量编码和单文件转码的能力, 编码梯子, 还有直播.

如何实现低延迟HLS (LL HLS)

而不是专注于随机的任务, 本教程将带您了解使用FFmpeg编码低延迟HLS的基础知识, OBS, Mux Video, 和THEOplayer

提及的公司及供应商