Come posso ovviare al problema, mantenendo le immagini "live" nelle
anteprime?
Spero di essermi spiegato :D
non puoi.
>vorrei visualizzare delle anteprime di una serie di webcam sul mio
>sito: inserendole per� col link diretto (per avere l'immagine in tempo
>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.
ahia qua andiamo sul difficile :(
>> >vorrei visualizzare delle anteprime di una serie di webcam sul mio
>> >sito: inserendole per� col link diretto (per avere l'immagine in tempo
>> >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)
>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.)
leonardo sei molto gentile, gestisco un forum SMF dal pannello ma di
php non ci capisco una mazza :) (purtroppo)
>leonardo sei molto gentile, gestisco un forum SMF dal pannello ma di
>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
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.
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 :)
>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.
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