Video aus einzelnen Bildern anzeigen

LiLe

Grünschnabel
Hi,

ich hoffe, ich kann mein Problem jetzt einigermaßen gut erklären. Also

ich habe zwei Rechner. Auf dem einen wird ein Stream von einer Kamera eingelesen (im mjpeg-Format), die einzelnen Bilder werden ausgelesen und in Paket gepackt an das noch ein paar Informationen angehängt werden. Das ganze wird dann zu einem zweiten Rechner geschickt, der die Informationen wieder wegnimmt und das Bild dann in einer Activex-Komponente anzeigen soll. Hier soll im Prinzip natürlich wieder das Video als ganzes abgespielt werden.
Das Problem ist, dass die Verbindung immer verloren geht ("Connection lost for the motion jpeg stream...").
Hat jemand von euch eine andere Lösung, wie man die einzeln verpackten Bilder wieder als Video darstellen kann. Mit Quicktime gehts, aber das ist zu langsam.

Vielen Dank schon mal für eure Hilfe,

Lile
 
Moin!
Ich würde dir auf jeden Fall das Java Media Framework empfehlen, da ich selber im Moment viel damit arbeiten muss. Aber erstmal ne kurze Frage: Versendest du nur über das lokale Netzwerk ( sprich also nur in einem Subnet) oder auch darüber hinaus?
Wenn ersteres kannst du einfach die URI (Stichwort MediaLocator) zu deiner Datenquelle versenden und auf dem 2.ten PC nutzen, um das Kamerabild anzuzeigen. Keine Einzelbilder, sondern einen echten Stream.
Wenns über das lokale Netz hinaus geht, wirds ein wenig komplizierter.. Die Erklärung spare ich mir erstmal aus ;), und warte auf deine Antwort...

*grüssle*
MeinerEiner
 
Hey,

wow, du bist ja superschnell, danke!
Also, es soll über das lokale Netzwerk hinausgehen :-) und das mit den Paketen muss auch unbedingt so beibehalten werden. (Das hängt mit der restlichen Programmstruktur zusammen.)
Mit dem JMF wurde es auch schon versucht, allerdings gabs auch hier Performanceprobleme und der Versuch wurde aufgegeben.

Dann schon jetzt mal vielen Dank für deine Erklärung *g*.

Grüße
Lile
 
ich nehme mal an, einfach die einzelbilder in einer geeigneten komponente darzustellen d.h. jeweils das letzte durch das neuste angekommene zu ersetzen, also ein Video nur vorzugaukeln, kommt wohl nicht in Frage, wenn ich dich richtig verstanden habe?!
Ohne JMF hab ich dann auch keine weiteren Ideen.. vielleicht hat ja jemand anders noch en Vorschlag...

*grüssle*
MeinerEiner
 
Hm, mit welcher Komponente würdest du die Einzelbilder denn vorgaukeln?
Ich bin für alles offen und probiere gerne noch ein bissel rum, aber leider habe ich nicht sehr viel Ahnung auf dem Gebiet und stecke deshalb momentan fest, weil ich keine Ideen habe, was ich noch ausprobieren könnte.

Also immer her damit und falls gar nix klappt, probiere ich es auch noch mal mit JMF aus.

Bis denne
Lile
 
Also mir fallen da 2 Möglichkeiten ein. Entweder das Bild als Icon von z.B einem Label zu setzen, oder die Graphics Komponente nutzen, um das Bild zu zeichen.
Hier mal ne grobe Skizze der beiden Möglichkeiten:
Code:
public class ImageViewer extends JFrame{
         JLabel imageLabel;
         ....
         ....

         public void newImagereceived(Image img){
               imageLabel.setIcon(new ImageIcon(img));
               repaint(); //<-- möglichweise nicht nötig?!
         }
   ...
}

Code:
public class ImageViewer extends JFrame{
       Image img;

       public void newImagereceived(Image img){
             this.img = img;
       }
       
       public void paint(Graphics g){
          g.drawImage(this.img, 0, 0, this);

       }
 ...
}

Nachteil daran könnte aber sein, dass es bei zu schnellem Bilderwechseln flackert.
Musst du mal ausprobieren..

*grüssle*
MeinerEiner
 
Danke!
Ich werd beides mal ausprobieren. Hatte nur gestern und heute noch keine Zeit dazu. Vielen Dank jedenfalls für deine Tipps.

Grüße
Lile
 
Zurück