User:Salahzar Stenvaag/classes/StreamingMedia IT

From Second Life Wiki
Jump to navigation Jump to search

Classe: Come usare lo streaming e progettare oggetti che visualizzino film, pagine web, immagini ecc.

Istruttore: Salahzar Stenvaag (SL Mentor)

Data: 11 Novembre 2008

Location: Solaris Experience


Breve Descrizione:

Fare lo "streaming" di video, pagine web ed immagini è una delle caratteristiche più potenti che SecondLife offre a comunità, aziende, individui per condividere contenuto visuale, MA il processo di impostazione è molto confusionario, difficile e soggetto ad errori.

Ho impostato questo corso per spiegare le basi delle impostazioni "Media Parcel" e come scrivere degli script scemplici che utilizzino questa caratteristica in modo semplice, effettivo e "condiviso".


NB: Il contenuto di questo corso non è riconosciuto dalla Linden, mentre invece fa parte dell'esperienza di Insegnamento Volontaio organizzata di mentori in SL. Se siete interessati ad avere notizie sui mentori in SecondLife potete chiedermi al termine della lezione.e class is finished.


Prerequisiti:

Per comprendere questa lezione dovete essere a vostro agio con le basi della gestione dei gruppi, dell'editing di oggetti, e un minimo di capacità di scripting: non insegneremo cosa sia un gruppo nè come compilare "Ciao Avatar" :)

Part I: Contenuto multimediale

   0. Introduzione
   1. Come far funzionare lo streaming (visitatore)
   2. Come impostare lo streaming su una terra (proprietario o officer)
   3. Cosa succede quando una terra è "donata" deed al gruppo?
   4. Problematiche sulla donazione e problemi di autorizzazione (permission)
   


0. Introduzione

La capacità di mostrare film, pagine web e foto in Secondlife viene ottenuta usando il tab "Media" nella maschera della land (accessibile cliccando sul nome della terra sulla barra in alto oppure cliccando sulla terra e facendo edit terrain). Ad aprile 2008, il sistema di streaming è diventato più potente consentendovi di visualizzare anche siti web o immagini da siti web senza usare quicktime o siti php intermedi. Quicktime è comunque ancora necessario per far funzionare le possibilità di base. Noi faremo vedere in particolare la visualizzazione multimediale.

Ci sono molti video che mostrano come tutto questo funziona. Torley ha fatto diversi video molto interessanti ed esaustivi al seguente indirizzo : http://blog.secondlife.com/2008/03/10/parcel-media-video-tutorials-how-to-play-movies-webpages-more/ Siete invitati a vedere i suoi video che sono ottimi ed istruttivi. In ogni caso noi faremo questo corso dal vivo dato che l'esperienza diretta funziona spesso meglio dei video automatici :)

Per mostrare del contenuto multimediale DOVETE possedere un pezzo di terra dato che il contenuto multimediale è associato alla proprietà terriera.

==> Se non possedete un pezzo di terra potreste lo stesso far parte di un gruppo che possiede terra come "officer" a cui è stato consentito di modificare il contenuto multimediale.

Ogni lotto di terra (parcel) può avere al massimo 1 contenuto stream associato, dal che, se volete mostrare 10 film allo stesso momento e 5 immagini da siti web dovreste suddividere la terra in almeno 15 sottoparcelle. Attenzione: gli avatar possono vedere lo stream SOLO se sono nella stessa parcel dove lo stream è settato.

Domande?


1. Come far funzionare lo stream (visitatore)

Se siete in una terra dove lo stream è stato impostato potete vederlo premendo il bottono "play" sul fondo del vostro schermo proprio alla destra del campo "gesture" sopra il bottone "mini-map".

Se è grigio allora DOVETE abilitare la preferenza Quicktime premendo CTRL-P e mettendo il baffo su "Play Streaming Media". Potete anche decidere di mettere il tick su "Automatically Play Streams when available" per avere il contenuto multimediale attivato automaticamente. In questo modo risparmiate un po' di tempo.

NB: dovete avere installato quicktime sul vostro pc.

Domande?


2. Come impostare il contenuto multimediale (proprietario o officer)

Se avete i giusti permessi (siete proprietari della terra o un officer autorizzato), potete cliccare su "About Land" e vi verranno mostrate le caratteristiche della terra.

