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

Live stream to rtmps fails with mbedtls 3.6.0 #11020

Closed
viric opened this issue Jul 22, 2024 · 5 comments
Closed

Live stream to rtmps fails with mbedtls 3.6.0 #11020

viric opened this issue Jul 22, 2024 · 5 comments
Labels
Dependency Issue Issue is in external library or dependency, not OBS itself

Comments

@viric
Copy link
Contributor

viric commented Jul 22, 2024

Operating System Info

Other

Other OS

NixOS (linux)

OBS Studio Version

30.2.0

OBS Studio Version (Other)

No response

OBS Studio Log URL

https://obsproject.com/logs/xSZCns85O2FeI8Mb

OBS Studio Crash Log URL

No response

Expected Behavior

OBS can send live stream to rtmps servers.

Current Behavior

OBS fails to connect to rtmps servers due to failure in TLS handshake.
It fails with my own server (peertube, that uses nodejs' tls module) and also, as an example, with facebook's rtmps server.

Steps to Reproduce

  1. Configure a rtmps server with TLS1.3 as transmission output for live stream
  2. Try to emit live stream

Anything else we should know?

I'm using mbedtls 3.6.0.
I had to patch obs to over come a requirement of the latest mbedtls: Mbed-TLS/mbedtls#9072
So I called psa_crypto_init() in RTMP_TLS_Init and made the TLS handshake to move further, but still fails.

I opened a ticket in mbedtls to see if they respond, adding there some of their debug info: Mbed-TLS/mbedtls#9415

I hope that giving the facebook rtmps host allows some progress.

@tytan652 tytan652 added the Dependency Issue Issue is in external library or dependency, not OBS itself label Jul 22, 2024
@tytan652
Copy link
Collaborator

This is not an issue in OBS Studio but on MbedTLS.
They changed a behavior in a minor version that caused a breakage it's technically up to them to fix this breakage.

@viric
Copy link
Contributor Author

viric commented Jul 22, 2024

I opened it here because they claim, at least, that psa_crypto_init() should be called now. But it's true that it still fails for other reasons.

@Fenrirthviti
Copy link
Member

We are currently targeting 3.4.1 as our supported version. Incompatibility with 3.6 if they made a breaking change seems expected. If they are not interested in ensuring backwards compatibility, that's their choice.

This will likely be looked at when we update deps in the future, but I don't have any timeframe for when we might be looking to update mbedtls.

@Fenrirthviti Fenrirthviti closed this as not planned Won't fix, can't repro, duplicate, stale Jul 22, 2024
@viric
Copy link
Contributor Author

viric commented Jul 22, 2024

AH I see that they will fix even the need of calling psa_crypto_init(): Mbed-TLS/mbedtls#9223
So that requires no change in obs.

@RytoEX
Copy link
Member

RytoEX commented Jul 22, 2024

For posterity, we are currently at an impasse with updating MbedTLS due to:

Building SRT 1.5.x against mbedTLS 3.5.0+ fails because of changes in mbedTLS that needed addressed in libsrt, but there is no new libsrt tag with the needed changes.
Haivision/srt#2842

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Dependency Issue Issue is in external library or dependency, not OBS itself
Projects
None yet
Development

No branches or pull requests

4 participants