C# 重定向视频流
假设我正在将带有OBS的RTMP视频发送到我的C#app,例如C# 重定向视频流,c#,asp.net-core,nginx,rtmp,C#,Asp.net Core,Nginx,Rtmp,假设我正在将带有OBS的RTMP视频发送到我的C#app,例如http://my_site/.com 我想将它重定向到例如中间件中的内部rtmp服务器-在urlrtmp://internal/live 如何在不破坏视频流的情况下执行“重定向” app.Use(async (context, next) => { if (!context.Request.Headers.TryGetValue("ApiKey", out var key)) { context
http://my_site/.com
我想将它重定向到例如中间件中的内部rtmp服务器-在urlrtmp://internal/live
如何在不破坏视频流的情况下执行“重定向”
app.Use(async (context, next) =>
{
if (!context.Request.Headers.TryGetValue("ApiKey", out var key))
{
context.Response.StatusCode = (int)HttpStatusCode.Unauthorized;
return;
}
if (!apiKeys.Contains(key))
{
context.Response.StatusCode = (int)HttpStatusCode.BadRequest;
return;
}
Redirect(await next.Invoke());
});
如果我只想重定向所有数据,是否需要添加一些支持rtmp协议?rtmp是一种双向协议。您可以在两者之间使用TCP代理(如ssh隧道或ha代理)。但是您仍然需要运行一些软件的RTMP服务器。这可能在你的应用程序中,甚至只是nginx 如果您只是试图“重定向”到另一个您不控制的RTMP服务器,任何TCP代理都可以。它不需要知道RTMP 一般来说,我“只是”想知道有人正在流到我的rtmp。我想要一些元数据,例如至少在什么url下,例如
rtmp://internal/live/1234
或能够拒绝该人