electroncapture icon indicating copy to clipboard operation
electroncapture copied to clipboard

Add Siphon video output

Open steveseguin opened this issue 4 years ago • 11 comments

steveseguin avatar Apr 28 '20 03:04 steveseguin

It might make more sense to use NDI because then it's platform agnostic and would allow an obs.ninja call to take place on one machine and broadcast to the local network and ingest on an OBS machine allowing multiple machines to handle the work.

unknowndomain avatar May 05 '20 00:05 unknowndomain

As I understand it. NDI is more resource intensive than Syphon (or the windows equivalent of spout), as NDI is compressing the stream for transmission over a network. Syphon is allowing additional applications to share the textures in the GPU without additional compression.

Syphon/Spout are preferred for sharing within one machine. NDI is great for sharing between machines on a LAN.

Here is a discussion of the differences https://discourse.vidvox.net/t/syphon-vs-ndi-vs-window-screen-grabbing-when-to-use/269/2

Edit: All being said. OBS easily takes a syphon input, but does not seem to have the functionality either natively, nor through a plugin to publish a syphon output.

mysecretstache avatar May 05 '20 15:05 mysecretstache

I agree that NDI is compressed but it's visually almost lossless and a WebRTC stream isn't going to notice the difference in my oppinion having used NDI a fair amount.

In any event I am playing around with an npm package called grandious which someone forked and reportedly has NDI 4.5 working on macOS, and another fork reportedly has 3.8 working with video sending supposidly.

If we could get this working it would be possible to use the package in Electron, presumably to grab the document image and send it over Electron?

This is all guess work tbh at this point, the ideal situation would be a C++ developer, but if we had that it would make more sense to have them write a WebRTC plugin for OBS as it would be far more efficient than running multiple entire browser instances for video conversion.

If I were a millionaire with a team of developers to set on developing Open Source projects like these...

unknowndomain avatar May 05 '20 15:05 unknowndomain

Grandious looks interesting.

Visual quality aside, I prefer syphon over NDI for local sharing simply because it puts less strain on the CPU & GPU than NDI. I did some quick Googling, and found a couple of chromium projects utilizing syphon, but they haven't been updates for a few years, and don't seem to work with WebRTC.

I certainly agree that a WebRTC plugin for OBS would be ideal, as this seems so far to be the best solution for remote Video & Audio sharing over the internet.

mysecretstache avatar May 05 '20 15:05 mysecretstache

If this is related to MacOS, OBS will eventually regain WebRtC support via the browser source. This MacOS issue is a temporary limitation that seems to be progressing towards a solution.

WebRTC as a plug-in would not be as flexible a solution as the browser source in terms of connectivity with other peers and services, IMO. At the very least, third parties would need to conform to a rigid rule set and API to make it work then.

WebRTC is also not without costs and support nightmares. I’m absorbing those pains to ensure the service is accessible; I’m happy to do so, despite costs ballooning already to a few hundred a month and growing quick. It would be easier for me to talk about NdI or OBS WebRTC plug-ins if I moved towards more of a commercial offering that could support them long term.

Anyways, I’d be happy to make either an NdI or Syphon app, yet on first glance I did not see any clear path to doing this easily. Currently I’m instead focused on getting out issues of the group chat functionality.

On Tue, May 5, 2020 at 11:59 AM mysecretstache [email protected] wrote:

Grandious looks interesting.

Visual quality aside, I prefer syphon over NDI for local sharing simply because it puts less strain on the CPU & GPU than NDI. I did some quick Googling, and found a couple of chromium projects utilizing syphon, but they haven't been updates for a few years, and don't seem to work with WebRTC.

I certainly agree that a WebRTC plugin for OBS would be ideal, as this seems so far to be the best solution for remote Video & Audio sharing over the internet.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/steveseguin/electroncapture/issues/8#issuecomment-624142369, or unsubscribe https://github.com/notifications/unsubscribe-auth/AATU2UXSUDDLMBXRWXGC6Y3RQAZV7ANCNFSM4MSO4KMA .

--


Steve Seguin

steveseguin avatar May 05 '20 17:05 steveseguin

Siphon only MacOS? NDI for Windows and MacOS!

KovalevArtem avatar May 06 '20 19:05 KovalevArtem

https://www.reddit.com/r/OBSNinja/comments/gdzdgu/streaming_obs_to_obs_ndi_as_input_for_ninja/

There is a demand for both I'd say. I'll take another look around for existing repos to see if there are any quick-wins to be made here. I'd hate to do this all from scratch in C++.

steveseguin avatar May 06 '20 21:05 steveseguin

Perhaps this repository will be useful for integrating NDI! https://github.com/leadedge/ofxNDI or https://github.com/nariakiiwatani/ofxNDI

KovalevArtem avatar May 07 '20 21:05 KovalevArtem

Thank you. It does look helpful. I suppose I just need to figure out how to create images out of an electron app.


Steve Seguin

On Thu, May 7, 2020 at 5:21 PM KovalevArtem [email protected] wrote:

Perhaps this repository will be useful for integrating NDI! https://github.com/leadedge/ofxNDI

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/steveseguin/electroncapture/issues/8#issuecomment-625503983, or unsubscribe https://github.com/notifications/unsubscribe-auth/AATU2USL3KDN2NKBQOS5G5LRQMQ43ANCNFSM4MSO4KMA .

steveseguin avatar May 07 '20 21:05 steveseguin

In the meantime I found http://www.sigmasix.ch/syphoner/ which allows you to make a syphon output for obsn windows. Might be a useful addition to the readme.

m4p avatar Oct 02 '20 12:10 m4p

Added it as a mention; https://github.com/steveseguin/electroncapture/blob/master/README.md#syphon-output

thank you.

steveseguin avatar Oct 02 '20 13:10 steveseguin