Difference between revisions of "Come mostrare video in SL"

From Second Life Wiki
Jump to navigation Jump to search
m (added to category)
 
(11 intermediate revisions by one other user not shown)
Line 3: Line 3:




'''How to set up and play streaming video in Second Life.'''
'''Come impostare e avviare uno streaming video in Second Life.'''


Questo articolo copre ognuno dei passi necessari dall'encoding del contenuto video al visualizzarlo in Second Life.  
Questo articolo copre ognuno dei passi necessari dall'encoding del contenuto video al visualizzarlo in Second Life.  


== Codificare un Video File ==
== Codificare un Video File ==
Il video da una qualsiasi sorgente deve prima essere converteto to a computer file form from whatever source it is in. There are variety of programs and devices that can do this step. Once the video is on the computer it must be encoded in a format that Quicktime can play. These are the settings used in Quicktime Pro to create a movie that Second Life can read. There may be other combinations that can work but these were what worked for this example.
Il video da una qualsiasi sorgente deve prima essere convertito ad un file per computer da qualsiasi fonte esso proviene. Ci sono una varietà di programmi e dispositivi che possono fare questo. Una volta che il video è dentro al computer deve essere codificato in un formato che Quicktime può leggere. Le seguenti sono le impostazioni usate in Quicktime Pro per creare un movie che Second Life può leggere. Ci possono essere altre combinazioni che possono andare bene ma per questo esempio si sono scelte queste:


=== Impostazioni per Quicktime Pro ===
=== Impostazioni per Quicktime Pro ===
Line 47: Line 47:
A questo punto il programma farà partire l'encoding del video e produrrà un file .MOV. Ora è pronto per essere inserito nel tuo web server.
A questo punto il programma farà partire l'encoding del video e produrrà un file .MOV. Ora è pronto per essere inserito nel tuo web server.


== Web Server Configurations ==
== Configurazioni di un Web Server ==
You will need to have access to a web server, either a normal website or a specialized streaming server that is configured to support http access. Once the file is in place determine the URL address to access the file. If you can play the video in Quicktime on your computer using the URL address, chances are good it will also play in SL.
Avrai bisogno di accedere ad un web server, o un normale sito web o un server di streaming specializzato che è configurato per supportare http access. Una volta che il file è inserito determina il suo indirizzo URL. Se puoi vedere il video in Quicktime sul tuo computer usando l'indirizzo URL, ci sono buone possibilità che sarà visibile anche in SL.


== Parcel Settings ==
== Impostazioni per la Land ==
To set up land parcel for video requires that you either be a land owner or member of a group that has the privileges to set the Media for streaming video. This option can be accessed by right clicking on the ground in the parcel and selecting the About Land menu. Open the Media Tab.
Le impostazioni della land per i video richiedono che devi essere un land owner oppure membro di un gruppo che ha i privilegi di impostare i Media per "streammare" video. A questa opzione si può accedere cliccando col destro sulla terra e selezionando il menù About Land. Apri la scheda Media.


There are two items to set here for video. A texture that will be replaced by the video when it plays and the URL address for the video file. The texture can be any picture texture, but I find it useful to set a texture that indicates what video is available. It is my opinion that the texture should advertise the video as well as provide some instruction on how to start the program. Once the texture and URL are in place you are ready to start the show.
Ci sono due oggetti da impostare qua per i video. Una texture che sarà sostituita dal video quando sarà avviato e l'indirizzo URL per il file video. La texture può essere ogni immagine, ma è meglio impostare una texture che indica che un video è disponile. È mia opinione che la texture dovrebbe avvertire che esiste un video così come alcune instruzioni su come avviarlo. Una volta che la texture e l'URL sono impostati sei pronto/a ad avviare lo spettacolo.


