Mjpeg VLC und HTTP-Streaming
Ich bin der Generierung eines MJpeg-Stream und versuchen zu streamen zu VLC und spielen Sie es dort.
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 Sie den stream mit firefox, es ist überhaupt kein problem, obwohl Sie mit VLC funktioniert es nicht (VLC scheint zu Lesen zu halten, aber nie zeigt das video)
Ich habe sniffing VLC-VLC streaming-und Sie scheint die Verwendung als HTTP-header "application/octet-stream" anstelle von multipart/x-mixed-replace
Irgendwelche Ideen ?
Tks im Voraus,
Jose
InformationsquelleAutor user361526 | 2009-04-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Jose,
Ich hatte genau das gleiche problem. Firefox spielt mein stream aber VLC nicht. Ich ging durch so viele Möglichkeiten, um dies herauszufinden, einschließlich debugging VLC source code, und bekam keine, wo.
btw Meine (REST -) URL sieht wie http://server:port/livevideo/xyz
Dann dachte ich, ich sollte versuchen http://server:port/livevideo/xyz.mjpeg
Und ratet mal, was, VLC gestartet, um das video abzuspielen!
Ich denke, VLC vielleicht einen kleinen Tipp mehr als zufrieden geben, um herauszufinden, es ist ein mjpeg-stream.
Hoffe, das hilft.
Cindy
InformationsquelleAutor
Haben Sie versucht das:
Oder eine Variante von denen?
InformationsquelleAutor Jason Williams
Kann ich nicht bekommen, firefox zu spielen my stream (obwohl chrome spielt es okay). Für VLC habe ich den Puffer auf 0 ms (unter advanced open options), und es schien von dort zu arbeiten, obwohl meine Daten-rate ist, es zu töten.
InformationsquelleAutor Dolphin