Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何执行Azure Media Service实时流视频的处理,因为它';正在播放什么?_C#_Asp.net Mvc_Opencv_Video_Azure Media Services - Fatal编程技术网

C# 如何执行Azure Media Service实时流视频的处理,因为它';正在播放什么?

C# 如何执行Azure Media Service实时流视频的处理,因为它';正在播放什么?,c#,asp.net-mvc,opencv,video,azure-media-services,C#,Asp.net Mvc,Opencv,Video,Azure Media Services,我正在创建一个应用程序,它从web上托管的摄像头中获取视频,通过计算机视觉算法来检测人类(使用EmguCV的OpenCV包装器以C#编写),并将处理后的视频流到ASP.NET客户端 我认为可行的过程是让Azure Media Services为视频创建一个实时流频道,并在过程中的某个地方注入我的代码来处理视频。该算法的大部分决策都使用SQL数据库,因此我想把它放在WebJob中,让它在存储视频时处理视频。我更愿意在Azure媒体服务流程中的某个地方处理它,而不是使用WebJob 我的问题是:有没

我正在创建一个应用程序,它从web上托管的摄像头中获取视频,通过计算机视觉算法来检测人类(使用EmguCV的OpenCV包装器以C#编写),并将处理后的视频流到ASP.NET客户端

我认为可行的过程是让Azure Media Services为视频创建一个实时流频道,并在过程中的某个地方注入我的代码来处理视频。该算法的大部分决策都使用SQL数据库,因此我想把它放在WebJob中,让它在存储视频时处理视频。我更愿意在Azure媒体服务流程中的某个地方处理它,而不是使用WebJob

我的问题是:有没有一种方法可以在视频进入时对其进行处理,因此在存储中看到的是经过处理的视频,人们周围有盒子(我的算法将一帧作为输入并输出一帧的盒子)?如果是这样,我可以在编码器设置中将我的逻辑放在哪里

另外,如果你有其他方法,请告诉我!我愿意接受各种想法!我计划扩展这个应用程序,使用多个摄像头作为输入,客户端应该能够在订阅源之间切换。这与我的问题无关,但也是一个考虑因素。我知道有可能让WebJob将视频从存储中取出、处理并放回,但该应用程序会失去“实时”功能

技术堆栈: Azure SQL数据库已创建 Azure网站已创建 Azure媒体服务和存储已创建 可能的Azure WebJob处理算法


提前非常感谢您的帮助

目前Azure Media Services不允许将用户定义的代码插入处理管道。您可以选择现有处理器或利用当前通过azure marketplace提供的3d party编码器


目前(根据您的要求),我认为您需要一个代理VM,它可以对传入流进行人脸识别,并将处理后的流重定向到Azure Media Services live频道。NGIX web服务器+ffmpeg+OpenCV是一个很好的解决方案。

非常感谢您的回复!您能否提供有关“将处理后的流重定向到Azure Media Services”过程的更多详细信息?我不清楚这是怎么回事。有没有办法将视频直接发送到直播流中?我知道它使用RTMP协议,但我找不到如何在C#中实现这一点。再次感谢!讨论使用ngix和ffmpeg进行转码。在他们的示例中,他们正在进行大小调整和一些比特率更改。按照这些思路,您可以尝试应用OpenCV并将结果重定向到azure媒体服务。我没有为您提供交钥匙解决方案,但我希望它能帮助您。如果您发现这些答案中的任何一个有帮助,请将其标记为正确。