Je génère un flux MJpeg et j'essaie de le diffuser sur VLC et de le lire.Mjpeg VLC et HTTP Streaming
Le code:
public void SendMultiPartData(String contentType, Func<byte[]> getData)
{
MemoryStream mem = null;
response.StatusCode = 200;
for (byte[] buffer = getData(); buffer != null && buffer.Length > 0; buffer = getData())
{
response.ContentType = "multipart/x-mixed-replace; boundary=--testboundary";
ASCIIEncoding ae = new ASCIIEncoding();
byte[] boundary = ae.GetBytes("\r\n--testboundary\r\nContent-Type: " + contentType + "\r\nContent-Length:" + buffer.Length + "\r\n\r\n");
mem = new MemoryStream(boundary);
mem.WriteTo(response.OutputStream);
mem = new MemoryStream(buffer);
mem.WriteTo(response.OutputStream);
response.OutputStream.Flush();
}
mem.Close();
listener.Close();
}
Si je tente d'ouvrir le flux avec firefox, il n'y a pas de problème du tout, bien qu'avec VLC ne fonctionne pas (VLC semble continuer à lire, mais jamais montre la vidéo)
J'ai sniffer le streaming VLC à VLC et ils semblent utiliser comme en-tête HTTP "application/flux d'octets" au lieu de multipart/x-mixed-replace
Toutes les idées?
TKS à l'avance, Jose