Hi zusammen,
ich würde gerne Webcams auf einer Redaxo-Seite anzeigen. Diese würde ich dann gerne auch auf eine bestimmte Größe resizen. Ist das mit dem Resize-Addon möglich? Ich habe es getestet und es funktioniert bei mir leider nicht. Vielleicht hat es damit zu tun, dass das Bild nicht gecacht wird, sollte es ja aber bei einer webcam auch nicht...
Hat einer eine Idee, wie ich das bewerkstelligen könnte?
Hallo,
Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.
Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.
Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
-
- Beiträge: 168
- Registriert: 9. Feb 2005, 20:51
- Wohnort: Bad Nauheim
- Kontaktdaten: Website
rex_resize und Webcam
Gruß Florian
www.softloop.biz
www.softloop.biz
- holger
- Beiträge: 403
- Registriert: 21. Jun 2005, 13:21
- Wohnort: Sehnde / Hannover / lower saxony
- Kontaktdaten: Website
Hallo,
bei Webcam ist es eigentlich so, das diese ein .jpg-Bild per FTP in einen Ordner laden. Dieses kann man dan einfach z.B. mit
"index.php?rex_resize=100w__imagefile" einbinden.
Die andere Variante ist, das man einen Livestream darstellen will.
Dafür benötigt man ein Java-Applet, das entweder bei der Webcam dabei ist oder das es im Web zum downloaden gibt. Dieses kann man dann per Modul: PHP einbinden. Die Größe wird hierbei im Applet eingestellt.
Ich hoffe, ich konnte helfen.
mfg
Holger
bei Webcam ist es eigentlich so, das diese ein .jpg-Bild per FTP in einen Ordner laden. Dieses kann man dan einfach z.B. mit
"index.php?rex_resize=100w__imagefile" einbinden.
Die andere Variante ist, das man einen Livestream darstellen will.
Dafür benötigt man ein Java-Applet, das entweder bei der Webcam dabei ist oder das es im Web zum downloaden gibt. Dieses kann man dann per Modul: PHP einbinden. Die Größe wird hierbei im Applet eingestellt.
Ich hoffe, ich konnte helfen.
mfg
Holger
// Wenn die Theorie von der Praxis abweicht: --> Ändere die Theorie //
CHRONO.net Media Works
In der Wörth 11
31319 Sehnde
+495138614810 tel
+495138615553 fax
info@chrono.net
CHRONO.net Media Works
In der Wörth 11
31319 Sehnde
+495138614810 tel
+495138615553 fax
info@chrono.net
-
- Beiträge: 168
- Registriert: 9. Feb 2005, 20:51
- Wohnort: Bad Nauheim
- Kontaktdaten: Website
Hallo Holger,
danke für deine Antwort. In meinem Fall sind es "Standbild"-Webcams. D.h. ich habe eine Adresse, hinter der sich ein JPEG verbirgt, was in gewissen Zeitabständen aktualisiert wird.
Was ich probiert habe, ist das Bild folgendermaßen mit rex_resize darzustellen:
Leider funktioniert das nicht, das Bild wird nicht angezeigt. Woran könnte das liegen?
danke für deine Antwort. In meinem Fall sind es "Standbild"-Webcams. D.h. ich habe eine Adresse, hinter der sich ein JPEG verbirgt, was in gewissen Zeitabständen aktualisiert wird.
Was ich probiert habe, ist das Bild folgendermaßen mit rex_resize darzustellen:
Code: Alles auswählen
index.php?rex_resize=100w__http://www.bildadresse.de/bild.jpg
Gruß Florian
www.softloop.biz
www.softloop.biz
- holger
- Beiträge: 403
- Registriert: 21. Jun 2005, 13:21
- Wohnort: Sehnde / Hannover / lower saxony
- Kontaktdaten: Website
hallo,
"index.php?rex_resize=100w__http://www.bildadresse.de/bild.jpg"
ich denke, es funktioniert nur mit einem direktem pfad zu dem ordner. ich habe das resize-modul nicht programmiert, aber ich denke, es ist so.
am besten, du speicherst das webcambild gleich in den /files - ordner von redaxo.
mfg
holger
"index.php?rex_resize=100w__http://www.bildadresse.de/bild.jpg"
ich denke, es funktioniert nur mit einem direktem pfad zu dem ordner. ich habe das resize-modul nicht programmiert, aber ich denke, es ist so.
am besten, du speicherst das webcambild gleich in den /files - ordner von redaxo.
mfg
holger
// Wenn die Theorie von der Praxis abweicht: --> Ändere die Theorie //
CHRONO.net Media Works
In der Wörth 11
31319 Sehnde
+495138614810 tel
+495138615553 fax
info@chrono.net
CHRONO.net Media Works
In der Wörth 11
31319 Sehnde
+495138614810 tel
+495138615553 fax
info@chrono.net
-
- Beiträge: 168
- Registriert: 9. Feb 2005, 20:51
- Wohnort: Bad Nauheim
- Kontaktdaten: Website
Es müsste dann ja aber auch regelmäßig automatisch aktualisiert werden. Wie könnte ich das erreichen?
Gruß Florian
www.softloop.biz
www.softloop.biz
- holger
- Beiträge: 403
- Registriert: 21. Jun 2005, 13:21
- Wohnort: Sehnde / Hannover / lower saxony
- Kontaktdaten: Website
hallo,
genau das wird das Problem sein.
das modul erkennt ja nicht, das das immer ein neues bild ist.
also ist mit cache hier nichts zuerreichen.
das bild muss bei jedem aufruf neu generiert werden.
beispiel hier (wird im php-modul integriert):
ungetestet.
mfg
Holger
genau das wird das Problem sein.
das modul erkennt ja nicht, das das immer ein neues bild ist.
also ist mit cache hier nichts zuerreichen.
das bild muss bei jedem aufruf neu generiert werden.
beispiel hier (wird im php-modul integriert):
Code: Alles auswählen
<?
// Ordner müssen vorhanden und beschreibbar sein
$PicPathIn="files/";
$PicPathOut="files/out/";
// Orginalbild
$bild="Foto.jpg";
// Bilddaten ermitteln
$size=getimagesize("$PicPathIn"."$bild");
$breite=$size[0];
$hoehe=$size[1];
$neueBreite=100;
$neueHoehe=intval($hoehe*$neueBreite/$breite);
if($size[2]==1) {
// GIF
$altesBild=ImageCreateFromGIF("$PicPathIn"."$bild");
$neuesBild=imageCreate($neueBreite,$neueHoehe);
imageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
imageGIF($neuesBild,"$PicPathOut"."TN"."$bild");
}
if($size[2]==2) {
// JPG
$altesBild=ImageCreateFromJPEG("$PicPathIn"."$bild");
$neuesBild=imageCreate($neueBreite,$neueHoehe);
imageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
ImageJPEG($neuesBild,"$PicPathOut"."TN"."$bild");
}
if($size[2]==3) {
// PNG
$altesBild=ImageCreateFromPNG("$PicPathIn"."$bild");
$neuesBild=imageCreate($neueBreite,$neueHoehe);
imageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
ImagePNG($neuesBild,"$PicPathOut"."TN"."$bild");
}
$Thumbnail=$PicPathOut."TN".$bild;
echo "<IMG SRC=\"$Thumbnail\" WIDTH=\"$neueBreite\" HEIGHT=\"$neueHoehe\">";
?>
mfg
Holger
// Wenn die Theorie von der Praxis abweicht: --> Ändere die Theorie //
CHRONO.net Media Works
In der Wörth 11
31319 Sehnde
+495138614810 tel
+495138615553 fax
info@chrono.net
CHRONO.net Media Works
In der Wörth 11
31319 Sehnde
+495138614810 tel
+495138615553 fax
info@chrono.net
-
- Beiträge: 168
- Registriert: 9. Feb 2005, 20:51
- Wohnort: Bad Nauheim
- Kontaktdaten: Website
Hallo Holger,
vielen Dank für deine Hilfe.
Ich habe deinen Code modifiziert und in mein Modul integriert. Hinzugefügt habe ich noch imagecopyresampled() für bilineares Resizen sowie imagecreatetruecolor(), weil sonst Farbfehler im Bild waren.
Jetzt würde ich noch gerne folgendes erreichen: Ich würde gerne die Slice-ID des aktuellen "Webcam-Slices" in den Namen des Bildes integrieren, um ihn eindeutig zu machen. So in der Form:Wobei es REX_SLICE_ID leider nicht gibt. Weißt du, wie man herausfinden kann, welche Slice-ID der aktuelle Slice hat?
vielen Dank für deine Hilfe.
Ich habe deinen Code modifiziert und in mein Modul integriert. Hinzugefügt habe ich noch imagecopyresampled() für bilineares Resizen sowie imagecreatetruecolor(), weil sonst Farbfehler im Bild waren.
Code: Alles auswählen
<?php
if ("REX_VALUE[1]" != "")
$pic = "REX_VALUE[1]";
else
$pic = "dummy.jpg";
if ("REX_VALUE[8]"=="")
$newWidth = 168;
else
$newWidth = "REX_VALUE[8]";
if ("REX_VALUE[9]"==0)
$class = imgLeft;
else $class = imgRight;
if ( $REX[GG] )
list($width, $height, $type, $attr) = getimagesize($pic);
$fullSizeImage = "javascript:newWindow('grossansicht','index.php?article_id=47&FORM[titel]=
Großansicht&FORM[target]=$pic',$width,$height,'empty');";
echo "<div class=\"$class\">";
if ("REX_VALUE[7]"==1)
echo "<a href=\"$fullSizeImage\">";
// Speicherordner
$PicPathOut="files/";
// Name des generierten Bildes
$picName="cam";
// Bilddaten ermitteln
$newHeight=intval($height*$newWidth/$width);
if($type==1) {
// GIF
$ext=".gif";
$altesBild=ImageCreateFromGIF($pic);
$neuesBild=imagecreatetruecolor($newWidth,$newHeight);
imageCopyResampled($neuesBild,$altesBild,0,0,0,0,$newWidth,$newHeight,$width,$height);
imageGIF($neuesBild,$PicPathOut.$picName.$ext);
}
if($type==2) {
// JPG
$ext=".jpg";
$altesBild=ImageCreateFromJPEG($pic);
$neuesBild=imagecreatetruecolor($newWidth,$newHeight);
imageCopyResampled($neuesBild,$altesBild,0,0,0,0,$newWidth,$newHeight,$width,$height);
ImageJPEG($neuesBild,$PicPathOut.$picName.$ext);
}
if($type==3) {
// PNG
$ext=".png";
$altesBild=ImageCreateFromPNG($pic);
$neuesBild=imagecreatetruecolor($newWidth,$newHeight);
imageCopyResampled($neuesBild,$altesBild,0,0,0,0,$newWidth,$newHeight,$width,$height);
ImagePNG($neuesBild,$PicPathOut.$picName.$ext);
}
$Thumbnail=$PicPathOut.$picName.$ext;
echo "<IMG SRC=\"$Thumbnail\" WIDTH=\"$newWidth\" HEIGHT=\"$newHeight\">";
if ("REX_VALUE[7]"==1)
echo "</a>";
echo "<div class=\"caption\" style=\"width: ".$newWidth."px\">REX_VALUE[2]</div></div>";
?>
Code: Alles auswählen
// Name des generierten Bildes
$picName="cam".REX_SLICE_ID;
Gruß Florian
www.softloop.biz
www.softloop.biz
- Markus.Staab
- Entwickler
- Beiträge: 9634
- Registriert: 29. Jan 2005, 15:50
- Wohnort: Aschaffenburg/Germany
- Kontaktdaten: ICQ Website
Hi,
ich würde auf
Tippen.
ungetestet!
Gruß,
Markus
ich würde auf
Code: Alles auswählen
$sliceId = $this->getValue('rex_article_slice.id');
ungetestet!
Gruß,
Markus
-
- Beiträge: 168
- Registriert: 9. Feb 2005, 20:51
- Wohnort: Bad Nauheim
- Kontaktdaten: Website
-
- Beiträge: 168
- Registriert: 9. Feb 2005, 20:51
- Wohnort: Bad Nauheim
- Kontaktdaten: Website
Muss man das Bild denn überhaupt auf der Platte speichern? Kann man nicht einfach das Webcam-Bild nehmen und on-the-fly resizen?
Gruß Florian
www.softloop.biz
www.softloop.biz
- holger
- Beiträge: 403
- Registriert: 21. Jun 2005, 13:21
- Wohnort: Sehnde / Hannover / lower saxony
- Kontaktdaten: Website
Ja, kann man.
Ich setze mich mal am Wochenende hin, da ich gerade ein identisches Projekt habe.
mfg
Holger
Ich setze mich mal am Wochenende hin, da ich gerade ein identisches Projekt habe.
mfg
Holger
// Wenn die Theorie von der Praxis abweicht: --> Ändere die Theorie //
CHRONO.net Media Works
In der Wörth 11
31319 Sehnde
+495138614810 tel
+495138615553 fax
info@chrono.net
CHRONO.net Media Works
In der Wörth 11
31319 Sehnde
+495138614810 tel
+495138615553 fax
info@chrono.net
-
- Beiträge: 168
- Registriert: 9. Feb 2005, 20:51
- Wohnort: Bad Nauheim
- Kontaktdaten: Website
Das wäre natürlich klasse. Bin mal gespannt auf dein Ergebnis. Vielen Dank nochmal für die Hilfe.
Gruß Florian
www.softloop.biz
www.softloop.biz
- holger
- Beiträge: 403
- Registriert: 21. Jun 2005, 13:21
- Wohnort: Sehnde / Hannover / lower saxony
- Kontaktdaten: Website
Hallo,
so ich habe mal ein wenig rumprobiert und bin leider bei der Generierung "on the fly" nicht weitergekommen.
In einer separaten Datei funktioniert es, in Redaxo aber nicht.
Dafür funktioniert bei mir das Image_resize_Modul einwandfrei.
Ich gebe der Webcam also an, das Sie jede Minute ein Bild namens "cam.jpg" in den Ordner /files hochlädt.
Einbinden tue ich es dann so:
Das Modul generiert bei jedem Aufruf dieses Bild neu, so das meine Befürchtung mit der Aktualität unbegründet war.
mfg
Holger
so ich habe mal ein wenig rumprobiert und bin leider bei der Generierung "on the fly" nicht weitergekommen.
In einer separaten Datei funktioniert es, in Redaxo aber nicht.
Dafür funktioniert bei mir das Image_resize_Modul einwandfrei.
Ich gebe der Webcam also an, das Sie jede Minute ein Bild namens "cam.jpg" in den Ordner /files hochlädt.
Einbinden tue ich es dann so:
Code: Alles auswählen
<?php
echo '<img src="'.$REX[HTDOCS_PATH].'index.php?rex_resize=200a__cam.jpg" alt="Webcambild" />';
?>
mfg
Holger
// Wenn die Theorie von der Praxis abweicht: --> Ändere die Theorie //
CHRONO.net Media Works
In der Wörth 11
31319 Sehnde
+495138614810 tel
+495138615553 fax
info@chrono.net
CHRONO.net Media Works
In der Wörth 11
31319 Sehnde
+495138614810 tel
+495138615553 fax
info@chrono.net
- Markus.Staab
- Entwickler
- Beiträge: 9634
- Registriert: 29. Jan 2005, 15:50
- Wohnort: Aschaffenburg/Germany
- Kontaktdaten: ICQ Website
Hi Holger,
schade, dass das mit der On-the-fly-Generierung nicht funktioniert. Ich müsste das entweder on-the-fly lösen oder aber jeder einzelnen Webcam eine eigene ID im Dateinamen verpassen, weil ich mehrere Webcams einbinden möchte. Es sind auch keine seiteninternen Webcams sondern Webcams von externen Seiten, deren Bildadresse ich benutze, um mir das aktuelle Bild in Redaxo zu ziehen.
schade, dass das mit der On-the-fly-Generierung nicht funktioniert. Ich müsste das entweder on-the-fly lösen oder aber jeder einzelnen Webcam eine eigene ID im Dateinamen verpassen, weil ich mehrere Webcams einbinden möchte. Es sind auch keine seiteninternen Webcams sondern Webcams von externen Seiten, deren Bildadresse ich benutze, um mir das aktuelle Bild in Redaxo zu ziehen.
-
- Beiträge: 168
- Registriert: 9. Feb 2005, 20:51
- Wohnort: Bad Nauheim
- Kontaktdaten: Website
Oh, da war ich wohl als Gast eingeloggt... das kommt davon, wenn man seinem Computer fremdgeht
Gruß Florian
www.softloop.biz
www.softloop.biz
- holger
- Beiträge: 403
- Registriert: 21. Jun 2005, 13:21
- Wohnort: Sehnde / Hannover / lower saxony
- Kontaktdaten: Website
Hallo
Die Datei wird doch gecached. Und wird dann mit dem neuen Bild, wenn es kommt, überschrieben.
Oder möchtest du alle Bilder aufbewahren ? Das werden dann aber viele.
Wenn es fremde Webcams sind, solltest du dir diese Bilder mittels einem Grabbingprogramm und per Cronjob in dein Verzeichnis holen.
Dann kannst du jedem Bild ja einen anderen Namen geben und alle auf einer Seite anzeigen.
mfg
holger
Code: Alles auswählen
Eigentlich sollte diese Datei gecached werden... hmm
Oder möchtest du alle Bilder aufbewahren ? Das werden dann aber viele.
Wenn es fremde Webcams sind, solltest du dir diese Bilder mittels einem Grabbingprogramm und per Cronjob in dein Verzeichnis holen.
Dann kannst du jedem Bild ja einen anderen Namen geben und alle auf einer Seite anzeigen.
mfg
holger
// Wenn die Theorie von der Praxis abweicht: --> Ändere die Theorie //
CHRONO.net Media Works
In der Wörth 11
31319 Sehnde
+495138614810 tel
+495138615553 fax
info@chrono.net
CHRONO.net Media Works
In der Wörth 11
31319 Sehnde
+495138614810 tel
+495138615553 fax
info@chrono.net
- Markus.Staab
- Entwickler
- Beiträge: 9634
- Registriert: 29. Jan 2005, 15:50
- Wohnort: Aschaffenburg/Germany
- Kontaktdaten: ICQ Website
Hi Holger
Gruß,
Markus
Ich war mir nur grad nicht sicher warum das so geht.. Aber ich hab grad nochmals im Addon nachgesehen und jetzt ists mir klar. Ich war mir nur nicht sicher, ob das Addon das geänderte File mitbekommt.holger hat geschrieben: Die Datei wird doch gecached. Und wird dann mit dem neuen Bild, wenn es kommt, überschrieben.
Gruß,
Markus
-
- Beiträge: 168
- Registriert: 9. Feb 2005, 20:51
- Wohnort: Bad Nauheim
- Kontaktdaten: Website
Nur zur Info:
Habe mein Problem jetzt so gelöst:
So habe ich eine Redaxo-weite eindeutige Benennung der Webcams.
Habe mein Problem jetzt so gelöst:
Code: Alles auswählen
// Name des generierten Bildes
$sliceId+=1;
$picName="cam"."REX_ARTICLE_ID".$sliceId;
Gruß Florian
www.softloop.biz
www.softloop.biz
Webcam - Cache
Hallo,
ich habe das Webcam-Cache-Problem so gelöst:
Annahme, Bild muß von anderem Server geholt werden.
Gruss Sandmaus
ich habe das Webcam-Cache-Problem so gelöst:
Annahme, Bild muß von anderem Server geholt werden.
Code: Alles auswählen
<?php
$host ="www.domain";
$login ="xxx";
$pass ="yyy";
$conn_ftp = ftp_connect("$host",21);
$ftp = ftp_login($conn_ftp,"$login","$pass");
$mode =@ftp_pasv($conn_ftp,TRUE);
if($ftp){
// echo "Sie sind eingeloggt<br>";
$datei="./webcam_tansania/webcam.jpg";
$lokal="./files/webcam.jpg";
$mode = FTP_BINARY;
$size=ftp_size($conn_ftp,"$datei");
$size=$size/100;
$os=ftp_systype($conn_ftp);
if(@ftp_get($conn_ftp,$lokal,$datei,$mode))
{
//echo "Upload nach $lokal beendet.<br>Größe: $size kb<br>OS: $os";
$datei = 'files/webcam.jpg'; // neue Webdatei nach upload
if(file_exists($datei)) {
//echo "Die Datei $datei ist existent";
$change = "w_e_b_c_a_m_".mt_rand(10000,90000).".jpg";
// echo $change;
$new_name = (rename("files/webcam.jpg","files/".$change));
echo "<img src=\"index.php?rex_resize=431w__$change\" alt=\"Webcam-Bild\" title=\"Webcam- Bild\"> ";
}
else
{
echo "Die Webcam-Datei $datei ist nicht existent";
}
}
else
{
echo "Fehler beim Upload.";
}
}
else
{
"Zugangsdaten stimmen nicht!";
}
ftp_quit($conn_ftp);
// hier bereinige ich die alten w_e_b_c_a_m_ - Dateien
$verz=opendir ('./files/');
while ($file = readdir ($verz)) {
if($file != "." && $file != "..") { // nur Dateien, keine Ordner . bzw ..
// ich suche Dateien mit dem w_e_b_c_a_m_, alle, welche nicht benötigt werden,
// außer das aktuelle Bild, werden gelöscht
if ((stristr($file,"w_e_b_c_a_m_")) and ($change <> $file)) unlink("files/".$file);
}
}
closedir($verz);
?>