Wowza Community

IOS 15 WebRTC problem

Hi @Frank_Otten that’s a fair question. The websocket error message is thrown by Streaming Engine when attempting to publish or playback a stream on iOS 15. The Apple webkit/websocket bug is discussed here in more detail. Basically, it sends fragmented and Streaming Engine requires single frame.

https://bugs.webkit.org/show_bug.cgi?id=228296

While sending a websocket response from Websocket-sharp c# implemented websocket server, which is having mutiple fragments writing into the socket stream, connection at the client instance is getting closed. WebSocket connection to 'ws://:/’ failed: The operation couldn’t be completed. (kNWErrorDomainPOSIX error 100 - Protocol error)


There is a request in to fix this in Streaming Engine and I have no ETA on this.


If you’d like, you can join the webrtc channel here in our pubic slack and see the developers from around the world discussing this problem and what they have been attempting as a fix. Just register here with your email and go to the webrtc channel.

Hi all, finally we managed to solve the issue using cordova plugin with Native web socket.
“cordova-plugin-advanced-websocket”.
(Our app is using Ionic with cordova)

So for iOS 15 and up, we connect to the websocket using the Native plugin (and not in Javascript which runs on Safari and is blocked).
For Android, or desktop we use Javascript websocket as before.

1 Like

Awesome! Really appreciate you sharing that info with the community.

We are also experiencing this issue. Is there any word on a patch from wowza (I mean, come on guys, it has been over a month). Barring wowza actually fixing this (because we know apple won’t budge), has anyone found a middleware solution?

1 Like

Is there any news on the ETA ?

Raising this today again to the engineering director.

We are very dependent on the low latency provided by the WebRTC integration. Not being able to serve streams to safari on iOS15 and MacOS Monterrey is crippling to our product. I hope the seriousness of this issue is understood. I think an ETA or indication that this is being worked on would be appreciated by all.

Thanks for your reply, we are very much looking forward to and ETA on this issue, It is very business critical for us that this issue is fixed for the christmas rush, else we may have to go forward with a total engine replacement and leave wowza after 14 years wich is not what we want to do :frowning:

I understand 100% and am here to let you know I am communicating all of your messages directly within Wowza.

Thank you! But are there any chance of a reply from tech / dev yet.
Its been a few months now, - and its very expensive for us.

You can communicate with the tech support engineers Mark through your support ticket and I am in direct communication with the Wowza engineers on this almost daily and am trying to come up with a workaround other than WebRTC appears to work ok on iOS 15 in Streaming Cloud. That doesn’t help you much though I know, but wanted to at least mention that,

The only workaround at this time you’ll get from a tech/dev is the one I shared with them where you can try to put middleware before WSE to convert to a single frame which Engine requires. That was a suggestion made by a developer in the community on our slack channel- where I strongly suggest you join the discussion around this.

Devs and engineers from around the world in that WebRTC channel who have discussed this problem as well as other problems with Wowza and iOS 15. You can join here:

https://www.wowza.com/slack


I would ask them to share the details on how they set the middleware up to resolve this issue and I will be a part of that conversation with you in there.

As far as the timeline with Wowza, we had critical fixes and updated already schedules that are of extreme importance to several customers and were top priority BEFORE iOS 15 was released and wreaked havoc for so many of you. We are going to finish the other high-priority fixes first as we committed to those for those customers that are waiting and then this is next top priority fix. I’m only sharing that to try and explain this isn’t a situation where we are ignoring the urgency of this for you and others dealing with it. I assure you we all know how important it all the way up to management.

It will be top priority as soon as the other critical fixes are complete that people are also relying on and waiting for.

Again, I think our best bet for a workaround for now is the middleware suggestion because the iOS 15 issue is this: the websocket connection is sending network fragments and Engine requires a single frame.

If you want to jump in that slack channel and ask about it: I can link to it here, but you need to sign up with your email address.

https://live-streaming.slack.com/archives/C1Q6BLEC9/p1632934458076900

