我想设置一个 ngninx rtmp 代理,它可以从具有热交换功能的客户端转发流。
我自己不确定确切的问题,我不太习惯 rtmp,但我会尝试解释我想要实现的目标:
我想设置一个不间断运行的 twitch 流,即使转发的客户端停止流式传输,假设我们在同一个 twitch 频道上有多个流媒体广播,当一个流媒体完成后,另一个接替它,但这需要流被切断几分钟。
有没有办法将 nginx 设置为不断流到该 twitch 频道(即使没有客户端正在流式传输),并开始转发连接到 nginx 的新流媒体的流,而不必切断 twitch 流?如果第二个流媒体加入,nginx 是否可以自动删除第一个流媒体并输出第二个流媒体的视频,再次不删除 twitch 广播?
提前感谢您的任何回复!
小智 0
我不清楚您是否具体说明您希望使用哪种语言或系统等来完成此操作,但看起来您希望与(几乎)同时双向工作的多个位置建立多个连接。
首先,如果您需要的话,我将为您提供一些帮助链接,然后我将告诉您如何通过通用网络浏览器(在您的系统和浏览器的轮询能力范围内)设置类似的链接。
这可能对你有帮助。
也许如果您尝试使用 A Simple Webserver in C++ for Windows 中的一些代码:https://renenyffenegger.ch/notes/web/webserver/cpp/simple/index
或者
也许您正在寻找类似的东西。来自 VASTreaming 的 C++ 媒体流库: https://vastreaming.net/cpp-streaming-libraries.html
或者
您可以使用其中一些: https ://www.tutorialspoint.com/cplusplus/cpp_web_programming.htm
但以下是如何通过通用网络浏览器执行类似操作。
编写一个程序(我几年前在 VB6 sp5 中编写过。永远不要使用任何更高版本的 Visual Studio 做任何事情。在 C++11 中这应该可以工作。)。
本示例使用 FireFox 作为浏览器。
(1) 启动您的程序并子类 FireFox。
(2) 让你的程序告诉 Firefox 打开一个新窗口(可能需要将其设置为 FireFox“新选项卡”,也可能不需要)。
(3) 告诉你的程序获取新打开窗口的预句柄。快速执行此操作并继续尝试(如果操作系统过载,则最多 30 秒),直到获得预句柄,然后将新窗口的句柄分配给该新窗口或新选项卡。
(4) 使用该新句柄并将 javascript 发送到地址栏(减去“j”),这意味着您将整个“javascript...”发送到该地址栏,然后添加前面的“j”,因为如果 FireFox检测到您将任何带有整个单词“javascript”的命令放入地址栏中,它会阻止您执行某些操作(如果我没记错的话)。
(5) 运行该 javascript,告诉页面定期轮询您所需的位置以获取更新,并定期响应更新(使用计时器)。
(6) 就这么简单。浏览器中的网页,其中运行的 javascript 会执行您所要求的操作。
或者作为最后的手段:
在您的地址设置一个网络服务器并直接连接到它并让它为您进行轮询。
| 归档时间: |
|
| 查看次数: |
486 次 |
| 最近记录: |