-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Dev image does not send proper url for webhook callbacks #1739
Comments
@naanlizard |
The proper URL is now sent, but there's a new problem, which I'm not sure how to describe When I start, the stream immediately stops, even though the backend returns an authorized Backend logs (slightly modified for clarity with some lines removed for irrelevant things our backend is doing - fundamentally, it's doing the right thing I think is the point, this is the same code as on our production server)
Dockerfile is the same as above but with
|
@naanlizard |
@naanlizard Thank you for the testing! |
Thanks! I'll test it asap
Can you clarify what the admission server should return for that url value?
Are we doing something unusual?
…On Mon, Nov 18, 2024 at 08:51 Hyunjun Jang ***@***.***> wrote:
@naanlizard <https://github.com/naanlizard>
The issue occurred because a different value was returned for invalid URL,
such as empty URL, compared to the previous implementation.
This issue has been fixed in 4c4ca98
<4c4ca98>,
and it has been confirmed that it works correctly even if empty URL is
responsed from admission webhook server.
Thank you for the testing!
—
Reply to this email directly, view it on GitHub
<#1739 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABV4BWMUZ6L4BM65KRVUFQL2BHWFTAVCNFSM6AAAAABRZFZYSSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIOBTGEYDQMRZGQ>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
According to my analysis, it seems that you are assigning |
Hmm, I think we set a new_url, but I will double check and get back to you
…On Mon, Nov 18, 2024 at 09:43 Hyunjun Jang ***@***.***> wrote:
According to my analysis, it seems that you are assigning "" to new_url,
which essentially behaves as if an invalid URL is being provided.
If there is no URL to redirect to, it would be better to either omit
new_url entirely or set it to null.
—
Reply to this email directly, view it on GitHub
<#1739 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABV4BWIWD6NQ2GYA6NU4RVD2BH4ILAVCNFSM6AAAAABRZFZYSSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIOBTGI2TEOJVGI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Yes. If For reference, I tested the parser with various URL combinations and encountered no issues, so I suspect there’s a high probability that a empty string was responsed. |
It could be a bug in our backend code, I'll verify the url first 👍
…On Mon, Nov 18, 2024 at 09:54 Hyunjun Jang ***@***.***> wrote:
Yes. If new_url is not empty, the issue might be with the regular
expression used for URL parsing. It would be helpful if you could provide
the URL being passed as new_url by the server.
(Since the URL pattern is important, you may replace sensitive information
with arbitrary characters.)
For reference, I tested the parser with various URL combinations and
encountered no issues, so I suspect there’s a high probability that a empty
string was responsed.
—
Reply to this email directly, view it on GitHub
<#1739 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABV4BWIVIAIV4OVXFOCJFH32BH5SHAVCNFSM6AAAAABRZFZYSSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIOBTGI4DMNJUGE>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Looks like the latest dev docker image fixed this, we were responding to OME admission webhook with the following response, which wasn't working on image hash
After further testing on that image I found that if you set the url to an absolute URL, it worked again After pulling the latest dev docker image |
See hernan's comment above - what is the intended use case for new_url? For our purpose, we have users connect to rtmp://hostname.tld:1935/live and put userid?streamkey in their streamkey slot in OBS. So the URL OME sees is in sum, rtmp://hostname.tld:1935/live/userid?streamkey Should we be returning the /live/userid value, so that the playback url is correct (e.g. https://hostname.tld/live/1/llhls.m3u8) or is that unnecessary? If so, should new_url be the full URL (e.g. rtmp://hostname.tld:1935/live/userid) or just the relative path (e.g. /live/userid) I'll make a pull request for documentation improvements once I understand |
First, the Below are two use cases for setting [Use case 2] And, if This explains why, even though you entered a relative path in |
To be clear @choigilhoon - In a vanilla OME install/config, sending an OBS url and streamkey like
and
Will lead to OME serving that stream as
Correct? |
That's correct. In the situation you mentioned, you should respond to the OME admission webhook with one of the cases below.
|
Describe the bug
On the latest dev image (
airensoft/ovenmediaengine@sha256:773acc79230548f8d942b2321f94d10e0846135128a5b0dc35eab60ff0fa528e
), admission webhooks do not work because the URL sent does not include the streamkeyTo Reproduce
Steps to reproduce the behavior:
Server.xml
(Note, in Server.xml, the Decodes section is either commented out (for 0.17.1) or uncommented (for dev)
Dockerfile
Maybe relevant, if you put the streamkey in the URL (e.g. in OBS, your rtmp url is set to
rtmp://ingest.hostname.tld:1935/live/streamkey
) both versions work.Expected behavior
URL sent should include the streamkey, like on 0.17.1.
Logs
Relevant log lines from our backend API, Parameters being the values from the request OME sends
0.17.1
Parameters: {"client"=>{"address"=>"x", "port"=>58323, "real_ip"=>"x"}, "request"=>{"direction"=>"incoming", "protocol"=>"RTMP", "status"=>"opening", "time"=>"2024-11-14T15:23:54.039+00:00", "url"=>"rtmp://ingest.hostname.tld:1935/live/streamkey"}, "stream"=>{}}
dev
Parameters: {"client"=>{"address"=>"x", "port"=>58619, "real_ip"=>"x"}, "request"=>{"direction"=>"incoming", "protocol"=>"RTMP", "status"=>"opening", "time"=>"2024-11-14T15:28:11.658+00:00", "url"=>"rtmp://ingest.hostname.tld:1935/live"}, "stream"=>{}}
Additional info:
Interestingly, it seems like the closing webhook does send the streamkey in the URLRequest params: {"direction"=>"incoming", "new_url"=>"rtmp://ingest.hostname.tld:1935/live/streamkey", "protocol"=>"RTMP", "status"=>"closing", "time"=>"2024-11-14T15:27:15.762+00:00", "url"=>"rtmp://apollo-rtmp://ingest.hostname.tld:1935/live/streamkey"}
Double checked the above, it seems like it does NOT send the streamkey in the closing call, or at least not always. Strange
The text was updated successfully, but these errors were encountered: