Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Discussion options

Hi.
I've noticed your recent commit to support configurable default_stream option when client didn't provide/use stream id.
Since SRS can receive only ONE stream without streamid could SRS automaticaly add to configured/default streamId the Ip, for example?
Like "#!::r=live/livestream_IP,m=publish";
Theoretically in this case SRS could receive multiple simple streams without a stream id defined by users, the distinction between them being made by the attached IP.
Ex.:
"#!::r=live/livestream**_IP_1**,m=publish";
"#!::r=live/livestream**_IP_2**,m=publish";
"#!::r=live/livestream**_IP_3**,m=publish";
Am I wrong?
regards,
laur

You must be logged in to vote

Replies: 1 comment · 2 replies

Comment options

What's the use case? I mean the real world use case. I'm told that for SRT, there is only one stream for a IP/device to publish, like a broadcast device.

You must be logged in to vote
2 replies
@laurfb
Comment options

Supose you have to clients who send each a separate SRT stream to SRS, without streamid info - ex. OBS/ffmpeg srt://srs-server-ip:port?mode=caller. Either they don't know how to use streamid or they use hardware encoders which does not have streamid implemented (firmware with older SRT lib version).
So how clients can request in that case one or the other of the two streams?
Both are ending in SRS with the default "#!::r=live/livestream" streamid! I doubt that SRS will even properly deal with data from both streams simultaneous.
If SRS is receiving already a SRT stream without streamid info the second one will be ignored ( connection won't even be made/accepted for the second stream). ;)
I think that we need a proper method to identify and accept srt streams, even without streamid info.
regards,
Laur

@winlinvip
Comment options

What happens if the client's IP changes or we don't know the IP when the client is behind NAT? What should we do if we need to add a new client—should we stop existing streams?

I think the use case makes sense, but we shouldn't assume we use the client's IP to generate the streamid. A better solution is to use HTTP hooks. If there's an empty stream ID for SRT, let your service generate the stream ID based on the client's IP or other information.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
💡
Ideas
Labels
EnglishNative This issue is conveyed exclusively in English.
2 participants
Morty Proxy This is a proxified and sanitized view of the page, visit original site.