Potete cliccare-destro per terra e cliccare sul cerchio di selezione "ABout Land", oppure cliccare sul nome della terra sulla striscia in cima al vostro client, scegliete quello che vi risulta più comodo.

Io personalmente preferisco cliccare sul nome in cima: è più rapid e potete farlo anche se state volando in cielo o su una piattaforma.

Cliccando sulla linguetta "Media"

Potete scegliere le cose seguenti:


  • Media Type: Quale tipo di media dovete mostrare (potete ignorarlo dato che viene automaticamente impostato quando mettete la URL).
  • Media URL: Potete cliccare su "Set..." per impostare una URL valida oppure una sorgente di film (mpg, mp4)(Attenzione: fate attenzione a cambiare la url con "Set.." e NON nella descrizione altrimenti non funziona!!
  • Replace Texture Mostra qual è la texture nella terra che è usata per mostrare il contenuto multimediale. Potete impostare qualunque delle vostre texture in modo da mostrare un Help o un logo. Altrimenti la texture di default è grigetta "Default Media Texture".
  • Auto Scale: Normalmente la selezioniamo in modo che il flusso copra TUTTA la superficie del prime non solo una parte

Tralasciamo la parte relativa al suono, che non fa parte di questo corso.

Ogni volta che avete dei problemi con il media (e siete i proprietari o ufficiali autorizzati), accertatevi di controllare su questa pagina se siete in grado di modificare il media in modo tale da dedurre se tutto funziona bene con lo streaming sulla vostra terra.

Domande?


3. Cosa succede se la terra è donata (deed) al gruppo?

Per prima cosa diciamo due parole sul concetto di "donazione" (deed) e di gruppi, che sono piuttosto complessi e farraginosi in SecondLife.

I gruppi sono stati creati per aiutare le comunità a condividere terre, attività e per definire ruoli. Alcune persone nel gruppo sono soltanto "membri", altri sono "officers", a seconda di una complessa matrice di permessi e di autorizzazioni.

I permessi possono essere impostati per consentire ai membri di un ruolo di costruire oggetti, espellere altri membri, poter donare oggetti ed usarli e di impostare le proprietà multimediali della terra.

Siamo interessati nella donazione perchè il nostro scopo ultimo è quello di fare un oggetto scriptato capace di cambiare le caratteristiche multimediali al nostro posto senza bisogno di farle manualmente su "About Land" e senza premere troppi tasti.

Un oggetto come una lavagna o uno schermo o un TV possono cambiare le proprietà multimediali della terra di gruppo SOLO se sono stati donati al gruppo. Ecco perchè stiamo parlando di gruppi e di donazioni. :)

Le terre donate sono più complicate delle terre possedute da semplici avatar. Nel secondo caso (il più semplice), gli oggetti scriptati possono cambiare le caratteristiche multimediali solo a condizione di essere dello stesso proprietario della terra.

Nell'altro caso, più complesso anche l'oggetto deve essere di proprietà del gruppo. Non basta che sia *shared with group* deve anche essere DONATO (deed to group).

Domande?


4. Problematiche sulla donazione e problemi di autorizzazione (permission)

Ogni volta che donate qualcosa ad un gruppo NON SIETE più proprietari di quella cosa (questo valido per le terre, ma ancora di più per gli oggetti).

Di fatto la donazione equivale ad un TRANSFER (vendita). Anche nel caso in cui siete owner del gruppo, quando donate qualcosa al gruppo PERDETE l'oggetto e potreste non essere più in grado di riottenerlo indietro, almeno non con le stesse permissions :(

Questo è qualcosa di molto contorto e dato che molti oggetti commerciali sono normalmente NOTRANSFER per impedire il resell, se comprate qualcosa che deve funzionare come oggetto multimeida questo DEVE essere TRANSFER per consentire la donazione. I venditori, normalmente non sono contenti di dare oggetti transfer e per evitare che ne facciate tante copie per rivenderle, di solito tolgono il permesso di COPY.

