Page 1 of 1

[Prototype] Controlling CasparCG with Elgato Stream Deck

Posted: 24 May 2017, 15:31
by k0d
I've been looking for a cheap device for controlling CasparCG, something with tactile buttons but easily customisable. I think I have now finally found that device!

The Elgato Stream Deck https://www.elgato.com/en/gaming/stream-deck

It has 15 buttons, each with their own little LCD screen behind. 72x72 pixels per button. It seems to have bee developed primarily for gamer-broadcasters, Twitch/youTube etc. But I think it'd be perfect for controlling CasparCG with.

So I ordered one, it arrived yesterday so I set about developing a prototype. It doesn't do so much yet, but I have big plans for it! You can see below what I have made so far. I'm testing the performance at the moment to see what refresh rate I can get out of each button. It seems I can update one button at a decent (~30) fps.

I'd love to hear what you think, is it something you think you could use? How would you use it?

// Mark Olsson
IMG_4577.JPG
IMG_4577.JPG (158.65 KiB) Viewed 7111 times

Re: [Prototype] Controlling CasparCG with Elgato Stream Deck

Posted: 24 May 2017, 16:01
by Jesper Stærkær
Got mine today. It is awesome!

Re: [Prototype] Controlling CasparCG with Elgato Stream Deck

Posted: 24 May 2017, 16:02
by didikunz
That seems to be an interessting device.

Re: [Prototype] Controlling CasparCG with Elgato Stream Deck

Posted: 24 May 2017, 16:12
by Jesper Stærkær
Oh yeah, it is _the_ ultimate control device at the market at the moment. Have been looking for such a device for 5-7 years now, and really didn't want to spend 20 times the price of this one on the JLCooper alternatives.

Re: [Prototype] Controlling CasparCG with Elgato Stream Deck

Posted: 24 May 2017, 17:13
by k0d
What's your thoughts on integrating it to CasparCG? I guess the NodeJS API you've worked on?

I was thinking of integrating it with the official client....but am not 100% sure yet.

Re: [Prototype] Controlling CasparCG with Elgato Stream Deck

Posted: 24 May 2017, 19:15
by didikunz
Is there a kind of API for it?

Re: [Prototype] Controlling CasparCG with Elgato Stream Deck

Posted: 24 May 2017, 19:24
by k0d
No official API yet, but someone has started to make a nodeJS library for it.

https://github.com/Lange/node-elgato-stream-deck

Would you like one in another language? I can code just about anything :)

Re: [Prototype] Controlling CasparCG with Elgato Stream Deck

Posted: 24 May 2017, 19:33
by didikunz
No, I saw, that it can create hotkeys and to capture them from an app is easy.

Re: [Prototype] Controlling CasparCG with Elgato Stream Deck

Posted: 24 May 2017, 19:48
by k0d
I'm thinking that to be able to send custom graphics in realtime to the buttons could be useful...

Re: [Prototype] Controlling CasparCG with Elgato Stream Deck

Posted: 24 May 2017, 19:51
by zbang
There doesn't seem to be much documentation for the device/software. Are there resources not on elgato's web site? The windows installer doesn't containing anything interesting that I could see.

Re: [Prototype] Controlling CasparCG with Elgato Stream Deck

Posted: 24 May 2017, 22:40
by k0d
Have started to write an API in Swift, I've got button states working fine, will write the code to send images to the device tomorrow hopefully.
Screen Shot 2017-05-24 at 23.35.34.png
Screen Shot 2017-05-24 at 23.35.34.png (76.77 KiB) Viewed 7043 times

Re: [Prototype] Controlling CasparCG with Elgato Stream Deck

Posted: 26 May 2017, 08:54
by emisiona
Connecting it to a raspberry pi and being able to configure it via webgui will be so awesome...

I love the future!!

Re: [Prototype] Controlling CasparCG with Elgato Stream Deck

Posted: 26 May 2017, 11:37
by k0d
Yeah emisiona...that sounds like a good idea. Would you expect the Pi to talk AMCP back to a CasparCG server?

Re: [Prototype] Controlling CasparCG with Elgato Stream Deck

Posted: 26 May 2017, 17:07
by zbang
k0d wrote:Have started to write an API in Swift, I've got button states working fine, will write the code to send images to the device tomorrow hopefully.
Are you talking to the device directly or to the windows app? I haven't seen much doc on the device; are you reverse-engineering the API? It looks very interesting but I don't want to pop the (probably) $250 for the device without reading more about it.

thx.

Re: [Prototype] Controlling CasparCG with Elgato Stream Deck

Posted: 26 May 2017, 19:05
by emisiona
I went ahead and ordered one too, it looks super promising.

k0d, sending amcp commands from a Pi to a CCG server has to be pretty straight forward. The hard part would be programming a webgui to configure the elgato keyboard, button images, etc.

Re: [Prototype] Controlling CasparCG with Elgato Stream Deck

Posted: 26 May 2017, 22:38
by k0d
@emisiona Great that you ordered one! I really love mine.

It was super easy to link it with the AMCP nodejs lib, so have already got control of my CasparCG server with it. Of course, linking the buttons to specific macros and fetching some images will require some work. I'd say it's all very easy...just needs a little time.

@zbang Right now I'm using the nodeJS library to talk to the device. Someone has already started to reverse engineer the API. I've found some methods that they haven't implemented/mentioned yet. So I'll look to implement them.

