首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用owin/katana来流运动jpeg?

如何使用owin/katana来流运动jpeg?
EN

Stack Overflow用户
提问于 2015-10-22 17:52:27
回答 1查看 278关注 0票数 0

我在windows服务中自我托管OWIN/KATANA。现在,我已经实现了一种从相机中获取单个图像的方法。我想从相机抓取多个帧,并将它们流回html页面上的img标记。这有可能是奥林/卡塔那吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-23 18:38:45

代码语言:javascript
复制
app.Map("/Camera/Video", a =>
{
    a.Run(context =>
    {
        string connectionid = CurrentDevice.Value.ToString();
        object ret = DeviceManager.Instance.SendMessageToDevice(connectionid, "startmovie");
        context.Response.Headers.Add("Content-Type", new string[] { "multipart/x-mixed-replace; boundary=--jpgboundary" });

        bool con = true;
        StreamWriter writer = new StreamWriter(context.Response.Body);
        while (con)
        {
            using (MemoryStream ms = new MemoryStream())
            {
                Image img = (Image)DeviceManager.Instance.SendMessageToDevice(connectionid, "capturestill");
                img.Save(ms, ImageFormat.Jpeg);
                byte[] buffer = ms.GetBuffer();

                writer.WriteLine("--jpgboundary");
                writer.WriteLine("Content-Type: image/jpeg");
                writer.WriteLine(string.Format("Content-length: {0}", buffer.Length));
                writer.WriteLine();
                context.Response.Write(buffer);
                //writer.WriteLine(Convert.ToBase64String(buffer));
                writer.Flush();
            }
            Thread.Sleep(200);
        }
        DeviceManager.Instance.SendMessageToDevice(connectionid, "stopmovie");
        return context.Response.WriteAsync("");
    });
});

我弄明白了我的问题是什么。我使用的是WriteAsync,我只需要使用写的。上面的效果很好。我现在就想办法阻止这一切。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33287437

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档