Se avete oggetti FULL PERMISSIONS non ci sono problemi, ma anche in questo caso ci sono dei bachi in SecondLife che possono impedirvi di riottenere la stessa cosa (in pratica è possibile che un oggetto full permissions quando rezzato, donato, e ripreso possa diventare nocopy nomodify alla fine). Siete avvisati se possibile di farvi copie multiple nel vostro inventory.

Vi mostro quale dovrebbe essere la sequenza "corretta" da fare quando si dona un oggetto ad un gruppo. Assumiamo che abbiate un box con 1 script e due notecard.

  • Dovete essere sicuri che l'oggetto sia almeno TRANSFER (copy/modify è meglio). Verificate che ANCHE il prossimo proprietario possa trasferirlo e copy/modify.
  • Rezzate l'oggetto e fate SHARE al gruppo (fate attenzione di farlo al gruppo *corretto* dovete avere il giusto tag sulla vostra testa),
  • Accertatevi che tutti gli item DENTRO l'oggetto siano a loro volta SHARED col gruppo e con i permessi giusti!!!
  • A questo punto potete DONARE al gruppo MA attenzione ai punti seguenti

Per DONARE al gruppo dovete essere l'owner del gruppo oppure avere le seguenti autorizzazioni (permission) nel vostro ruolo:

  • "Change music & media settings" (se volete essere capacit di cambiare le caratteristiche multimediali della land)
  • "Return Owned Objects" Ritornare gli oggetti di proprietà del gruppo (per poter ripulire il vostro oggetto una volta donato)
  • "Deed objects to group" permission di fare la donazione
  • "Manipulate" (move,copy,modify) group objects. Per poter muovere editare l'oggetto una volta donato

Nel momento in cui avete DONATO un oggetto e avete i diritti di modifica su di esso, fate attenzione a fare di nuovo lo share al gruppo (che viene perso al momento della donazione) e di fare il RESET dell'oggetto per fargli capire che ha cambiato proprietario. (Il modo più semplice per farlo e di cliccare-destro l'oggetto, scegliere "Edit" e dal menu Tools scegliete "Reset Scripts in selected objects".

Il reset è *MOLTO* importante per essere sicuri che gli script funzionino sotto la nuova corretta identià. Se non resettate l'oggeto questo potrebbe facilmente non funzionare (a meno che sia NON MODIFY e che si accorga da solo del cambio di proprietario)

Domande?

'Alla fine di questa parte dovreste essere a vostro agio su "cosa è un contenuto multimediale", come impostarlo manualmente e come i contenuti multimediali si relazionano con gli oggetti scriptati. '


Part II: Oggetti Scriptati che lavorano con il multimedia

   0. Perchè abbiamo bisogno di oggetti scriptati
   1. Il comando base llParcelMediaCommandList
   2. Un browser web molto semplice che ascolta su un canale per cambiare la URL
   3. Altri usi
   4. Problemi e cose a cui fare attenzione
   

0. Perchè abbiamo bisogno di oggetti scriptati.

Possiamo usare l'interfaccia multimedia manuale SOLO se siamo proprietari della terra, proprietari del gruppo oppure officer con abbastanza autorizzazioni.

Anche se siete proprietari è un po' noioso, dato che dovete aprire la finestra "About land" e scegliere la url. (In vostro aiuto ci sarebbe una utile nuova funzione del browser web incluso nel client: c'è una opzione che mette la URL che state vedendo sul settaggio multimediale e quindi vi aiuta a far vedere alla gente quello che vedete voi sul vostro browser).

Ma se volete automatizzare il cambiamento della URL, per esempio in presentazioni automatiche, oppure se volete che persone che non fanno parte del vostro gruppo siano in grado di scegliere la loro url / film anche in maniera aiutata, DOVETE definitivamente avere oggetti scriptati.

