_1024_NETWORK plugin / send & receive anything QC

franz's picture

Hi everyone. I just made a plugin that sends and receives QCstructures through the local network. It currently accepts any datatype within the passed structure, even images.

Download from : 1024 blog Then it is in the box on the right.

Any comments welcome.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

gtoledo3's picture
Re: _1024_NETWORK plugin / send & receive anything QC

This is excellent Franz. I think I love you.

vade's picture
Re: _1024_NETWORK plugin / send & receive anything QC

Interesting. Do you compress images or how are they handled? Fast enough for video framerates, ah, I see on your blog post. Nice work!

mattgolsen's picture
Re: _1024_NETWORK plugin / send & receive anything QC

This is amazing. Thank you.

mattgolsen's picture
Re: _1024_NETWORK plugin / send & receive anything QC

Back off my man I saw him first!

franz's picture
Re: _1024_NETWORK plugin / send & receive anything QC

Thanks. Images are uncompressed unfortunately i assume. They should be sent as QCimages (what the hell are QCimages anyway ?). This plugin should accept without complaining any NSDictionary containing -quote- "any classes that implement the NSCoding protocol".

As of framerates, i tested a 160*120 isight feed, 60 FPS on the receiver side. Network calls are not on the main thread, so receiving should not affect performance of the comp. On the sending side, i guess this is all about what a NSDictionary can handle with plain QCimagesfull res at 60fps ... choke ?

vade's picture
Re: _1024_NETWORK plugin / send & receive anything QC

Are you locking buffer representation on the images or just passing them in as a pointer and the framework magically serializes them?

QCImages are opaque, and are actually a conglomerate of various different image types wrapped depending on how they were used last, as far as I understand it. They can be CVImageBuffers (of any type, PixelBuffer, OpenGLPBuffer or OpenGLTextureRef), raw textures, CIImages (which are also 'opaque' recipes), CGImages, NSBitmapImageRep, on and on.

Nice stuff. I did not see any info on the networking framework you used, have alink? Im just idly curious?

If you lock Buffer Rep, email me. bangnoise and I have a reallyyyyyy optimal GL readback class that can be done asynchronously and with much less overhead. QCs readback is really poor. Ill play with this soon, seems nice!

cybero's picture
Re: _1024_NETWORK plugin / send & receive anything QC

Brilliant stuff.

franz's picture
Re: _1024_NETWORK plugin / send & receive anything QC

they're passed in as a pointer. Serialization is automatic, so cutting-edge performance is out of the way.

.lov.'s picture
Re: _1024_NETWORK plugin / send & receive anything QC

Awesome man, thanks for sharing!

dust's picture
Re: _1024_NETWORK plugin / send & receive anything QC

this is interesting, what are you using for a tho mo protocol identifier ? i would like to try and network this to my ipad as well.

franz's picture
Re: _1024_NETWORK plugin / send & receive anything QC

franzProtId