微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在asp.net中用emgu cv创建一个广播服务器

如何解决在asp.net中用emgu cv创建一个广播服务器

我想通过带有 EMGUCV 的 RTSP 连接到相机,然后下载图像并在 asp.net 上以视频格式显示。 为此,我可以连接到相机并接收图像。我也可以在网页上显示预先保存的视频文件,但我无法以视频格式显示下载的图像。

我用来显示预先保存的视频的代码是:

public class v1Controller : ApiController
{
       public HttpResponseMessage GetVideoContent()
        {
            var httpResponce = Request.CreateResponse();
            httpResponce.Content = new PushStreamContent((Action<Stream,HttpContent,TransportContext>)WriteContentToStream);
            return httpResponce;
        }
        public async void WriteContentToStream(Stream outputStream,HttpContent content,TransportContext transportContext)
        {
            var filePath = HttpContext.Current.Server.MapPath("~/MicrosoftBizSparkWorksWithStartups.mp4");
            int bufferSize = 1000;
            byte[] buffer = new byte[bufferSize];
            using var fileStream = new FileStream(filePath,FileMode.Open,FileAccess.Read,FileShare.Read);
            int totalSize = (int)fileStream.Length;
            while (totalSize > 0)
            {
                int count = totalSize > bufferSize ? bufferSize : totalSize;
                int sizeOfReadedBuffer = fileStream.Read(buffer,count);
                await outputStream.WriteAsync(buffer,sizeOfReadedBuffer);
                totalSize -= sizeOfReadedBuffer;
            }
        }
}

我用来从相机获取图像的代码是:

VideoCapture cap = null;
            await Task.Run(() =>
            {
                cap = new VideoCapture();
                cap.Start();
            });

            while (true)
            {
                var img = cap.QueryFrame();
                var bufferr = new VectorOfByte();
                CvInvoke.Imencode(".jpg",img,bufferr);
                byte[] jpgBytes = bufferr.ToArray();
                await outputStream.WriteAsync(jpgBytes,jpgBytes.Length);
            }

但是我无法连接这两段代码

最终目标是创建一个支持 RTSP 的视频流服务器。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。