FreeFrameGL and VJ/Video Video sender and receiver

Learning about the project https://github.com/leadedge/Spout2
Does OpenFL support FreeFrameGL ? They also use a DirectX workaround and have a memory copy fallback to transport frames. With Away3D and HerokuShaders sort of material that is possible to generate dynamically, this would be awesome.
The basics are that Spout2 broadcasts generated content from sources to receivers, there’s a working demo and windows bin files on the repository.
This Spout2 project is similar to Syphon on Mac, a major player in VJing, Video mapping, live performance, etc. So any thoughts on this ? Could something like this be used with OpenFL maybe through use of foreign function calls ? Another way maybe ?

Spout is great. I’ve made a couple of projects using spout textures streamed from other programs including Unreal engine. And it works pretty good.

Have also made an OpenFL integration for this. So you basically have a “spoutbitmap” that you can add to the display list just like a normal bitmap.

It’s updated and resized automatically and doesn’t use much extra resources since the spout integration draws directly to the OpenFL texture under the hood.

Hopefully I will get to release this at some time soon.

1 Like

That would be killer, I mean just the stuff one can do with Away3D and the shaders… could be mind boggling.
The thing that hits me is, how is it so fast… do you get near 25 fps or some content just bogs it down?
Can’t wait to see this release… omg, I’m so pumped now!
Does it allow to emit, or is it just the receiver ? Either way, this is amazing!

It’s very fast. I’m streaming a 4K texture from Unreal engine to OpenFL at 60fps. And it doesn’t really hit performance much, because the texture is infact shared in memory and we can just hook onto the buffer and display it directly in OpenFL.

Both sending and receiving is possible. But to send you have to send a bitmapData. Now this can be generated many different ways including stage3d draw to bitmap or different ways, up to you… but sending large textures Will probably have a higher hit than receiving because you have to draw the bitmap.

Either way, it’s really cool. Mix and match OpenFL into different programs like Unity, Unreal, Resolume etc… :blush:

1 Like

I see about the content generation plus sending timings. Even so that’s amazing. And getting 4K…
Being able to generate away3D content at 60fps, wouldn’t mind dropping down to 50 or 25 just to be able to stream 1080 out. I’m in PAL land after all.

Does it do alpha or uses any sort of chroma key, just wondering what happens if one streams a sequence of .png with transparency. If that’s even possible, to transmit alpha…

Does this by any chance communicate with stuff like https://www.newtek.com/ndi/sdk/ or the Black Magic SDK for ATEM 4K, if you happen to be familiar with those.
Both have these similar open frame buffers and I read people were tinkering with spout and those but I lost the link.

This is like finding out about Syphon, all over again :slight_smile:

Sending time is quite low, since its actually a shared video memory buffer. So if you can draw/capture a bitmap at 60fps in your application you should be able to stream at 60fps without issues. Yes, spout supports RGBA textures meaning you can use alpha without any issues.

As far as i know Spout supports over 42 programs, including Unity, Unreal, After Effects, Adobe Air etc etc… And now with this Haxe / OpenFL. I dont know the NewTek SDK but im sure its possible implement support for it.

1 Like

This just keeps getting better :slight_smile:

Glad you like it! I hope to get something released soon… its just i’ve been very busy with projects and there are a few things i still need to fix before releasing it… so cant give you an ETA quite just yet. But i’ve used it in two recent projects and it really does work pretty well :slight_smile:

BTW… same goes for my native VLC video integration to OpenFL :slight_smile:

1 Like

This is almost too much to take in. I’m one json kinect skeletal stream from popping my eyes out at what is coming.

I mentioned Newtek SDK and ATEM Switchers 7.1 SDK because I see a lot of people doing software controllers, there’s even http://techlife.sg/BMMixer/index.html and lots of interesting things floating around on github.
But I never saw it actually interact with something FFGL style. Though reading through that API this can possibly be a thing now.

Anyways, if you Beta it, they will come! :slight_smile:

Hey! Almost forgot about this… I have to get around to release my OpenFL Spout integration… It’s working pretty good :slight_smile:

2 Likes

Hey ! Have you come around to release this ?
Seems to be an awesome option for installations.