jprjr / multistreamer

[discontinued] A webapp for publishing video to multiple streaming services at once.
MIT License
322 stars 94 forks source link

Mixer FTL support? #63

Closed Toucan-Sam closed 3 years ago

Toucan-Sam commented 5 years ago

Hey guys, This looks brilliant and I'll be setting it up over the weekend. Thank you for all your hard work!

I've been using an NGINX based multistream setup to push to Twitch and Mixer, but disappointed that I can't quite work out pushing to Mixer via their FTL protocol. It looks like a WebRTC stream but with a few extra quirks.

Has anyone else worked this out yet? :)

jprjr commented 5 years ago

I haven't, I'm not sure how doable it is.

The primary issue is OBS only supports rtmp when you use a custom streaming server. So while I could try to implement FTL for pushing from nginx into mixer, you'll still need rtmp from your desktop to the server, which would limit the usefulness of it.

You can almost work around this by setting up a recording profile that uses a custom ffmpeg output, except the version of ffmpeg bundled with OBS only supports a handful of protocols, not to mention the nginx rtmp module only supports rtmp.

I'd like to look into using something like SRT as a protocol, but I think I'm primarily stuck with rtmp right now.

eaba commented 4 years ago

Hi, I have interest in the SRT protocol, in the works yet? OBS now support SRT. I also sent you an email (john at jrjrtech dot com)

jprjr commented 4 years ago

As far as I know, nobody's written a module for ingesting SRT streams into nginx. I thought about making a lua wrapper for libsrt, but I think it requires using it's own wrappers for UDP sockets (though admittedly, I haven't had a lot of time to check on it).

Re: emails, I never respond to direct emails about multistreamer. Anything you'd send as an email should be posted as an issue.

eaba commented 4 years ago

Does this support concurrent users streaming at the same time - say youtube type of service? What will be the best sys specs to supports thousands of concurrent streams?

Toucan-Sam commented 4 years ago

@eaba Multistreamer is a tool to allow people to push a single stream to multiple destinations. IE, stream your video game to Facebook, Twitch, and YouTube all at the same time. It is not a replacement for any of those services. Viewers would watch your stream through (Facebook, Twitch, YouTube, etc) and (Facebook, Twitch, YouTube, etc) would handle the video delivery.

It sounds like you might want to check out the OBS hardware requirements.

@jprjr Thanks for the responses. NGINX is still NGINX and probably the barrier at this stage without running multiple copies of OBS simultaneously with different endpoints. Surprised OBS doesn't just support a 'add an endpoint' option. Probably related to how it encodes video though. What codec, resolution, bitrate, etc etc. Still appreciate this being published though. :)

PS, probably safe to close this unless you want to keep it open as a 'ideas' tag or something.

eaba commented 4 years ago

@Toucan-Sam thanks. What I was trying to say is having something like a SAAS where multiple users can multi-stream to facebook, youtube etc at the same time.

Toucan-Sam commented 4 years ago

Hi @eaba , This is not designed as a SAAS solution, at least at this stage. There is no web/management interface. If you wanted to make a feature request, probably best to do that in a separate issue as it's not related to FTL support. :)

jprjr commented 3 years ago

I've been considering discontinuing this project for some time now. I'm sorry I couldn't solve your issue, but I just don't enjoy working on multistreamer anymore.