-
-
Notifications
You must be signed in to change notification settings - Fork 5.4k
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
Forward add question mark to the end and Erroneous C2 #3405
Comments
Can you give more detail information? For example, your publish stream command and SRS detail log. I cannot analyze your problem for info currently given. @jb-alvarado |
I'm sorry @chundonglinlin, that I hadn't described the problem better! Yesterday after writing, I also took a closer look at the pull request for this function and realised that I might be using it differently than you had planed: We have adapted the Go API a little so that it outputs different target URLs depending on the stream name. So the API reads in a JSON file with this format: {
"strict": true,
"proxy": [
{
"stream": "test-stream1",
"urls": [
"rtmp://127.0.0.1:1936/live/stream1",
"rtmp://127.0.0.1:1937/live/stream2"
]
},
{
"stream": "test-stream2",
"urls": [
"rtmp://127.0.0.1:1938/live/stream3",
"rtmp://127.0.0.1:1939/live/stream4"
]
}
]
} If desired, I can share the API code. Now when a stream comes in, for example with the name "urls": [
"rtmp://127.0.0.1:1936/live/stream1",
"rtmp://127.0.0.1:1937/live/stream2"
] My streaming command to SRS looks something like this:
Here is a full trace log, from SRS:
Maybe SRS expects a URL to be specified as a query parameter, but since I don't specify any query parameters, the question mark is appended without any other parameters? Here it would be good if the question mark only appears if a query really follows. It is also strange that there is no question mark in the trace log. But it does on the receiver side:
|
Can you give destination server log? I found SRS print backend's response right, its forwarders no problem, but you receive |
I guess you mean a second SRS server as destination? Normally my destination will be a ffmpeg instance in listening mode, but I have change it to a second srs instance to get a trace log:
Interestingly here everything looks good, only I think the |
Yes, you should show a second server logs, likely |
And I think you can configure forward to destination by comparing forward.master.conf
forward.backend.conf
|
Yes you can run ffmpeg in listening mode, so it can act as a server, like:
I use this for ffplayout to get live ingest to work. And for simple authentication I monitor the logging output for
I have check this and with |
No is the same problem, as you see in ffmpeg line:
The question mark by But in my case as I wrote it is a problem, because I filter for that |
Okey, I will trace ffmpeg rtmppoto.c that when ffmpeg call
And when parse
You can also trace the entire link by debugging ffmpeg, such function call relation,
|
Thank for your effort! So you think this issue is related to ffmpeg? Then I need to see, how I will manage the problem. |
Description
I use the backend API in the forward statement. Everything works fine, but srs adds a
?
to the end of the URL. Is that desired?In my case is a problem, because I forward to a ffmpeg instance, and there I monitor the logging output and cancel processing, when stream URL is not matching.
I get for example this output:
And there is a second issue in combination with ffmpeg, I get there this warnings:
SRS Version: 5.0.139
SRS Config:
Expect
About the
Erroneous C2 ...
warning, I don't know if they are harmful. About the question mark it would be nice, if there would be no extra characters on the given URL.The text was updated successfully, but these errors were encountered: