C# 如何执行Azure Media Service实时流视频的处理,因为它';正在播放什么?
我正在创建一个应用程序,它从web上托管的摄像头中获取视频,通过计算机视觉算法来检测人类(使用EmguCV的OpenCV包装器以C#编写),并将处理后的视频流到ASP.NET客户端 我认为可行的过程是让Azure Media Services为视频创建一个实时流频道,并在过程中的某个地方注入我的代码来处理视频。该算法的大部分决策都使用SQL数据库,因此我想把它放在WebJob中,让它在存储视频时处理视频。我更愿意在Azure媒体服务流程中的某个地方处理它,而不是使用WebJob 我的问题是:有没有一种方法可以在视频进入时对其进行处理,因此在存储中看到的是经过处理的视频,人们周围有盒子(我的算法将一帧作为输入并输出一帧的盒子)?如果是这样,我可以在编码器设置中将我的逻辑放在哪里 另外,如果你有其他方法,请告诉我!我愿意接受各种想法!我计划扩展这个应用程序,使用多个摄像头作为输入,客户端应该能够在订阅源之间切换。这与我的问题无关,但也是一个考虑因素。我知道有可能让WebJob将视频从存储中取出、处理并放回,但该应用程序会失去“实时”功能 技术堆栈: Azure SQL数据库已创建 Azure网站已创建 Azure媒体服务和存储已创建 可能的Azure WebJob处理算法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 我的问题是:有没
提前非常感谢您的帮助 目前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媒体服务。我没有为您提供交钥匙解决方案,但我希望它能帮助您。如果您发现这些答案中的任何一个有帮助,请将其标记为正确。