Nel momento in cui avete oggetti scriptati, entrate in tutti i problemi che abbiamo spiegato prima (oggetti donati, l'"inferno" del transfer ecc). Diamo per scontato che adesso voi sappiate gestire tutto questo casino (questo è il perchè abbiamo diviso il corso in due parti) :)

Adesso concentriamoci sulla parte di script. Domande?


1. Il comando di base.

Lo scripting lsl vi da un comando potente e stracarico che fa "tutto" relativamente alle proprietà di multimedia.

llParcelMediaCommandList( [list] );

accetta una lista di comandi.. Ad esempio:


llParcelMediaCommandList( [

           PARCEL_MEDIA_COMMAND_URL, "http://enter_your.url/here",
           PARCEL_MEDIA_COMMAND_TEXTURE, (key) llGetTexture(0) ] );

Questo usa come texture la prima contenuta nell'inventory dell'oggetto e setta la URL da mostrare.

Potete anche usare i seguenti comandi:


PARCEL_MEDIA_COMMAND_STOP     
PARCEL_MEDIA_COMMAND_PAUSE  
PARCEL_MEDIA_COMMAND_PLAY    
PARCEL_MEDIA_COMMAND_LOOP    
PARCEL_MEDIA_COMMAND_TEXTURE (key)" " (typecast to key!!!)
PARCEL_MEDIA_COMMAND_URL  " "  (254 chars!)
PARCEL_MEDIA_COMMAND_TIME   float  (per andare in uno specifico momento del video)
PARCEL_MEDIA_COMMAND_AGENT    (key) (per fare vedere il film ad uno specifico avatar.. Non l'ho mai provato, dicono che non funzioni bene)
PARCEL_MEDIA_COMMAND_UNLOAD   (toglie il film)
PARCEL_MEDIA_COMMAND_AUTO_ALIGN    
PARCEL_MEDIA_COMMAND_TYPE    " "
PARCEL_MEDIA_COMMAND_SIZE    x, y
PARCEL_MEDIA_COMMAND_DESC    " "

Guardate su http://lslwiki.net/lslwiki/wakka.php?wakka=llParcelMediaCommandList per una lista dettagliata di commenti su questo.

Domande?


2. Un semplice browser web che ascolta su un canale per cambiare URL

default
{
   state_entry()
   {
       string s=llGetInventoryName(INVENTORY_TEXTURE,0);
       key k=llGetInventoryKey(s);
       
       llSetTexture(s,0);
       llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_TEXTURE, k ]);
       
       llListen(10,"",NULL_KEY,"");
       llSay(0,"Digita http://url sul canale 10 (/10 http://xxxxx.yyyy.zzz");
      
    }
    listen(integer channel, string name, key id, string str)
    {
       llSay(0,"Cambio la URL: "+str+"...");
       llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_AUTO_ALIGN, 1,  PARCEL_MEDIA_COMMAND_STOP, PARCEL_MEDIA_COMMAND_TYPE, "text/html", PARCEL_MEDIA_COMMAND_URL, sURL, PARCEL_MEDIA_COMMAND_PLAY ]);
       llSay(0,"Fatto.");
    }
}

Domande?


3. Altri usi

In congiunzione con http_request (che non spiegherò in questo corso), possiamo fare cose piuttosto miracolose come:

- mostrare notecard (la notecard viene convertita in html e viene mostrata la relativa pagina html) - possiamo anche fare un vero browser web ascoltando il nome del link e seguendo quel link - possiamo ascoltare in chat ed avere una lavagna interattiva dove il contenuto viene preso dalla chat E molti altri usi.

Rispetto a xytext ed altri il metodo multimedia consente di risparmiare molti prim (ne può bastare uno solo!);

Domande?

4. Problemi e cose a cui fare attenzione.

Ancora: ho visto MOLTE persone che rimangono confuse quando hanno un oggetto streaming e devono usarlo.

Non appena vedono che lo schermo semplicemente rimane bianco tendono ad innervosirsi e ad arrendersi oppure maledire il programmatore o i Lindens.

Ecco il modo corretto di gestire i problemi e la lista di controllo da fare:

  • Lo streaming funziona sulla terra in modo manuale? Se siete owner o officer dovreste riuscire a cambiare lo streaming da "About Land..."
  • L'oggetto è stato correttamente DONATO al gruppo? Se avete sospetti, provate l'oggetto su una terra non di gruppo che non ha bisogno del deed e verificate che stia lavorando correttamente. Ricordatevi eventualmente di fare reset dell'oggetto.
  • Quicktime e il multimedia sono effettivamente abilitati sul vostro browser?
  • Siete nella parcella giusta?

Una pagina web che insegna come gestire i problemi è la seguente (ad esempio):

http://www.slguide.com/help/

Domande?

Grazie per la partecipazione. :)