close dialogue

Hello smile

I'm Siobhan Curran/Kisa Naumova, and this is my weblog. I tend to write about stuff like crossdressing, Macs, code, cats, wine and Second Life, but in general it's just an ongoing conversation about all sorts of stuff. If you'd like to know a little bit more about what this all is, I recommend starting on this page which has a little bit of info on who I am, and what I'm trying to do — or you could dive into my five years worth of archives if you like.

Otherwise, feel free to close this box and explore...

Friday, 17th November, 2006

Cocoa Text System

Hack your keyboard layout in a gazillion different ways, and get it doing what you want it to — if your text editor of choice is a Cocoa app, obviously. Unfortunately, BBEdit isn't. Which kinda sucks

Delivering JPEGs Via Quicktime

*yay!* Code and Second Life in one post! What's not to love?

I'm always in two minds about publishing details of something I'm working on online. On the one hand I wonder whether I should be more 'secretive' about things — not let them out into the wild until they're ready, and announce them with great fanfares and trumpets.

On the other, I think I should reveal little snippets partly as an invitation for help and contributions, partly in the (perhaps blind) hope that something I've coded might help someone else, and partly because it really pisses me off when I'm nearly done with something and someone else releases a similar thing and gets all the kudos :wink:

So anyway, what I'm currently (currantly) absorbed in, is integrating web data into Second Life. Now, mention that to most people, and they start clamouring on and on about "Mozilla on a prim" (which I will hereafter call ... "MOAP" :biggrin:), and offering sacrifices to the great Linden gods in the hope that they'll come up with the goods.

But I, being a beligerant soul — and one who always loves a challenge — decided to try and improvise a little.

You may, of course, remember some of my earlier adventures in web/prim-based interfaces — my little colaboration with AngryBeth which morphed into a Flickr set browser, which, given a bit of time (and incentive) I could probably turn into a full-functioning in-world Flickr Client :biggrin:

But, seeing as how the website that I made for work functions in largely the same way as Flickr, I thought I'd try a real world application of my code and see if I could somehow integrate what we do at Uni into SL.

So far, it's going rather well...

It's just a bit of a 'proof of concept' at the moment, but the intention behind it is to stop relying on crappy notecard-givers, stop waiting for MOAP, and basically create a version of our website that you can 'immerse' yourself in — one that trys to utilise Second Life, rather than fighting against it.

Where I'm at with it at the moment, is that if you click on it (and you're a student/staff of our School), it shows you you most recent work so you can browse through it. What I'm planning on working on this weekend is getting a searchable interface running so you can browse anyone's work — and also making the 'public face' of it¹ work.

But (she said, trying to get to the actual point of this post), you might notice that there's a rather nasty flash of blue in that screencast above, as the client requests a different image from Erin.

It's not a major thing — and it doesn't really interfere with the running of the script. It's just a bit, well, annoying :unsure:

So, what I was thinking, is rather than having the client request a different URL via llParcelMediaCommandList, using the QuickTime Streaming Server built into MacOSX Server would make for a much more 'fluid' experience.

In other words, the parcel is set to a constant URL, but the rtsp feed that it points to is a dynamically, on-the-fly stream of my usual magically-created JPEGs.

Does that make sense? :unsure:

Does anyone know about streaming stuff like that? :unsure:

Basically, how would I set up a streaming server to point to dynamically-created JPEGs, and is it possible to control it from the commandline so I could issue an exec() from within a PHP script?

Ta :biggrin:

¹ The stuff that we've marked as being public, rather than all the stuff that's posted.

Um.... not being up-to-date with the video side of things;

but how about a motion-jpeg approach? same url, dynamically updatable content and it's delivered normally rather than via video and RTSP.

Webcams used to do it back in the day before good Video support in browsers. and the refresh rate (once every few seconds) would be about the same.

else perhaps some kind of VJ package that can rebroadcast into a quicktime streaming server... kick the VJ program into accepting JPEG updates into the stream... commandline? apple-script? :shrug

gravatar

Sarah

but how about a motion-jpeg approach? same url, dynamically updatable content and it's delivered normally rather than via video and RTSP.

The problem is that the SL client (or the QuickTime part of it, I'm not sure which) seems to cache things for a rather large amount of time. So if I change the actual JPEG, those changes don't get reflected in-world immediately.

If that makes sense :unsure:

Unless, of course, I'm misunderstanding what you mean

"you might notice that there's a rather nasty flash of blue in that screencast above"

I must admit, I'll lose endless nights of sleep over that :tongue:

Ah.....

I've not seen it in a while, but somehow the motion-jpeg thing used to keep the HTTP connection open and just deliver frames from the camera every few seconds. it was like a stream, but with the browser's jpeg renderer doing the work. It was mainly netscape that did it.

What happens to SL's cache if you mark it as dynamic by putting a flickr style http://some/url/pict.jpg?v=1

gravatar

Sarah

What happens to SL's cache...

I think that works fine — but that would still give me the blue flash as the parcel changes its media URL.

However, I think I might just have found exactly what I'm looking for...

Apple — QuickTime and SMIL

"SMIL also gives you a way to automatically generate customized QuickTime movies using a script, such as an AppleScript, PERL or CGI script" — I think that's just what I need :biggrin:

PS. Selina, :tongue:

Use ambient noise reduction on 10.4.8 Intel Macs

Oooh. That's a bit interesting. Apparently it makes iChat and Skype calls more "pleasant" — [macosxhints.com]

Text on a Prim

tag photo secondlife

Text on a Prim

There's nothing quite like finding out you can do something while all the myriad possibilities of its use start to form in your head.

Interestingly though, it would seem that the SL client isn't able to access fonts on my system. Hmm

So It's Come To This

"Billy Matsumoto tries to break a personal record on Dance Dance Revolution while juggling three lit torches" (Master of Champions, 8pm Five US)

That's it. Television is shit.

Ha! Get rid of it then — you've got a woodstove to watch instead.

:smile:

gravatar

Tidy

I can't understand why Channel 5 would bother opening new channels if they aren't going to use them to show CSI or Prison Break which, let's face it, are the only things people go to their channel for. Still think they should have called the new channels 5.1 and 5.2 though...

Heh, I like that :smile:

Actually, Five US is pretty much full of CSI. My whopping big hard disks are filling up dramatically every night with top Gil/Mac/H action...

...although why is it that there's always something else on when CSI:Miami's on? And why is that the one show they don't repeat later on huh? :unsure:

I need to get me another EyeTV box so I can watch/record two things at once :smile:

I need to get me another EyeTV box so I can watch/record two things at once

Or you could try the EyeTV Diversity :smile:

Indeed :smile: Although one of the advantages of them releasing that, is that the software now recognises if you have two boxes connected, and works with both :biggrin:

I'm not sure how intentional that was, but (if it's true — I've only read about it) it surely rocks.