Agora SDK compatibility with Safari - both macos and ios - agora.io

I am building a PWA with Agora broadcasting API. I managed to get the video stream playing on desktop Chrome, but not on Safari. The documentation says Safari is supported on both MacOS and iOS, but it doesn't seem like the case.
When I opened the client page on Safari, instead of playing the video stream, it just create a video player without content. I don't see any data being streamed in the inspector view, or there isn't any activity going on at all.
Do I need to do something different with Safari?

Agora.io provided an auto-diagnostic page for their Web SDK, which may be useful for you:
agora_webrtc_troubleshooting

Related

How does Hangouts get desktop capture on Safari?

So if we have a look at: https://developer.mozilla.org/en-US/docs/Web/API/Screen_Capture_API
The state of the getDisplayMedia - the function used to get desktop stream - shows that its currently not supported in safari 12. And its evident from the fact that calling getDisplayMedia in the console on Safari tells us that its not available.
Then how is it that Google Hangouts is able to get the desktop share in safari? Since hangouts is running inside the browser and according to my knowledge it has to use JS APIs to get screen.
Any hint or help would be highly appreciated.
Thanks
getDisplayMedia is supported in Safari 13. The MDN page you link to even says so.
This is what Hangouts uses. You can try it out here (click the "User gesture" button).
Safari only offers to share the entire desktop at the moment.

Use WebRtc to deliver hls to Safari on IOS

I found this github repo which allows me to use WebRtc to deliver hls over the WebRtc Datachannel.
The Problem is that it does not support Safari on IOS.
The newest versions of Safari on IOS do support WebRtc datachannels and they have native support for hls playback.
This is my problem is it only possible to use WebRtc for data transfer on Browsers which support Media Source Extensions or can I also use WebRtc to deliver the .ts files to the Safari Browser on IOS?
I am a developer of P2P Media Loader and we are working on iOS support right now. Hopefully, we will have a prototype soon.
On iOS Safari you can exchange video and audio data using WebRTC Data Channels but you can not put that data and play into HTML video element without API like Media Source Extensions.
We are currently testing a different approach to do that on iOS Safari.
iOS Safari doesn't support Media Source Extensions of HTML5 video element.
Therefore, you cannot play synchronized audio and video on iOS Safari by any hand-made approaches that use various API such as Canvas, Web Audio API etc..
iOS Safari has two built-in methods for playing synchronized audio and video:
a. Native HLS playback
b. WebRTC PeerConnection
If you choose WebRTC PeerConnection, you will have to transcode AAC audio used in HLS to Opus audio required by WebRTC, and to transmux HLS to WebRTC.
Ugly, CPU-consuming and really pointless. What does it buy you? Why not to use native HLS playback on iOS Safari? But if you insist on option b, then there is number of software media servers that will do it for you.

Better performane of the Web Audio API on iOS in a UIWebView?

Is there a way to get much better performane of the Web Audio API on iOS when using a UIWebView?
I've made an web app using the Web Audio API. It runs great on a desktop chrome browser but on iOS in a UIWebView it's quite slow. As we know javascripts is about 10 times more cpu consuming vs native code for similar results.
For example there is ways to get the HTML5 canvas Hardware-Accelerated on ios.. so is there anything similar for the web audio api i wonder.

Youtube video won't load into webView

I am trying to load my video into a webview.
When I use this link. It won't work.
http://www.youtube.com/v/066PWBKrh6k&autoplay=1
But when I try this link. It's the same video but the link is a little bit different. It won't work. Any idea what the problem can be?
http://www.youtube.com/watch?v=066PWBKrh6k&autoplay=1
Kind regards.
You are linking to a flash file. IOS wont play flash. the /v/id path links to a swf for clarification, while the watch link is something IOS might have a handler for to accept standard youtube links but play them in the youtube app. What you really want is a straight url to a mp4 file / h264 which ios will happily play in it's media controls. Youtube will not give you this because the video isn't branded, the branding is an overlay of their flash / html5 player. Your best bet is to use the actual youtube javascript api to embed a html5 player, or at least something compatible with IOS. Or just link to an address IOS has a registered handler for.

Ooyala HTML5 Player

Maybe I'm missing something, but hopefully someone here knows better than I...
I'm trying to install Ooyala's video player using their HTML5 API. However, in their HTML5 demo, there's no HTML5 to be found, just a flash player (as in the rest of their examples). Do they not actually have an HTML5 API, or am I doing something wrong? I was expecting video to be dropped in via a <video> tag or object embed or anything other than Flash.
Ooyala has recently upgraded to V3, also they have deprecated AS3 API. V3 supports flash video with HTML5 fallback. Also you can set HTML5 option by default as shown in example below. It's shame they haven't done HTML5 with flash fallback.
You can specify HTML5 platform as shown below. If you don't specify anything, flash version will be used by default with HTML5 fallback.
<script src='http://player.ooyala.com/v3/MzZiMzc1ZDUzZGVlYmMxNzA3Y2MzNjBk?platform=html5'></script>
This demo uses HTML5 version:
http://demo.ooyala.com/product-demos/OOview_Win8/OOView/player.html
More implementation information can be found here:
http://support.ooyala.com/developers/documentation/reference/player_v3_dev_embedplayer.html
The Ooyala Player will use html5 only if it detects that the user is on an iOS device. To test on the Desktop, use Safari. Select Develop -> User Agent -> (Any iOS Device), then open the link.
I am not entirely sure about this. However, I think that Ooyala did not launch HTML5 API yet. As far as I know, Brightcove just launched a Limited Availability of the HTML5 API, and I was under the impression that this was a step ahead in the HTML5 video market.