fzwoch / obs-teleport

An OBS Studio plugin for an open NDI-like replacement. Pretty simple, straight forward. No NDI compatibility in any form.
GNU General Public License v2.0
424 stars 16 forks source link

Teleport audio doesn't have track support ? #73

Closed johnvo0918 closed 1 year ago

johnvo0918 commented 1 year ago

Like the title said, I couldn't find anything on this, it looks like the Teleport audio (under filter) only works on track 1. I'm doing a setup where Application audio capture will pick up my music and puts it on the VOD track so that it won't be included in the vod. But on the main PC to stream PC it looks like teleport audio only works on channel 1...

fzwoch commented 1 year ago

Not sure if I can even follow. The if the filter is being triggered t gets audio, I don't even see how tracks do play a role here.

johnvo0918 commented 1 year ago

okay let's say, I want a stream with 2 tracks. Track 1 for game audio, VC. and Track 6 for VOD audio aka music track, so that when I play music on stream I won't get music in the VOD. It's a little hard for me to explain in words so i made a video here https://youtu.be/7Cw9D3XM84Y

fzwoch commented 1 year ago

https://user-images.githubusercontent.com/439605/229271176-79001a91-f5c3-440e-aa9d-695f24a1cc38.mp4

So my grasp on this take is like the attached video? It seems to work for me, e.g. you can't hear the audio initially as the media source is on track 6 only, but starts to be in the video once the teleport source is added which gets on track 1.

johnvo0918 commented 1 year ago

No, you're showing it from the same PC. I'm trying to get a specific audio capture (YTMusic) to teleport from my main PC to my stream PC and keeping it on track 6. which I cannot because there is no audio output unless the main PC's (YTMusic) also have track 1 enabled. But when YTMusic has track 1 enabled it goes to the main teleport audio output, which won't be ignored by twitch's VOD track. please watch my YT video again. we can do a live call on discord if you want hana*#0918

fzwoch commented 1 year ago

I don't there is anything wrong with tracks. I more suspect your network firewall settings being the culprit. Your audio Teleport never gets any audio at all whatever track selection you do.

Port 10 or 11 as in your video are privileged ports to begin with (as is any below 1024). Not sure what you did for port 10, but you need to do the same for port 11 too.

Note that as in my example, it should not matter whether you use a 1 PC or 2 PC setup, the logic should be the same.

johnvo0918 commented 1 year ago

Okay I tried to use a different port and there's no audio. please check this video https://youtu.be/JjlZGO4KFDA. Even swapping the audio port to 10 and set the main port to something else, it doesn't work. Also no, my Teleport DOES get audio output from main PC. It's just the Teleport audio filter on the application audio capture doesn't work unless it's on track 1.

fzwoch commented 1 year ago

Test if it ouputs audio when received on the same OBS instance. If it does it is still most likely some network issue. Else it may be something specific with the source - what source is it anyway?

johnvo0918 commented 1 year ago

On the same machine it does have audio like in your video as you can see in the screenshot here, they're peaking at the same spot. image

The source is this app https://ytmdesktop.app/ https://github.com/ytmdesktop/ytmdesktop All I did is setup Application audio capture on this app then apply teleport filter. then on the stream PC i add the source, that's it. I'm thinking about moving to win-capture-audio but I don't think it will change the fact that my teleport doesn't send audio correctly unless it's on track 1 for some reason.

fzwoch commented 1 year ago

If it works on the same machine you will have to check your network setup.

Assuming the pc gameplay works, the plugin setup itself seems fine. So it has to be something that the connection to the audio one does not succeed.

johnvo0918 commented 1 year ago

I even went ahead and check this image image on both stream and main and theyre all enabled. I still do not get audio unless it's on track 1 but it's still going thru the main teleport instead of it's own source. I even disabled firewall, still nothing.

YorVeX commented 1 year ago

Audio from the Teleport main output (in your case named "game pc") can only transmit track 1, that's how Teleport (and I believe also NDI) simply is configured internally. This is why your initially setup "game pc" feed on the stream laptop only contains the game audio and not the music. It is also why you receive the music on the streaming laptop on "game pc sorce" as soon as you configure your music to be on track 1 - you receive it through the "game pc" feed from the main output then.

While it seems you didn't know this you still had exactly the right idea how to solve this by adding a "Teleport (Audio)" filter on your music source. For this filter it doesn't matter which tracks the source is configured for, it just transmits the audio from that source and that's it.

That means your issue must be that this filter transmission for the "yt m" feed simply isn't working at all.

I think one point hasn't been stressed enough here:

Port 10 or 11 as in your video are privileged ports to begin with

If you use a port below 1024, expect random things to happen, and especially expect things to not work. I am quite sure your problem is that the feed on port 11 just doesn't come through. I don't understand why you need to use such ports (or manually set a port at all for that matter), even that port 10 is working is more luck than anything else and could break any time.

Teleport works great when letting it pick a random port on its own (just leave the port set to 0 for that), at least when you use application based firewall rules (as opposed to port based), but if you really think you need to set a port, use numbers between 1024 and 65534 to be on the safe side, the further away from the min and max values the better.

johnvo0918 commented 1 year ago

Hey @YorVeX in this video, I picked 65343 from when I set the port to 0(auto) and opened the port on the firewall and still nothing came through. Even now after reading all this, I have the main source on 0 and YT M on 0. On my stream pc, i created a new teleport source and pick up YTM and nothing still unless I put it on track 1 which still goes to the main source not the audio source.

How do I fix this issue ???

YorVeX commented 1 year ago

Ah, sorry, didn't see the second video.

What source type is "YT MUSIC"? It's hard to see in the video, is it the Application Audio Capture that has "BETA" in capital letters in its name? 😆

But in all seriousness, either it's not working because that BETA stuff is not properly working with filters (yet) or maybe it's a sync source and Teleport is an async filter or vice versa, OBS 29.0.X has a bug where it offers filters for source types where you shouldn't actually be able to apply them to (fixed in OBS 29.1.X).

Just for verifying, can you add a Media Source that plays an mp3 file or a video with sound and apply the Teleport (Audio) filter to that and see if you receive it on the stream laptop?

Another verification: what happens if you disable the main output and have only the filter Teleport feed enabled?

Another one: on the game pc configure a fixed port for both your main output and the filter feed, then open a CMD window and enter this command once for each of the two ports (port 65343 as example here): netstat -an|find /I "65343"

Show the output here, is there any difference in the output for the two?

And of course please provide logs of both OBS instances, I guess it should be sufficient to just start both OBS instances with the desired configuration where both feeds should be transmitted, then exit them again and collect the logs.

johnvo0918 commented 1 year ago

What source type is "YT MUSIC" Application Audio Capture that has "BETA" BUT I have now changed to win-capture-audio

This video address addressing and logs: https://www.youtube.com/watch?v=jzKcpoa7G90

OBSMAINPC.txt OBS STREAMPC.txt

fzwoch commented 1 year ago

01:09:46.302: [obs-teleport] Version 0.5.0

You have a major version difference between the the two Teleport versions.

Changelogs between major version usually contain the following note:

Note that the internal protocol has changed and is incompatible with previous versions. So all instances should be updated.

Please try again with 0.6.5 on both PCs.

johnvo0918 commented 1 year ago

will try

johnvo0918 commented 1 year ago

Seems to work correctly now. I got audio no matter what track YTM is on. I didn't notice one of the teleport was on an old version of Teleport.