Hi Again

Thank you for replying. - First off, I’m not getting into slack — we are 3 people here that have tried, but none of us get the mail as i wrote here September 28th
[Sep 28]
we don’t get email’s when signing up for / slack — it does provide us after entering email with a message “to check mail” but nothing ever arrives in my inbox ? — any suggestion ? (we did check all folders)

The solution with the middleware is not usable for us, this will apply latency to the feed and interfere with the checkup services in our code etc. etc. - this def is not the solution for us.

I do understand that you have priorities - of course, it will be like that for anyone working with developing - us as well - But I would still be somewhat pleasant to know if it’s 1 month or 1 year,

I would like to know the expected ETA on the other priorities, so that I have some idea, of when you will be beginning to fix this issue. Furthermore, I’m aware it won’t happen overnight, but I need to shift gear (engine) if this is 6 months out in the future. I simply just also need to be able to plan in my end. It’s hurting business for real. So for me, the next big thing is, will you make sure i and my team get into slack?
And do you have an ETA on the other projects, so we know “kind of maybe” when you will begin to solve this one?

I’m just trying to plan and figure out how to get pass this in my end. — I can’t keep just waiting, I will have to Go do. — Waiting will just kill the business, If this a “year away” I have to find another solution fast.

I guess I would know more or get more info, if I could get into slack.
Will you make sure to help me with that asap.

Thank you for your time.,

*update, I got into slack finally!

Hi Mark,
Isn’t the solution I mentioned that worked for us, good for you?
We used - “cordova-plugin-advanced-websocket”.
Of course that it’s good only if it’s hybrid application which can use ‘Native iOS web socket’ instead the one on Safari Web Socket.

Itzik.

1 Like

We are adult related, we don’t have the luxury of app’s, unfortunately.
So this won’t work for us. I’m happy though for you - You found a solution that works for you.
And thank you for asking, it could have been so i didn’t see that comment, so thank you.

Mark

“WebRTC appears to work ok on iOS 15 in Streaming Cloud” — I’m sorry, but this is not working either. Wowza advertised greatly about using using webRTC and finding out this technology is not working at-all (publishing and receiving) is such a let-down.

Are there any prospects in releasing a fix?

2 Likes

Hello!
We had a huge issue with Ionic-based app WebRTC connectivity on iOS 15 devices.
The solution in our case was upgrading to the most recent version of cordova-plugin-iosrtc package.

Best regards!

Using websocket middleware is working for us.

Can play and publish stream on iOS 15 devices.
But you only can use VP8 codec when publishing and need to enable transcoder for recording.
Another thing, I also got recorded file issue for VP8 stream transcode to h264 when you enable Record all incoming streams on wowza application options.
You need to record manually by API to avoid recorded file issue.
I will report to Wowza for that issue.

To avoid recording file issue for VP8 stream transcoding to h264 form Record all incoming streams application option, you can request by API or Wowza manager UI or using LiveStreamRecordAutoRecord module.

https://www.wowza.com/docs/how-to-start-recording-streams-automatically-livestreamrecordautorecord

This is the current workaround for playback issues on iOS15 with WebRTC:

Solution:

There is no fix available at this time. For playback, as a workaround, you can complete the following steps from your iOS 15 device:

  1. Open the Settings application.
  2. Tap Safari , then Advanced , and then Experimental Features .
  3. Disable the NSURLSession WebSocket feature.

When available, workarounds and fixes for known issues are posted in the following Wowza documentation:

Known Issues with Wowza Streaming Engine

*Check back often as this article is updated frequently as new developments occur.


This issue will be addressed in the next Streaming Engine release and I will post to that when it is available. We have a few additional Engine fixes being worked on for the next release, so when I get an ETA, will let you know right in this thread.

Hi @Rose_Power-Wowza_Com

At Wowza Streaming Engine 4.8.18 latest released on March 29, 2022, it is fixed issue for WebRTC publishing and playback fails on iOS 15 ?

2 Likes