All devices that can play a video can only display the URL set in the Land Media settings. If any change is made to that URL all playing devices in that parcel are immediately changed. Each visitor does not see the same portion of the video that anyone else may be seeing. This is the result of each client independently connecting to the URL. If the video is started using the display device, all present and equipped to see it will all start seeing it at the same time. Confused? I certainly was at first! See article [http://secondlife.com/app/help/guides/streamingmedia.php Streaming Media] for more information on how video is implemented in SL.
Tutti i dispositivi che fanno vedere un video possono solo mostrare l'URL impostato nel Land Media settings. Se un cambiamento è fatto su questo URL tutti i dispositivi video in questa parcella sono immediatamente cambiati. Ogni visitatore non vede la stessa porzione del video che un altro sta guardando. Questo è perchè ogni client è indipendentemente connesso all'URL. Se il video verrà visto usando un display, allora tutti i presenti attrezzati a vederlo lo vedranno allo stesso tempo. Confuso? Io certamente lo ero la prima volta! Guarda l'articolo [http://secondlife.com/app/help/guides/streamingmedia.php Streaming Media] per maggiori informazioni su come il video è attuato in SL.


== Scripting a Display ==
== Scriptare un Display ==
There are a number of free, and paid, "TV" (or video display) devices available in SL, but if you wanted to create your own display device here are some tips in getting it done!
Ci sono numerosi dispositivi "TV" gratuiti e a pagamento (detti video display) disponibili in SL, ma se vuoi creare un tuo display qua ci sono alcuni suggerimenti su come farlo!


The size (width and height dimensions not file size) of the video does not control how big you can make your display unit in SL, it establishes a standard ratio between width and height. Any multiple of those numbers will have the correct aspect ratio and will display undistorted video. Anything not matching that ratio will cause the video to display stretched or squished. A convenient size can be made by making your display prim from a cube set to X=2.0, Y=1.5 (This is four 0.5m units by three 0.5m units!) The z value can be set to whatever your device will need for depth. This resulting arrangement has the display facing up. The display surface just happens to be face 0 (zero) of the cube. This is important in having a correct orientation so your picture is not showing sideways! Remove any texture on face zero and set to a dark gray or black color. This will be the "off" setting for the TV. Now you are ready for a bit of simple scripting to start showing the movie!
La grandezza (larghezza e altezza del display) del video non controlla quanto grande te puoi costruire il tuo display in SL, stabilendo uno standard ratio tra larghezza e altezza. Ogni multiplo di questi numeri avranno il corretto aspetto ratio e mostreranno un video non distorto. Tutto ciò che non è in rapporto di corrispondenza farà sì che il video a schermo sarà allungato o distorto. Una conveniente dimensione può essere fatta costruendo il tuo display prim da un cubo impostato a X=2.0, Y=1.5 (questo valori sono quattro volte 0.5m unità di larghezza e tre 0.5m unità di altezza!) Il valore di z può essere impostato a qualunque profondità sia necessaria al vostro dispositivo. Queste misure fanno risultare il display rivolto verso l'alto. La superfice del display avrà il suo punto iniziale (0, zero) allo zero del cubo. questo è importante per avere una corretta orientazione così la tua texture non sia dal lato sbagliato! Rimuovere ogni texture sulla faccia zero e impostarla ad un colore grigio scuro o nero. Questo farà apparire il Tv come spento. Ora sei pronto un semplice script che farà partire il movie!


=== Basic Video Display Script ===
=== Script di Base per Video Display ===


The following script will run but you will soon find it inconvenient to use. It is to illustrate these commands:
Il seguente script verrà eseguito, ma presto lo troverai scomodo da usare. È solo un esempio per illustrare questi comandi:
{|
{|
| [[llParcelMediaQuery]]()
| [[llParcelMediaQuery]]()
| Get Land parcel media settings for video
| Fa ottenere le impostazioni della Land media per il video.
|-
|-
| [[llSetPrimitiveParams]]()
| [[llSetPrimitiveParams]]()
| To display the video on a surface making the device appear to turn on and off.
| Mostra il video su una superficie facendo apparire il dispositivo acceso o spento.
|-
|-
| [[llParcelMediaCommandList]]()
| [[llParcelMediaCommandList]]()
| To control activating the media stream through the device.
| Controllare attivazione del media stream attraverso il TV.
|}
|}


{{Box Code|Basic video display script|<!-- <source lang="lsl"> -->
{{Box Code|Basic video display script|<!-- <source lang="lsl"> -->
<pre>
<pre>
// This script would be used in the prim that will show the video on surface zero.
// Questo script dovrebbe essere usato nel prim che mostrerà il video sulla superfice zero.
// Touching the prim will start or stop the video display set in Land Media: Video.
// Toccando il prim farà partire o fermerà il video display impostato nella Land.
   
   
// Global Variable declarations
// Global Variable declarations
Line 119: Line 119:
</pre>
</pre>
<!-- </source> -->}}
<!-- </source> -->}}
'''NOTE:''' The use of the ErrMsg texture is is a useful reminder if the device cannot function due to permissions not available to the owner. This is the text I used in white on blue:
'''NOTA:''' L'uso del ErrMsg texture è un utile promemoria se il TV non può funzionare a causa di autorizzazioni non disponibili per il proprietario. Questo è il testo usato in bianco su blue:


<pre>
<pre>
Line 125: Line 125:
</pre>
</pre>


It gives the basic idea as to why the video is not playing.
Questo dà un'idea di base sul perchè il video non parte.




[[Category:LSL Library|Video]]
[[Category:LSL Library|Video]]
[[Category:Pagine italiane da wikificare]]

Latest revision as of 12:28, 1 November 2009


Come impostare e avviare uno streaming video in Second Life.

Questo articolo copre ognuno dei passi necessari dall'encoding del contenuto video al visualizzarlo in Second Life.

Codificare un Video File

Il video da una qualsiasi sorgente deve prima essere convertito ad un file per computer da qualsiasi fonte esso proviene. Ci sono una varietà di programmi e dispositivi che possono fare questo. Una volta che il video è dentro al computer deve essere codificato in un formato che Quicktime può leggere. Le seguenti sono le impostazioni usate in Quicktime Pro per creare un movie che Second Life può leggere. Ci possono essere altre combinazioni che possono andare bene ma per questo esempio si sono scelte queste:

Impostazioni per Quicktime Pro

Standard Video Compression Settings

 Compression Type: MPEG-4 Video
 Frame Rate: 30 fps
 Key Frames: Every 24 frames

 Data Rate: Restrict to 436 kbits/sec
 Optimized for: Download
 Compressor Quality: Best

Sound Settings

 Format: AAC
 Channels: Stereo (L R)
 Rate: 44.100 kHz
Render Settings:
 Quality: Best
AAC Encoder Settings:
 Target Bit Rate: 64 kbps

Movie Settings

 Video
  Compression: MPEG-4 Video
  Quality: Best
  Bitrate: 436 kbits / sec
  Dimensions: 320 x 240
 
 Sound
  Format: AAC
  Sample Rate: 44.100 kHz
  Channels: Stereo (L R)
  Bit Rate: 64 kbps

Prepare for Internet Streaming

  Fast Start

A questo punto il programma farà partire l'encoding del video e produrrà un file .MOV. Ora è pronto per essere inserito nel tuo web server.

Configurazioni di un Web Server

Avrai bisogno di accedere ad un web server, o un normale sito web o un server di streaming specializzato che è configurato per supportare http access. Una volta che il file è inserito determina il suo indirizzo URL. Se puoi vedere il video in Quicktime sul tuo computer usando l'indirizzo URL, ci sono buone possibilità che sarà visibile anche in SL.

Impostazioni per la Land

Le impostazioni della land per i video richiedono che devi essere un land owner oppure membro di un gruppo che ha i privilegi di impostare i Media per "streammare" video. A questa opzione si può accedere cliccando col destro sulla terra e selezionando il menù About Land. Apri la scheda Media.

Ci sono due oggetti da impostare qua per i video. Una texture che sarà sostituita dal video quando sarà avviato e l'indirizzo URL per il file video. La texture può essere ogni immagine, ma è meglio impostare una texture che indica che un video è disponile. È mia opinione che la texture dovrebbe avvertire che esiste un video così come alcune instruzioni su come avviarlo. Una volta che la texture e l'URL sono impostati sei pronto/a ad avviare lo spettacolo.

Tutti i dispositivi che fanno vedere un video possono solo mostrare l'URL impostato nel Land Media settings. Se un cambiamento è fatto su questo URL tutti i dispositivi video in questa parcella sono immediatamente cambiati. Ogni visitatore non vede la stessa porzione del video che un altro sta guardando. Questo è perchè ogni client è indipendentemente connesso all'URL. Se il video verrà visto usando un display, allora tutti i presenti attrezzati a vederlo lo vedranno allo stesso tempo. Confuso? Io certamente lo ero la prima volta! Guarda l'articolo Streaming Media per maggiori informazioni su come il video è attuato in SL.

Scriptare un Display

Ci sono numerosi dispositivi "TV" gratuiti e a pagamento (detti video display) disponibili in SL, ma se vuoi creare un tuo display qua ci sono alcuni suggerimenti su come farlo!

La grandezza (larghezza e altezza del display) del video non controlla quanto grande te puoi costruire il tuo display in SL, stabilendo uno standard ratio tra larghezza e altezza. Ogni multiplo di questi numeri avranno il corretto aspetto ratio e mostreranno un video non distorto. Tutto ciò che non è in rapporto di corrispondenza farà sì che il video a schermo sarà allungato o distorto. Una conveniente dimensione può essere fatta costruendo il tuo display prim da un cubo impostato a X=2.0, Y=1.5 (questo valori sono quattro volte 0.5m unità di larghezza e tre 0.5m unità di altezza!) Il valore di z può essere impostato a qualunque profondità sia necessaria al vostro dispositivo. Queste misure fanno risultare il display rivolto verso l'alto. La superfice del display avrà il suo punto iniziale (0, zero) allo zero del cubo. questo è importante per avere una corretta orientazione così la tua texture non sia dal lato sbagliato! Rimuovere ogni texture sulla faccia zero e impostarla ad un colore grigio scuro o nero. Questo farà apparire il Tv come spento. Ora sei pronto un semplice script che farà partire il movie!

Script di Base per Video Display

Il seguente script verrà eseguito, ma presto lo troverai scomodo da usare. È solo un esempio per illustrare questi comandi:

llParcelMediaQuery() Fa ottenere le impostazioni della Land media per il video.
llSetPrimitiveParams() Mostra il video su una superficie facendo apparire il dispositivo acceso o spento.
llParcelMediaCommandList() Controllare attivazione del media stream attraverso il TV.
Code: Basic video display script
// Questo script dovrebbe essere usato nel prim che mostrerà il video sulla superfice zero.
// Toccando il prim farà partire o fermerà il video display impostato nella Land.
 
// Global Variable declarations
key DefTexture;
vector DefColor;
list data;
key texture;
integer IsPlaying;
 
default {
    state_entry() {
        DefTexture = llGetTexture(0);                   // Save default texture set on prim surface zero.
        DefColor = llGetColor(0);                       // Save default color of prim surface zero
        IsPlaying = FALSE;                              // Set playing flag to FALSE.
    }

    touch_start(integer total_number) {
        // Read land parcel media settings
        data = llParcelMediaQuery([PARCEL_MEDIA_COMMAND_TEXTURE, PARCEL_MEDIA_COMMAND_URL]);
        texture = (key) llList2String(data, 0);         // Get texture for parcel to display
        if (IsPlaying) {                                // Player has video active
            llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_STOP]);     // Stop streaming to the device.
            llSetPrimitiveParams([PRIM_TEXTURE,0,DefTexture,<1,1,0>,ZERO_VECTOR,0.0,PRIM_COLOR,0,DefColor,1.0,PRIM_FULLBRIGHT,0,TRUE]);
            IsPlaying = FALSE;
        }
        else {                                          // Check if Parcel Video is available
            if (llList2String(data, 0) == "") {         // Not a landowner or land group member error display
                key ErrTexture = llGetInventoryKey("ErrMsg");         // Get texture by name from inventory
                llSetPrimitiveParams([PRIM_TEXTURE,0,ErrTexture,<1,1,0>,ZERO_VECTOR,0.0,PRIM_COLOR,0,<1,1,1>,1.0,PRIM_FULLBRIGHT,0,TRUE]);
            }
            else {                                      // Set texture
                llSetPrimitiveParams([PRIM_TEXTURE,0,texture,<1,1,0>,ZERO_VECTOR,0.0,PRIM_COLOR,0,<1,1,1>,1.0,PRIM_FULLBRIGHT,0,TRUE]);
                llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_PLAY]); // Start media playing to this device
                IsPlaying = TRUE;
            }
        }
    }
}

NOTA: L'uso del ErrMsg texture è un utile promemoria se il TV non può funzionare a causa di autorizzazioni non disponibili per il proprietario. Questo è il testo usato in bianco su blue:

  You are not a land owner or land group member; or parcel does not have media set. Cannot connect to parcel media.

Questo dà un'idea di base sul perchè il video non parte.