gpt4 book ai didi

javascript - 将元数据插入实时视频流

转载 作者:行者123 更新时间:2023-12-01 15:16:01 25 4
gpt4 key购买 nike

我想实现以下目标,但尚不清楚这是否可能。

当前场景:

Someone is streaming a video with audio through OBS to a media server, clients connect through a website.



[OBS 流/视频流] -> [AWS/外部流服务] -> 客户端

想要的场景:

capture this stream through a custom media server and manipulate it by injecting certain metadata at certain moments during the livestream. Note the importance of live.



[OBS Stream/Video Stream] -> [My Custom Node.js Server to insert metadata] -> [AWS/External Streaming Service] -> Clients

想法:

这个想法是我想将流同步到一些弹出窗口。默认协议(protocol)流似乎是来自 OBS 的 RTMP,但也许可以更改。在直播期间的给定时间,网站上的 html5 视频播放器可以从直播中读取这些标签(通过一些额外的库,例如 video.js)并告诉 JS 应用程序显示一些文本。 最后,归结为将视频流同步到文本流(例如来自 websocket 连接)

潜在解决方案:
  • ID3 标签 .我阅读了 MP3 文件中的 ID3 标签,但这似乎不是我想要的,因为它需要一个完整的 .mp3 文件 预付款并且不用于流( Dynamically Inject ID3 in FFMPEG Live Stream )。我想要的是动态地将元数据注入(inject)到这个流中。例如,在任何时候(动态选择)注入(inject)一个引用数据库的 id 就足够了。
  • LTC/线性时间码/SMPTE 这可以用node.js以某种方式将它嵌入到视频流中吗?这将使我能够将时间与客户端上的 id 匹配。

  • 给定带有音频的传入视频流,这可能吗?如果是这样,流的格式是什么?如何注入(inject)元数据?

    编辑 : 好像浏览器不支持 RTMP。这是不行的,所以我需要使用另一种流格式,例如 HLS/FLV?

    最佳答案

    听起来像使用 Liquidsoap 之类的东西因为您的流媒体服务器可以将元数据插入流中。处理元数据的大量选项供您探索。

    至于客户端解码,您也许可以在服务 worker 中使用 javascript 可读流将服务器输出拆分为元数据/视频并根据需要进行处理。

    我做了类似的事情来处理无限 mp3 流上的带内元数据,这可能会给你一些关于从哪里开始的想法。您可以找到该代码 here

    关于javascript - 将元数据插入实时视频流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61278858/

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