Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Request] OBS output/program as a source (using source mirror?) #793

Closed
2 tasks
ASchneiderBR opened this issue Mar 14, 2022 · 8 comments
Closed
2 tasks

Comments

@ASchneiderBR
Copy link

Explain the Feature/Enhancement

Hello.

I think a nice addition to the source mirror would be to select the main OBS output/program as a source, so we can use it in a scene for multiple good reasons. I know this can be done by starting a virtual camera output or using NDI but both are not ideal for using from inside the same OBS instance. Having a "current output/program" selectable from the sources dropdown from inside source mirror would be awesome.

What makes this feature/enhancement useful for StreamFX and its users?

This would be very useful for creating a scene that could show the current output as information, add effects over it, change its aspect ration or crop for a different social media like Instagram (using source record plugin) and so on.

Checklist

  • I am offering a monetary bounty/reward for the implementation of this Feature/Enhancement.
  • There is no other way to currently do this in StreamFX or OBS Studio.

Any additional Information we need to know?

I think using the currently available source mirror could save from extra code by creating a new source type or something like that... Thank you!

@skeletonbow
Copy link

What you're looking for is a way to do video feedback. There are multiple hack methods to do this as you've indicated with NDI or virtual camera, or even having OBS capture a full screen preview window, but there's no need to use any of those hacks any more for quite some time now as Exeldro has created a plugin to do this properly already. You can use his Recursion Effect plugin here for this: https://obsproject.com/forum/resources/recursion-effect.1008/

Hope this helps.

@ASchneiderBR
Copy link
Author

What you're looking for is a way to do video feedback. There are multiple hack methods to do this as you've indicated with NDI or virtual camera, or even having OBS capture a full screen preview window, but there's no need to use any of those hacks any more for quite some time now as Exeldro has created a plugin to do this properly already. You can use his Recursion Effect plugin here for this: https://obsproject.com/forum/resources/recursion-effect.1008/

Hope this helps.

Hello sir! Sorry, I did not understood how the recursion effect plugin could inject my live OBS output/program as a source. I thought this effect was made so you can have those repeating patterns from a video source offset by time... Thanks!

@skeletonbow
Copy link

skeletonbow commented Mar 15, 2022

Hello sir! Sorry, I did not understood how the recursion effect plugin could inject my live OBS output/program as a source. I thought this effect was made so you can have those repeating patterns from a video source offset by time... Thanks!

By taking the output of OBS, and adding it as a source in OBS you are literally setting up a video feedback loop, which is what the recursion filter does. It can include the recursion in front of or behind the source. I'd recommend installing and trying the filter out first rather than assuming what it does or does not do. It may or may not do what you're expecting but you need to try it first to find out.

@ASchneiderBR
Copy link
Author

ASchneiderBR commented Mar 15, 2022

Hello sir! Sorry, I did not understood how the recursion effect plugin could inject my live OBS output/program as a source. I thought this effect was made so you can have those repeating patterns from a video source offset by time... Thanks!

By taking the output of OBS, and adding it as a source in OBS you are literally setting up a video feedback loop, which is what the recursion filter does. It can include the recursion in front of or behind the source. I'd recommend installing and trying the filter out first rather than assuming what it does or does not do. It may or may not do what you're expecting but you need to try it first to find out.

Hello again! I did tried the plugin before replying to your message (I had also watched Andi Lippi's video as well) and could not figure out how it works for this use case. I could not find any settings on that filter that does what I need: grab final output of my OBS (what goes to the live stream, the PROGRAM, including audio) and add it as simple source. Maybe I had not expressed myself correctly or you did not understand what I want to do with this, sorry. Having my output as a source is extremely useful, I could grab a 16x9 output, crop it, rotate it, and stream to Instagram (9x16) for example, using the source record plugin....

@Xaymar
Copy link
Owner

Xaymar commented Mar 15, 2022

The idea would not work because your Instagram stream would contain itself. What you are looking for is multi output streaming, which is provided by another plugin already.

@ASchneiderBR
Copy link
Author

Hello @Xaymar, thanks for the reply. That is not correct. You can stream to a secondary service, at the same time as the main output, with different resolution/aspect ratio/FPS/encode settings using just the record source plugin from Exeldro from a single source that doesn’t even need to be active in the Output matrix, using the stream function from the plugin as a source filter. I have many use cases for that idea but the Instagram live steam is good example. I could stream to a 16x9 aspect ratio, Twitch for example, create a scene that contains this output/program idea as a source, rotate it and add the source record filter to it and then Stream as a 9x16 aspect ration to Instagram; the same main output but rotated 90 degrees so it fills up the entire screen. Thanks!

@Xaymar
Copy link
Owner

Xaymar commented Mar 15, 2022

You can't have the output of the current video_tick/video_render be part of the video_render, which is what you requested. This would lead to an infinite loop which would not be able to ever finish rendering and updating. What you described there is a delayed recursion, which is possible, but already fulfilled by other plugins.

StreamFX has no reason to provide such functionality, as this functionality is already provided by other plugins. Neither does it make sense for Source Mirror to offer outputs, as those are not sources.

@Xaymar
Copy link
Owner

Xaymar commented Mar 15, 2022

Rejected: Already fulfilled by other plugins

The feature request is already possible with other plugins and does not require modification to StreamFX. Additionally this is more of a feature request to OBS itself, which is tracking this exact feature on their idea tracker: https://ideas.obsproject.com/posts/41/multiple-video-outputs-selective-recording-iso-recording

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants