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, и мне нужно было использовать только Write. Вышеизложенное отлично работает. Мне просто нужно выяснить, как остановить это сейчас.
Вы спрашиваете: «Учитывая серию неподвижных кадров, как мне преобразовать это в видео?» или «Учитывая видео, как я могу передать это с помощью OWIN/KATANA?» –
Я возьму серию неподвижных кадров, которые я хотел бы передать клиенту в прямом эфире. У меня есть подключение к камере и, возможно, может защелкнуть 30 кадров в секунду. Можно ли передать это обратно с OWIN/KATANA? –
Вы упомянули тег