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

Support for audio output #11

Open
unvermuthet opened this issue Feb 17, 2025 · 7 comments
Open

Support for audio output #11

unvermuthet opened this issue Feb 17, 2025 · 7 comments
Labels
enhancement New feature or request

Comments

@unvermuthet
Copy link
Owner

As of yet outputting audio is not supported. This could be implemented a couple different ways and I want to hear some feedback and ideas on what makes most sense.

The first approach would be to add a dropdown to NDIOutput where one can select an Audio Bus that should be transmitted alongside the video. Choosing an Audio Bus there would either add an AudioEffectCapture to to that bus or it would only show Busses that have that effect added in the first place. That effect is native to Godot and allows interception of the audio stream.

This approach is not good for when you only need to transmit audio. For that case it would be nicer to have a standalone node or audio bus effect. Settling for a compromise between the two like linking a video and audio output together seems a bit error-prone and complicated to implement. Maybe going for the first approach and adding a checkbox to disable video output would be a better solution here.

@unvermuthet unvermuthet added the enhancement New feature or request label Feb 17, 2025
@GoranKovac
Copy link

I am for drop down bus select to have more control over the output. Some use case is playing video and music on one NDI output and have other NDI output playing something out with animation that triggers random sounds. Without decoupling both would have same audio which is not desired.
Also output node could have 3 options: Video and Audio, Video only, Audio Only

@Foreman21-vid
Copy link

I think the same as @GoranKovac. It is in the same idea of the VideoStreamNDI. two or three drop menu: 1) type of output: Audio and Video, Video, Audio. 2) Audio selection: Master Bus, any other bus created,... Do you think Video quality (High or Low) should be available? Case of use for low quality: Proxy usage, network economy, rendering economy (does it will be the case?), avoid unwanted high quality recording.

@unvermuthet
Copy link
Owner Author

@Foreman21-vid

Do you think Video quality (High or Low) should be available?

With NDI this is something you requested by the receiving side so that multiple sinks can choose different quality levels. On VideoStreamNDI you can choose the bandwidth

@unvermuthet
Copy link
Owner Author

unvermuthet commented Feb 18, 2025

@GoranKovac

Without decoupling both would have same audio which is not desired.

To be clear, having a standalone audio output would mean that you can add as many as you want to whichever bus you want. They'd have their own names and would only be transmitting audio. On the receiving side you'd need to add two NDI Sources, one for video and one for audio. I'm not sure what you mean by "both would have the same audio".

Currently I am also in favor of having a dropdown on NDIFinder to select a audio bus. But rather than having another dropdown for Audio and Video, Video only and Audio only, I'd rather just add a checkbox to disable video. If you want video only, then you can select None on the audio bus dropdown. That should cover everything. But if having an extra dropdown is customary in the broadcasting industry, or you think that that's clearer, I'd also be open to that.

@unvermuthet unvermuthet pinned this issue Feb 18, 2025
@GoranKovac
Copy link

GoranKovac commented Feb 18, 2025

Sorry did not meant decoupling as having separate nodes I meant it as bus selection (decoupling meaning ability to select other audio bus than main).

@unvermuthet
Copy link
Owner Author

That would be possible either way

@Foreman21-vid
Copy link

Foreman21-vid commented Feb 19, 2025

@unvermuthet Here is my thinking:

Does it make sense to allow user of the add-on to limit quality to LOW for their output streams?
I know it is possible to select LOW quality in NDI monitor but is there case where user would like it be always on LOW?
If only LOW quality output stream used does it will reduce CPU and GPU usage. If yes it can be interesting for a better resource management.
Is there case where they will not want to stream HIGH quality? Restricting at the output stream side will avoid to do it at project window size side.

I hope my thought is more clear now.

@unvermuthet unvermuthet moved this to Todo in godot-ndi Mar 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Todo
Development

No branches or pull requests

3 participants