如何解决在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);
}
但是我无法连接这两段代码。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。