我想设置一个ngninx的rtmp代理,可以转发流从客户端与热交换能力。
我自己也不确定确切的问题,我不是很习惯RTMP,但我会尽量解释我想达到的目的:
我想设置一个抽搐流,将运行不停止,即使当转发的客户端停止流,让我们假设我们有多个流媒体广播在同一抽搐通道,当一个已经完成流,另一个采取它的地方,但需要流被削减了几分钟。
有没有一种方法可以设置nginx不断地流到那个twitch频道(即使没有客户端在流),并开始转发连接到nginx的新流媒体的流,而不必切断twitch流?如果有第二个流媒体加入,nginx是否可以自动删除第一个流媒体并输出第二个流媒体的视频,而不会删除twitch广播?
exemple
提前感谢您的任何回应!
2条答案
按热度按时间uklbhaso1#
我不清楚你是否具体是什么语言或系统或等,你想在这样做,但它看起来像你想要多个连接到多个位置,工作双向(几乎)在同一时间。
首先,我会给予你一些链接,以帮助如果你需要他们,然后我会告诉你如何设置类似通过一个共同的网络浏览器(在您的系统和浏览器的轮询能力)。
这可能对你有帮助
也许如果你尝试使用C++ for Windows中的A Simple Webserver中的一些代码:https://renenyffenegger.ch/notes/web/webserver/cpp/simple/index
或者是
也许你正在寻找这样的东西。来自VASTreaming的Media Streaming Libraries for C++:https://vastreaming.net/cpp-streaming-libraries.html的
或者是
你可以使用其中的一些:https://www.tutorialspoint.com/cplusplus/cpp_web_programming.htm的
但是这里是如何通过普通的web浏览器来做类似的事情。
写一个程序(在VB6 sp5我做了这几年前。永远不要使用任何更高版本的Visual Studio。在C++11中,这应该是可行的。
本例使用FireFox作为浏览器。
(1)让你的程序启动并子类化FireFox。
(2)让你的程序告诉Firefox打开一个新窗口(可能需要将其设置为Firefox的“新标签页”,也可能不需要)。
(3)告诉你的程序获取新打开的窗口的预句柄。快速执行此操作并继续尝试(如果操作系统过载,则最多30秒),直到获得预处理,然后为新窗口或新选项卡分配新窗口的句柄。
(4)使用新的句柄并发送一个JavaScript到地址栏(减去“j”),这意味着你发送一个完整的“avascript...”到该地址栏,然后添加前面的“j”,因为如果FireFox检测到你将任何命令放置到地址栏中的整个单词“javascript”,它会阻止你做一些事情(如果我没记错的话)。
(5)运行该JavaScript,告诉页面定期轮询所需位置的更新,并定期适当地响应更新(使用计时器)。
(6)就这么简单。浏览器中的网页,让JavaScript在其中运行,做你要求的事情。
或者作为最后的手段:
在您的地址设置一个Web服务器,并直接连接到它,让它为您做民意调查。
mepcadol2#
我自己还没有试过,不知道这是否符合TOS,但从技术上讲,这应该是可行的。然而,这与Nginx无关,因为Nginx不能为twitch生成静态/空白数据。您需要两个设备/拖缆器具有相同的流密钥(注意:它们不应尝试同时连接)。然后激活Twitch's Disconnect Protection。从你断开第一台设备的那一刻起,第二台设备将有90秒的时间开始向Twitch传输流媒体。由于两者都使用相同的流密钥,因此它将继续运行。