RTMPS Stopped Working with Android 5.0.2 Release #92

Closed
DannyL9143 opened this Issue Jun 21, 2015 · 8 comments

Projects

None yet

3 participants

@DannyL9143

Thanks for the work you have put into Red5. We are developing a new app that uses Red5 to stream RTMPS video and audio, which up until a couple of weeks ago was going very well. However, we noticed in Android 5.0.2 that our app broke using RTMPS, but still works fine with RTMP. Apple and desktop devices work fine with RTMPS, as well as older Android 4.x devices – this only appears to affect Android 5.0.2 devices so far.

We originally thought that the issue was with Adobe Air, but after their investigation using AMS/FMS and our investigation using Red5 and Wowza, we think it is not an Adobe issue at this point. We opened a ticket with Adobe (link below) and you can see some of the history of the things we tried to resolve the issue.

Our issue to date is documented here on the Adobe forums: https://forums.adobe.com/message/7611634

We have tested our software with Red5 (1.0.4 and 1.0.5) and Wowza and noticed RTMPS works fine with Wowza just not with Red5 (using the same server and certificates). We also downloaded an Android app called Broadcaster thinking that it would be a good way to test our server without any of our code just in case the problem was with our code. We setup a simple server to test and saw that Broadcaster has the same problem our app does on Android 5.0.2 when talking to Red5 but not Wowza. We think it is the way Android and Red5 are negotiating TLSv1 – Android is possibly not decrypting retransmission packets correctly and then dropping the connection due to unsuccessful retransmissions.

Are you aware of these RTMPS issues with Red5 using Android 5.0.2? Have you recently tested Android 5.0.2 with RTMPS? Do you have a suggestion for a fix or configuration change, perhaps on our server side, to support RTMPS and Android 5.0.2? We have tried many things to get this to work – specifying ciphers, various configuration changes to jee-container, red5.properties, red5-core, java.security, etc. We changed Java versions and tried 1.6, 1.7, and 1.8 (though 1.6 did not work at all), and tried both OpenJDK and Oracle Java.

@mondain mondain self-assigned this Jul 2, 2015
@mondain
Member
mondain commented Dec 23, 2015

Details of a working solution using Lets Encrypt are here http://gregoire.org/2015/12/23/securing-red5-server/

@mondain mondain added the bug label Dec 24, 2015
@mondain
Member
mondain commented Dec 24, 2015

RTMPS is still failing with a valid cert; it seems that Flash Player is handling TLS in some way which is different from HTTPS and WSS.

@DannyL9143

Thanks Paul for sending this information and staying in touch. Does the native Red5 Pro Android/iOS code help get off of Adobe and RTMPS? Will Android devices be able to speak to iOS devices using the native code and Red5 Pro?

Danny

Sent from my iPhone 5S

On Dec 24, 2015, at 9:27 AM, Paul Gregoire notifications@github.com wrote:

RTMPS is still failing with a valid cert; it seems that Flash Player is handling TLS in some way which is different from HTTPS and WSS.


Reply to this email directly or view it on GitHub.

@mondain
Member
mondain commented Dec 24, 2015

If you want to talk to Android and iOS and vice versa, you should talk to the Red5 Pro guys, they already have an SDK that does that without this RTMPS stuff. Email matt@infrared5.com for info.

@DannyL9143

Thanks Paul

Danny

Sent from my iPhone 5S

On Dec 24, 2015, at 2:33 PM, Paul Gregoire notifications@github.com wrote:

If you want to talk to Android and iOS and vice versa, you should talk to the Red5 Pro guys, they already have an SDK that does that without this RTMPS stuff. Email matt@infrared5.com for info.


Reply to this email directly or view it on GitHub.

@mondain
Member
mondain commented Jan 29, 2016

This should now be resolved; RTMPS over http is however not working due to an RTMPT issue.

@mondain mondain closed this Jan 29, 2016
@jonawebb
jonawebb commented May 6, 2016

Could you explain if you mean that RTMPS ("real" RTMPS, not RTMP over HTTPS) should be working now with Red5 1.0.5 and Android 5.0.2? Because I'm seeing a similar problem to what's been reported. I want to make sure whether I should be waiting for a fix, or looking for a problem in my code or configuration.

@DannyL9143

Hello,

Right now, neither options are working with Red5Pro, both are working with Red5 1.0.4 (and possibly later, I think I tested 1.0.6 a while ago). Normally we have Android use HTTPS based RTMP and all other devices use RTMPS. Android v5.0.2 devices and above have stricter security requirements which RTMPS was not supporting.

In addition to Red5 configuration, make sure you are not using the open source Java OpenJDK either at runtime or to generate your JKS certificates. I am using Oracle Java 1.7. If you can navigate your browser to your Red5 HTTPS web page and not get any certificate warnings or errors with multiple browsers, you are on the right track to getting it working. You will need a non-self-signed certificate which can be traced to a reputable source, the CA must be in your JKS file.

HTH,

Danny

Sent from my iPhone 5S

On May 6, 2016, at 3:55 PM, jonawebb notifications@github.com wrote:

Could you explain if you mean that RTMPS ("real" RTMPS, not RTMP over HTTPS) should be working now with Red5 1.0.5 and Android 5.0.2? Because I'm seeing a similar problem to what's been reported. I want to make sure whether I should be waiting for a fix, or looking for a problem in my code or configuration.


You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment