Newsgroup: it.lavoro.professioni.webmaster
Titolo: link a foto esterne pesanti, come alleggerirle?

vorrei visualizzare delle anteprime di una serie di webcam sul mio
sito: inserendole però col link diretto (per avere l'immagine in tempo
reale), pure impostando dimensione da miniatura 120x90 ovviamente la
pagina deve caricare l'immagine originale che a volte può essere
abbastanza pesante essendo 640x480 o superiore.
Come posso ovviare al problema, mantenendo le immagini "live" nelle
anteprime?
Spero di essermi spiegato :D


non puoi.

reale)
Metti uno scriptino "passacarte" da qualche parte che si legge il link
diretto e ti spara fuori la versione miniaturizzata.
Ottieni esattamente la stessa immagine, in tempo reale e anzi prima.
(Varie cache permettendo)
Leonardo
-- 
The cock doth craw, the day doth daw,
the channerin' worm doth chide:
gin we be mist oot o' oor place,
a sair pain we maun bide.

 (Varie cache permettendo)
ahia qua andiamo sul difficile :(

ahia qua andiamo sul difficile :(
Ma no, se hai un server con PHP e GD installate, e poco altro, dovrebbe
bastare
<?php
	$CAM_URL = 'http://...';
	/* Oppure:
		$cams	= array(
			'bologna'	=> 'http://...',
			'firenze'	=> '....',
		);
		if (!isset($_REQUEST['cam']))
			die("cam= missing");
		$cam = $_REQUEST['cam'];
		if (!isset($cams[$cam]))
			die("No such cam: $cam");
		$CAM_URL = $cams[$cam];
	*/
	$new_w	 = 320;
	$new_h	 = 200;
	$quality = 75;
	$gd = @ImageCreateFromJPEG($CAM_URL);
	if (!$gd)
	{
		die("Cannot open cam: $cam");
		/* Oppure
			Header("Location: 
http://url_immagine_vuota.jpg
");
			die();
		*/
	}
	$lt = ImageCreateTrueColor($new_w, $new_h);
	$lt = ImageCopyResampled($lt, $gd, 0, 0, 0, 0, ImageSX($lt),
ImageSY($lt), ImageSX($gd), ImageSY($gd)); // CONTROLLA sul manuale!
	ImageDestroy($gd);
	Header("Content-Type: image/jpeg");
	ImageJPEG($lt, '', $quality);
?>
Leonardo (S.E.&O.)


 >> >sito: inserendole però col link diretto (per avere l'immagine in tempo

leonardo sei molto gentile, gestisco un forum SMF dal pannello ma di
php non ci capisco una mazza :) (purtroppo)

php non ci capisco una mazza :) (purtroppo)
Be', e' una buona occasione per imparare :-D
Salvo errori & omissioni, inserendo i valori giusti delle variabili quello
script dovrebbe funzionare di gia', basta metterlo in un file e usarlo.
Leonardo


Leonardo Serni ha scritto:

Non ho capito quanto spesso il sito aggiorna le immagini della webcam. 
Se lo fa una volta al secondo e ne ha diverse di webcam, la vedo dura 
per il server supportare il carico del resampling. E anche se lo fa, 
sicuramente istantaneo non sar�. Il discorso cambia ovviamente se c'� un 
aggiornamento al minuto e le webcam sono poche.

 aggiornamento al minuto e le webcam sono poche.
ogni vebcam esterna si aggiorna per conto suo, secondo le impostazione
dei rispettivi gestori. Se lo script funzionasse, a quel punto si
potrebbe introdure una funzione che piglia le immagini ogni tot
minuti, perché non è vitale averle prorpio in tempo reale...
Il problema vero è che non so proprio come implementare lo script :)

per il server supportare il carico del resampling.
Be', in un caso del genere si puo' pensare a un caching: una volta
stabilita l'immagine, se e' piu' nuova di un tot non si rigenera.
Comunque - se hai ricampionamenti di quel genere, hai GIA' un piu'
grosso problema... la banda. Con processori moderni, e' probabile,
anche se dovrei farmi il conto per esserne sicuro, che tu riesca a
soddisfare piu' client con un server ricampionatore che non con un
network di webcam che scaricano in simultanea.
Lo script, dopotutto, "gira" verso le webcam le richieste fatte da
ciascun client: non penso che una webcam riesca a mandare un frame
JPEG da 200-300 Kb al secondo.
E' vero comunque che con il server in mezzo, si viene a creare una
strozzatura. Il caso "molti utenti che accedono ciascuno a una cam
diversa" viene gestito peggio.
(Potrebbe essere interessante fare i conti...)
Leonardo
