PolyStreamer - multistreaming service built with Haxe!

Hello Haxe friends,

PolyStreamer.com is live! And is currently free for testing and feedback. Dust off your OBS, give it a whirl, and let me know how it goes!

PolyStreamer is a super affordable and easy way to live stream to multiple platforms - like Facebook, YouTube, and Twitch - at the same time. The 3-min intro video on the homepage shows how it works.

For testing, set your stream’s Facebook privacy to “Only Me” and YouTube to “Unlisted”. (Twitch has no such option.)

:haxe: Haxe gives me shared code across the backend and frontend, and I’m playing with different ways to make my Rest APIs, remote procedure calls, and SQL queries type safe with Haxe magic. :+1:

While you’re at it, I would greatly appreciate your follows / likes on my social profiles at Twitter, YouTube, and Facebook.

19 Likes

Put the kettle on! :slight_smile: Looks good!

1 Like

Looks great! What runtime / stack, though? Could you elaborate a bit on that?

2 Likes

Thanks! Talk about the stack? But that’ll reveal all my unpopular opinions and questionable choices. :laughing:

It’s running on nodejs, behind nginx, serving http2. The CMS is custom made (also Haxe.)

The frontend Haxe is being compiled with modular-js into small, single-class AMD modules (I think HTTP2 makes this a reasonable strategy.) It’s vanillaJS and some Riot v2 (ages old, but I like it and have tooling around it.) I have no appetite for “modern js”.

On the backend, I’m quite enjoying the jsasync macro to take advantage of native async / await. Thanks @basro !

I started the project playing with lix… But I still prefer just switching my haxe versions manually and storing 3rd party lib source directly into my repo.

My servers’ setups are all scripted, some services are dockerized. I have RTMP ingest servers in 6 countries with DNS-based location resolution:

sm_servers.jpg

(I should look for a host in South America, not available from my current hosts. :frowning_face: )

Run ping live.polystreamer.com to see where it resolves for you:

>ping live.polystreamer.com
PING us-east.live.polystreamer.com ...

My legal docs are based on Automattic’s legalmattic repo - thanks for that. :wink: And the parrot icon truly came before all of the above - I thought @RobDangerous would appreciate that :parrot:

That’s about it - fun, fun! :smiley:

Best,
-Jeff

5 Likes

I’m really happy that you found jsasync useful :smiley:

1 Like

Rob approves and appreciates that.

1 Like

Thanks for sharing, Jeff!
Best luck with the project!

Hello @cambiata, thanks very much! :crossed_fingers: :smiley:

Hey, has anybody ever integrated Sripte payments before? Wow, when you’re doing subscriptions with metered usage, managing all that state is no simple task. :laughing: Luckily they have a bunch of JSON objects in their docs, so the json2typedef tool really helped in creating typedefs. But you gotta admit, it’s pretty!

1 Like