Right now, there isn't simple integration between the device and CasparCG server, but it's only just been released and we already know how how the API works. So in the near future I'd expect to see a lot of implementations in various languages.

What I'm keen to know is how you'd think of using it? what would you wish the buttons to do when you press them and what info would you like to display on the buttons? A generic library is easy to make and is kind of already available, but I don't have production experience with CasparCG yet so would like to hear of some real-life examples of how you might want to use the Stream Deck to control CasparCG.

Re: [Prototype] Controlling CasparCG with Elgato Stream Deck

Posted: 29 May 2017, 14:20
by k0d
I've committed the code I've made so far for the Swift API, it still has only button status support, but I'm working on full support!

https://github.com/open-broadcasting/st ... -api-swift

Re: [Prototype] Controlling CasparCG with Elgato Stream Deck

Posted: 01 Jun 2017, 13:52
by TheYouth
Got mine today :)
It´s an sweet handy device that fits easy in the backpack.
Hopefully it will get OSC and Midi support in the future, that would be awesome.

Re: [Prototype] Controlling CasparCG with Elgato Stream Deck

Posted: 01 Jun 2017, 16:08
by emisiona
By now, the easiest and fastest way for us to get the Stream Deck working with CasparCG is by using the "Website" buttons to make url calls. Just installing xampp and writing a few lines of php code does the trick.

For example, to play a video file we use something like this:

Code: Select all

http://127.0.0.1/playvideo.php?filename=amb&channel=1&layer=1
And the php code would be something like:

Code: Select all

<?php
require("./CasparCG-PHP/CasparServerConnector.php");
include_once("./config.php");

$connector = new CasparServerConnector($config['ip'], $config['port']); 

$channel = $_GET['channel'];
$layer = $_GET['layer'];
$video = $_GET['filename'];
$response = $connector->makeRequest("PLAY " . $channel . "-" . $layer . "\"" . $video . "\"");
$response = $connector->makeRequest("LOADBG " . $channel . "-" . $layer . " EMPTY MIX 20 AUTO");
?>
I've trying to start a node webkit client using Lange's library, but I'm getting errors from the arrow functions :-s

Re: [Prototype] Controlling CasparCG with Elgato Stream Deck

Posted: 03 Jun 2017, 16:00
by TheYouth
I´ve emailed Elgato and asked for an SDK and Midi / OSC / Telnet Support:

"We're thrilled to see so many people interested in integrating Stream Deck with third party solutions. With Stream Deck's custom actions for global keyboard shortcuts you can start integrating for demo setups right away while we evaluate our options for a more developer-friendly SDK."

Midi / OSC / Telnet request hast been forwarded to the development department....

We´ll see...

Re: [Prototype] Controlling CasparCG with Elgato Stream Deck

Posted: 03 Jun 2017, 16:02
by k0d
That's awesome! Maybe you can send them a link to this forum topic?

Re: [Prototype] Controlling CasparCG with Elgato Stream Deck

Posted: 06 Jun 2017, 17:13
by Theo
In the netherlands I see this device for €150,- !

Re: [Prototype] Controlling CasparCG with Elgato Stream Deck

Posted: 07 Jun 2017, 08:47
by Armin Hafizovic
Nice! :)

I will try to get one Stream Deck, it looks really interesting and cool.

Re: [Prototype] Controlling CasparCG with Elgato Stream Deck

Posted: 07 Jun 2017, 09:33
by didikunz
I had a converstion with their support yesterday. They will hopefully soon release a SDK that can send icons to the Stream Deck, so that a more elegant integration in custom client software would be possible.

Re: [Prototype] Controlling CasparCG with Elgato Stream Deck

Posted: 07 Jun 2017, 09:50
by Armin Hafizovic
didikunz wrote:I had a converstion with their support yesterday. They will hopefully soon release a SDK that can send icons to the Stream Deck, so that a more elegant integration in custom client software would be possible.
Sounds good! :)

Re: [Prototype] Controlling CasparCG with Elgato Stream Deck

Posted: 07 Jun 2017, 13:17
by Jesper Stærkær
Check out @langes node library!

Re: [Prototype] Controlling CasparCG with Elgato Stream Deck

Posted: 16 Jun 2017, 15:45
by phallyka
I guess the NodeJS API you've worked on?


^Goldenslot^

Re: [Prototype] Controlling CasparCG with Elgato Stream Deck

Posted: 16 Jun 2017, 21:03
by Jesper Stærkær
No, this one from @lange, the creator of NodeCG:

https://github.com/Lange/node-elgato-stream-deck

Re: [Prototype] Controlling CasparCG with Elgato Stream Deck

Posted: 26 Jun 2017, 17:35
by jondezwaan
I'm trying to control the regular CasparCG Client with the Stream Deck with just regular hotkeys (f1, f2 etc) assigned to the buttons, but the client doesn't respond to it, other software does however. Anyone else having the same?

Setup: CasparCG Client V2.0.8 on ZBook Studio G4 with Windows 10 Pro.

Thanks!

Re: [Prototype] Controlling CasparCG with Elgato Stream Deck

Posted: 14 Apr 2018, 20:18
by TheYouth
https://drewlx.github.io/StreamdeckPro/ Someone build Streamdeck Pro for Mac which outputs OSC. - Anyone able to port this to Windows?