Mehrteiliger Stream kann mit Apache httpupload nicht gelesen werdenJava

Java-Forum
Guest
 Mehrteiliger Stream kann mit Apache httpupload nicht gelesen werden

Post by Guest »

Ich versuche, mit diesem Code eine Folge von Bildern aus dem MJPEG-Stream einer Webcam zu lesen, wobei ich hauptsächlich der Beispielverwendung javadoc oben in MultipartStream folge:

Code: Select all

    public static void main(String[] args) {
try {
HttpURLConnection conn = (HttpURLConnection) new URL("http://....").openConnection();
conn.setRequestMethod("GET");
conn.connect();
if (conn.getResponseCode() != 200)
throw new RuntimeException("Failed to connect: " + conn.getResponseCode());

String ct = conn.getHeaderField("Content-Type");
String bnd = "--" + ct.split("boundary=")[1];
System.out.println("Boundary is: " + bnd);

try (InputStream is = conn.getInputStream()) {
MultipartStream multi = new MultipartStream(is, bnd.getBytes(StandardCharsets.ISO_8859_1), 4096, null);
boolean next = multi.skipPreamble(); // STUCK HERE
while (next) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
multi.readBodyData(baos);
processFrame(baos);
next = multi.readBoundary();
}
}

} catch (Exception e) {
e.printStackTrace();
}
}
Chrome scheint den Stream erfolgreich rendern zu können, daher glaube ich nicht, dass es sich um einen ungültigen Stream handelt. Es bleibt bei multi.skipPreamble() hängen. Intern verbraucht es einfach endlos den Quell-InputStream, ohne jemals eine Grenze zu finden, denke ich. Ich bin mir nicht sicher, was ich falsch mache. Ich habe versucht, den eingehenden Stream in eine Datei zu kopieren und mir diese anzusehen, aber für mein ungeübtes Auge sieht es in Ordnung aus:
[img]https:/ /i.sstatic.net/f5HT7lT6.png[/img]

und dann am Ende des ersten Frames kann ich Folgendes sehen:
< img alt="Ende des ersten Frames" src="https://i.sstatic.net/8At8OdTK.png" />
Dies wiederholt sich wie erwartet.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post