gpt4 book ai didi

azure - 将预先录制的视频作为直播流传输到 Azure 媒体服务

转载 作者:行者123 更新时间:2023-12-03 03:54:28 26 4
gpt4 key购买 nike

我想做一些对我来说听起来很简单的事情,但我很难找到解决方案。

我有一个预先录制的视频,需要通过 API 启动。我需要通过 RTMP 直播该视频。现在我执行以下操作:

(全部通过代码自动化)

  • 创建 Azure 实时事件
  • 获取直播事件的输入网址
  • 使用 FFMPG 启动 Docker 镜像
  • 提供参数(原始预录制视频和实时编码器的目标输入)
  • 从端点获取输出 URL
  • 将其放入数据库
  • 有一个 API,我的网络播放器可以查询该 API 以了解作业的状态
  • 当数据库中的行现在具有来自实时编码器的输出 URL 时启动流

它的接缝非常复杂。我很担心这样一个流程中的很多问题:

  • ffmpg 的性能问题
  • 延迟启动所有资源
  • 该流程中的一个组件崩溃了

最后我只想开始直播并告诉它使用 MP4 而不是等待 RTMP feed....

选项>

  • Restream.io 让我可以安排任何视频并开始将其流式传输到我的端点。我必须修改他们的 API 才能使其正常工作,而且我宁愿将所有内容都保留在 azure 中。

我很确定我在这里错过了一件极其简单的事情。任何帮助将不胜感激!

最佳答案

首先要回答人们的问题,我让这个流程运行了 300 多个测试流,每个测试流的形式各不相同,从 48 小时长到 30 分钟短的流。

失败率极高。

  • 媒体服务未能及时启动
  • FFMPEG 丢帧率
  • 正如你想象的那样,设置非常昂贵
  • 断开媒体服务和 FFMPEG 之间的连接。
  • 实时编码器无法从 FFMPEG 捕获流

另一方面,我的正常流性能(来自 RTMP 源)非常稳定。

  • 10 天 24 小时/7 在 10 个端点编码器上进行流式传输(警告,您必须联系 Microsoft 才能将限制增加到 5 个)
  • 在全局 350 个城市提供超过 20 TB 的数据,具有出色的性能和极低的延迟。

因此,对于作为“实时流”体验向所有观众提供的预先录制的视频,我采用了一种非常简单的方式。

当我确实需要可变比特率时,选项1:

  • 自动化了 AWS G4 实例上 OBS 中的脚本。
  • 通过 API 完全控制(启动、关闭和流式传输)
  • 我推送到 Azure 事件中心的非常详细的错误状态
  • 海量直播失败率为零
  • 缺点:不在我的 Azure 结算帐户中

当我不需要需要可变比特率时,选择 2:

  • 在 Azure 媒体服务中设置 MP4
  • Json 时间戳作为我的 MP4 的元数据
  • 通过 Javascript 同步我的 Azure 视频播放器,以遵循 MP4 中的当前时间戳,并让我的所有流事件在正确的时刻触发播放器和我的应用程序以供每个人观看。

现在我正在所有 VOD 和 RTMP 上攻击 5 种语言的实时翻译...祝我好运。

干杯!

关于azure - 将预先录制的视频作为直播流传输到 Azure 媒体服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65056528/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com