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

Grandstream GXV3500 RTSP viewer wants a:control=trackID #190

Closed
RogerHardiman opened this issue Feb 21, 2023 · 4 comments · Fixed by #226
Closed

Grandstream GXV3500 RTSP viewer wants a:control=trackID #190

RogerHardiman opened this issue Feb 21, 2023 · 4 comments · Fixed by #226
Labels
bug Something isn't working

Comments

@RogerHardiman
Copy link

Hi
Grandstream make a hardware box that receives RTSP and outputs video on an attached monitor.
It does not work with rtsp-simple-server so I did some debugging.
Looking at the syslog messages the GXV3500 produces, it seems to want the 'a:control=' item in the SDP to use "trackID=x" and not "mediaUUID=xxx" as the syslog error says "trackID not found in a:control"

So a buggy RTSP client from Grandstream that is looking for trackID=n

So I'm going to have a go changing gortsplib and swapping the hard coded 'mediaUUID' to 'trackID' instead and see what it does.

So just posting this in case someone else hits the problem, or someone else has already made a patch or fork.

Thanks
Roger Hardman

@aler9
Copy link
Member

aler9 commented Apr 6, 2023

Hello, trackID=[something] was changed into mediaUUID=[random UUID] for two reasons:

  • to better portray the specification, that doesn't talk about tracks but talks about "media streams" that contain one or more formats
  • to normalize incoming streams, that are sent by a wide variety of clients, each with a different (and sometimes conflicting) control attribute, that before the change was passed as-is

In my opinion the Grandstream client should have been developed in a more versatile way, since this behavior is not compatible with half of available cameras, but anyway, it's not a big deal to support it.

I'll edit the library in order to use trackID=[increasing_number], in order to restore compatibility and at the same time normalize incoming streams.

@aler9 aler9 added the bug Something isn't working label Apr 6, 2023
aler9 added a commit that referenced this issue Apr 6, 2023
This is needed to support clients like the Grandstream GXV3500.

Fixes #190
aler9 added a commit that referenced this issue Apr 6, 2023
This is needed to support clients like the Grandstream GXV3500.

Fixes #190
@RogerHardiman
Copy link
Author

Hi
I agree, it is a stupid client. The client (grandstream) told me they only do interop testing with a few devices, their own kit, and another CCTV device that also happened to trackID=nn
I was happy to have my own local Patch for this, I'd just not gotten around to making it and testing it.

@aler9 aler9 closed this as completed in #226 Apr 7, 2023
aler9 added a commit that referenced this issue Apr 7, 2023
This is needed to support clients like the Grandstream GXV3500.

Fixes #190
@aler9
Copy link
Member

aler9 commented Apr 13, 2023

added in MediaMTX v0.22.1

@github-actions
Copy link

This issue is being locked automatically because it has been closed for more than 6 months.
Please open a new issue in case you encounter a similar problem.

@github-actions github-actions bot locked and limited conversation to collaborators Oct 17, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants