I'm confused about QT streams again.
|
Logan Bauer
Inept Adept
Join date: 13 Jun 2004
Posts: 2,237
|
11-15-2005 08:31
So, I hadn't done much with Quicktime yet because it kept crashing for me and everyone else. But, got a couple questions just to make sure I'm on track here... Looking at llParcelMediaCommandList on the wiki today... So, if we can specify "PARCEL_MEDIA_COMMAND_AGENT", we can set a specific stream for each agent, correct? If I'm not (yet again) misunderstanding what I see here, we could have 5 AV's sitting in the same parcel but viewing entirely different streams, correct? So, could we have different rooms set up within a parcel... And then as you walk into a new room (detected with a sensor or volume_detect), a script switches them over to that room's video stream? Finally, assuming this is possible, is there any way to do it for JUST audio(short of making all my audio into quicktime and pushing thru this way)? Because, really I only want to have different music playing in each room/area... And making each room a seperate parcel lets me specify different streams horizontally, but not vertically...
|
Strife Onizuka
Moonchild
Join date: 3 Mar 2004
Posts: 5,887
|
11-15-2005 12:53
My understanding is the way they have implemented it that url updates get sent to everyone. But if you identify the room they enter via llVolumeDetect and send an email off to the server, then your streaming server you could dynamicly mix-switch the stream they are on. Course this would probably require custom built streaming software but i don't know (and people might have fun switching rooms to listen to the transitions). You would have to associate users with sessions which would not be fun to say the least.
I've never actualy tried to see if each user can be sent an individual URL stream.
_____________________
Truth is a river that is always splitting up into arms that reunite. Islanded between the arms, the inhabitants argue for a lifetime as to which is the main river. - Cyril Connolly
Without the political will to find common ground, the continual friction of tactic and counter tactic, only creates suspicion and hatred and vengeance, and perpetuates the cycle of violence. - James Nachtwey
|
Travis Lambert
White dog, red collar
Join date: 3 Jun 2004
Posts: 2,819
|
11-15-2005 13:05
I think Strife is correct. The Media URL is pulled from the parcel settings - you can't play a different stream for different users without doing something on your back end, with a single URL setup in SL.
From my own experiments - what you can do with PARCEL_MEDIA_COMMAND_AGENT, is essentially press Play/Pause/Stop/Reload for an individual agent.
Think of it like this...
You can make a play button that, when pressed - starts the stream for everyone
or
You can make a play button that, when pressed - starts the stream for the person clicking.
_____________________
------------------ The ShelterThe Shelter is a non-profit recreation center for new residents, and supporters of new residents. Our goal is to provide a positive & supportive social environment for those looking for one in our overwhelming world.
|
Logan Bauer
Inept Adept
Join date: 13 Jun 2004
Posts: 2,237
|
11-15-2005 15:13
Thankyou both,
Strife, I was afraid of that, damn. But thanks much for letting me know...
Travis, thankyou also, I didn't know that, it might come in handy, but lets say a group of people start watching a stream that was started for everyone... If I came into the scene 10 minutes later, would I start watching the movie 10 minutes into it, in synch with everyone else? Or, would it start my client off watching the beginning of the movie?
Also curious about the PARCEL_MEDIA_COMMAND_TIME flag in here, could it be used to "fast forward" or rewind a movie in progress? I.E. if you hit the "fast forward" button it stops and then begins playing 1 minute forward in the video? I don't see a way to detect the length of the movie so you'd have to manually put into the script the length of any movies it would be playing, and then keep track of the time that the movie has played for when you hit the "forward" or "rewind" buttons...
|
Travis Lambert
White dog, red collar
Join date: 3 Jun 2004
Posts: 2,819
|
11-15-2005 17:15
From: Logan Bauer
Lets say a group of people start watching a stream that was started for everyone... If I came into the scene 10 minutes later, would I start watching the movie 10 minutes into it, in synch with everyone else? Or, would it start my client off watching the beginning of the movie?
Well, it depends. There's 2 kinds of URL's you can point to: 1. Streaming URL - This typically requires a Darwin Streaming Server running on your end of the pipe. Everyone watches in sync - if you come in 10 minutes into the movie, it will play 10 minutes in. 2. FileServ URL - This is the easiest to setup. What you're doing here, is making a .MOV file available over an HTTP share from your computer. There are freeware utilities to do this if you don't know how already. With a Fileserv URL, you are literally 'downloading' the .MOV off the remote computer. Each AV makes an independant HTTP connection, and downloads are not synced. If you walked in after 10 minutes on this - you would start at the beginning. From: Logan Bauer Also curious about the PARCEL_MEDIA_COMMAND_TIME flag in here, could it be used to "fast forward" or rewind a movie in progress? I.E. if you hit the "fast forward" button it stops and then begins playing 1 minute forward in the video? I don't see a way to detect the length of the movie so you'd have to manually put into the script the length of any movies it would be playing, and then keep track of the time that the movie has played for when you hit the "forward" or "rewind" buttons...
I've never used this function - but at least from what I'm reading in the Wiki - it appears to do exactly what you suggest. I don't think this function would have any effect on FileServ URL's however - but not really sure.
_____________________
------------------ The ShelterThe Shelter is a non-profit recreation center for new residents, and supporters of new residents. Our goal is to provide a positive & supportive social environment for those looking for one in our overwhelming world.
|
Logan Bauer
Inept Adept
Join date: 13 Jun 2004
Posts: 2,237
|
11-15-2005 20:27
Cool, thank you Travis. Yah, I've just hosted the things I've tried streaming in the past on a webserver, but will check out that Darwin Streaming Server you mentioned.
|
Harris Hare
Second Life Resident
Join date: 5 Nov 2004
Posts: 301
|
11-16-2005 07:30
From: Travis Lambert I've never used this function - but at least from what I'm reading in the Wiki - it appears to do exactly what you suggest. I don't think this function would have any effect on FileServ URL's however - but not really sure. It also works with on-demand clips (or FileServ as you call them). Of course, the catch is that if the viewer has never downloaded the clip before, the video clip is five minutes long and you start someone at four minutes in, they'll be looking at a blank screen until enough of the movie is downloaded to start playing at four minutes in. I once tinkered with the idea timing the length of on-demand clips and their current "playhead position". That way, if a clip was currently being played and someone new entered my plot, I would auto-start their playback at the point where the clip was already playing for everyone else. I ran into the problem above and ditched the idea.
|
Kelly Linden
Linden Developer
Join date: 29 Mar 2004
Posts: 896
|
11-18-2005 11:25
Logan,
It is always important to experiment for yourself. PARCEL_MEDIA_AGENT may be a tad more powerful than Strife or Travis think.
_____________________
- Kelly Linden
|
Logan Bauer
Inept Adept
Join date: 13 Jun 2004
Posts: 2,237
|
11-18-2005 11:33
From: Kelly Linden Logan,
It is always important to experiment for yourself. PARCEL_MEDIA_AGENT may be a tad more powerful than Strife or Travis think.  Thank you, Kelly! Edit > Well, it appears this will work pretty smoothly afterall - I just tested by making a couple very simple boxes that start a video when you click on them, using the following:
string url = "http://YourVideoURLHere";
default { touch_start ( integer total_number ) { llParcelMediaCommandList ( [ PARCEL_MEDIA_COMMAND_PLAY, PARCEL_MEDIA_COMMAND_AGENT,llDetectedKey(0), PARCEL_MEDIA_COMMAND_URL,url ] ); } }
And upon testing, sure enough - PARCEL_MEDIA_COMMAND_AGENT does appear to work for changing the "channel" for just an individual while you're in a single parcel. Thank you Kelly! 
|