Warning: include_once(/home/jamieotis/howto.slserver.com/wp-content/plugins/wordpress-support/wordpress-support.php): failed to open stream: Permission denied in /home/jamieotis/howto.slserver.com/wp-settings.php on line 217

Warning: include_once(): Failed opening '/home/jamieotis/howto.slserver.com/wp-content/plugins/wordpress-support/wordpress-support.php' for inclusion (include_path='.:/usr/local/lib/php:/usr/local/php5/lib/pear') in /home/jamieotis/howto.slserver.com/wp-settings.php on line 217
Understanding video streaming in Second Life

Understanding video streaming in Second Life

It is possible to play (stream) video into Second Life (SL) from an external hosted source, thumb this could be be straight from your computer, streaming video relay or other external source.

Setting video on a parcel of land in Second Life

If you own a parcel of land or you are a group officer with group land, you can set a “Media URL” on the land. This will play the video stream to people who accept streaming video. Videos can either be live streams, or on-demand pre-recorded files.

To set the Media URL:

  • Right click the parcel of land
  • Click About Land
  • In the About Land window, click the Media tab
  • Then enter the full video streaming url address including the either rtsp:// or http:// prefix depending on the content type¬† in the Media URL box. For example – rtsp://video.slserver.com:8000/live.sdp or rtsp://64.33.51.171:8000/live.sdp
  • In order to see the video content, you will need also create an object inworld and apply a texture which will act as the screen. The same texture will need to be set in the Media tab window as the “Replace Texture” choice. The idea is that this texture will be replaced with the video content on any object with the exact same texture. In this example we used a texture of the american flag.

mediaurl

Streaming your own video in Second Life

It is possible to stream your own video from your computer into Second Life. Unless you have a large amount of bandwidth available, using your own machine as a streaming server is not really an option. With around 1-2 users connected you would using most of the bandwidth of a standard DSL line.

Therefore to stream your own video you would require a streaming relay provider. You would send a single stream of video to the streaming relay provider. The relay would then stream multiple copies of the video  into Second Life.

The most common streaming server system at the moment for video is Quicktime/Darwin. You can either set up the server software on your own server or as most people do, pay someone to host it for you. I offer quality streams for use in Second Life (and on the internet), check out my store in Celadon for more details.

Overview of streaming live video

Streaming live video, is still quite a complicated process, as videos usually need to be prepared for streaming, saving them in a certain video format, choosing a data rate and setting them as hinted file for streaming.

A powerful/fast computer is essential if you are plannig to encode video live and broadcast.

If you have any comments, feedback or have experience with using other software for video streaming please do let me know, I’d love to know how people get on with broadcasting their live videos in Second Life.

Viewing video content in Second Life

In order to view videos/movies in Second Life you will need to have quicktime installed, you can download a free version.

Displaying videos in Second Life works by first assigning a texture to an object and also assigning the same texture into the parcel of land Media settings.

Then when a static or live video stream address is set in the About Land > Media > Media URL section. The video would be displayed on the object(s) with the same texture as previously set in the Media tab. Once an address is set, you should see that a Movies control panel appears along the bottom of the Second Life window, allowing you to stop/start the video.

Video types

Videos can be either:

  • Static/Non-hinted
    These require that the whole video be downloaded before it will play.
  • Hinted
    These can start playing as soon as they start downloading, meaning you don’t need to wait for the entire file to finish downloading.
  • Live
    As the name suggests these are streamed live to all, as soon as you connect you would start seeing the video, the advantage of a live stream is that everyone watching the video sees exactly the same content at the same time.

What’s the difference between rtsp:// and http://

If you will be using a quicktime server and streaming pre-recorded hinted videos using an online playlist on the server then you would use a rtsp:// link to the online playlist’s name (eg. rtsp://video.slserver.com:8000/live.sdp). This means that all viewers would see the same video content at the same time.

If you wanted the videos to play on-demand ( eg. stream from the start of the video as each a viewer plays/requests the video) then you could use a http:// link to the actual video file. (eg. http://video.slserver.com:8000/video.mov.

With on-demand videos, if the video is hinted/prepared for streaming, the video would play as it downloads, rather than downloading then playing once the download is complete.

Streaming content from Quicktime server

From the quicktime server, uploaded videos can either be static hinted videos played individually or streamed live as part of a online playlist.

To prepare videos for the server, I would recommend using Quicktime Pro (the full version) of the Quicktime viewer program. Videos can be exported from Quicktime Pro in the format your require and also coverted to Hinted movie (which is needed, if you will be using the video in a online playlist or want the video to play as its watched.

I would suggest either the MPEG-4 Video or H.264 video format when exporting videos.

If you are planning to stream mutliple videos in a playlist, all videos will need to be saved with the same format and same data rate, and don’t forget to set the video to be hinted for streaming.

Personally, I’ve found the H.264 format and restricting the data rate to 300-400kbit/s to be ideal for Second Life. For example a file might be 640×480 sized, h.264 format, with a maximum data rate of 400kbit/s and hinted.

Streaming live content from a PC

Unfortunately there are limited options for streaming live content from a PC to a quicktime server, currently the most popular program is WireCast from Telestream. It can support multiple cameras, multiple broadcasts, titles and graphics, think of it like a mini tv studio program, however is quite expensive at US$450.

Trial is available to download and there is a guide to getting setup here

Streaming live content from a Mac

On a Mac, Apple’s own Quicktime Broadcast will allow you to stream live content to a quicktime server, and is free.

The application is downloadable from here and there is a guide to getting setup here

WireCast is also available on the Mac. It can support multiple cameras, multiple broadcasts, titles and graphics, think of it like a mini tv studio program, however is quite expensive at US$450.

Trial is available to download and there is a guide to getting setup here