Frage

Ich bin generieren einen MJpeg-Stream und zu versuchen zu streamen zu VLC und spielen Sie es dort.

Der 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();
    }

Wenn ich versuche, öffnen des Streams mit firefox, es gibt überhaupt kein problem, obwohl mit VLC funktioniert es nicht (VLC scheint zu Lesen zu halten, aber niemals zeigt das video)

Ich habe sniffing VLC zu VLC streamen, und Sie scheinen zu verwenden, wie HTTP-header "application/octet-stream" anstelle von " multipart/x-mixed-replace

Irgendwelche Ideen ?

Tks im Voraus Jose

War es hilfreich?

Lösung

Jose, Ich hatte genau das gleiche problem.Firefox spielt mein stream aber VLC nicht.Ich ging durch so viele Wege um dies herauszufinden, einschließlich debugging VLC Quellcode, und bekam keine, wo.btw Meine (REST) - URL sieht aus wie http://server:port/livevideo/xyz Dann dachte ich, ich sollte versuchen http://server:port/livevideo/xyz.mjpeg Und erraten, was, VLC gestartet, um das video abzuspielen!Ich denke, VLC, brauchen möglicherweise ein kleiner Tipp mehr, als der Inhalt geben, um herauszufinden, es ist ein mjpeg-stream.Hoffe, das hilft.

Cindy

Andere Tipps

Haben Sie versucht, diese:

Response.Buffer = false;
Response.BufferOutput = false;

oder eine Variation von denen?

Ich kann nicht firefox meinen Stream zu spielen (obwohl es in Ordnung, Chrom spielt). Für VLC habe ich den Puffer auf 0 ms (unter Advanced Open-Optionen) und es schien, von dort zu arbeiten, wenn meine Datenrate ist zu töten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top