FlashPhoner Web Browser compatibility

michelklingler

New Member
Hi Community!

We are now working 2 month on a website in order to be able to stream multiple channel through a web Call Server 5.

Our solution needs to be compatible with most of the last gen browser like announced by FlashPhoner.

We were about to buy a full licence but we are still struggling to make it work with 2 important browser:

- Firefox (PC)
- Chrome (iOS)

It is important for us to have those 2 platforms compatible.
As for now we are looking for other solution as it looks like it is not working.

My question is :
Is it going to be compatible soon or not?
Do we do something wrong?

Thanks,
Michel
 

Max

Administrator
Staff member
Hello!

Can you tell us more:
What doesn't work for you?
How is it supposed to work?
To help you, we need to have a minimal understanding of your case.

For your questions:
Firefox has a bug https://bugzilla.mozilla.org/show_bug.cgi?id=1652426, opened at our request and fixed in Firefox 80 and Firefox 78 ESR
In alternative browsers on iOS WebRTC does not work, you must either use HLS for playback (without publishing), or, if publishing is needed, use the Safari browser.
 

michelklingler

New Member
Hi Max,

Here is my current setup and my needs, could you suggest the best protocol to use fo reach browser?

Basically I run a high end 3D application on a server and broadcast through OBS to my WC5 Server.
We do 2 way audio as well between the operator of the stream and the users.
This means that the latency should be very low for audio and about 5 sec max for the video stream.

Do you think that using a mix between WebRTC and HLS it should cover most of the web browser compatibility?

What about RSTP and RTMP.
Would that be a good solution for me?

Thank you Max
 

Max

Administrator
Staff member
Basically I run a high end 3D application on a server and broadcast through OBS to my WC5 Server.
We do 2 way audio as well between the operator of the stream and the users.
This means that the latency should be very low for audio and about 5 sec max for the video stream.
Do you think that using a mix between WebRTC and HLS it should cover most of the web browser compatibility?
To reach the minimal latency, you must use WebRTC only. HLS may give more than 15 seconds latency.
So, your choice is WebRTC (and Safary only on iOS, no Chrome, no Firefox).
What about RSTP and RTMP.
Would that be a good solution for me?
You're already using RTMP to publish stream from OBS, and it can give a reasonable picture quality for acceptable latency.
So your case looks like:
- RTMP stream is published to WCS and is played using WebRTC
- audio for two way communication is published to WCS and is played as WebRTC
If voice chat between streamer and users is necessary, please consider to use MCU mixer for this. You can create audio only mixer by REST API.
 

michelklingler

New Member
Hi Max thanks for the answer.

At the moment we are using youtube as a stream server.
We want to bypass this and use your solution to broadcast the stream.
We embed the youtube stream inside a webpage.

Do you know about the technology Youtube are using?
We got around 3 to 8 second latency and we can live with this.

The thing is that youtube is compatible with any device at the moment and we rather have a little latency than some incompatible device.
There is nothing we can do with WC5 to have more compatible device ?
Any kind of alternative of WebRTC that will work for thoses few device not compatible?
Even if we drop the 2 way audio?

Thanks,
Michel
 

Max

Administrator
Staff member
Do you know about the technology Youtube are using?
We got around 3 to 8 second latency and we can live with this.
They use HLS and MPEG-DASH
If 8 seconds latency is acceptable, you can also use HLS as most compatible protocol.
There is nothing we can do with WC5 to have more compatible device ?
Any kind of alternative of WebRTC that will work for thoses few device not compatible?
Even if we drop the 2 way audio?
You can detect browser and OS on client side. Then, you can choose:
- In Chrome, FF on Windows, Linux, MacOS, Android - use WebRTC (with audio chat)
- In Safari on MacOS, iOS - use WebRTC (with audio chat)
- In Chrome, FF on iOS - use HLS (viewers only)
Also, you may need to switch to VP8 codec in some Chromium based browsers (Opera, Yandex, etc) and Firefox on Android by stripping H264 codec which is not supported in those browsers. This also should be done by detecting browser and OS on client side. For example, we detect Safari browser to use a tweak to play or publish WebRTC on mobile devices
Code:
if (Flashphoner.getMediaProviders()[0] === "WSPlayer") {
    Flashphoner.playFirstSound();
} else if (Browser.isSafariWebRTC() || Flashphoner.getMediaProviders()[0] === "MSE") {
    Flashphoner.playFirstVideo(remoteVideo, false, PRELOADER_URL).then(function() {
        start();
    });
    return;
}
 

michelklingler

New Member
Thanks again Max.

We are still exploring what will be the best solution for us.
I consider HLS over WebRTC now but I have a few questions.

1 - do you think it will be possible to lower a little the latency for HLS playback?
Let's say down to 6 seconds?

2 - With HLS will it be possible for me to stream higher quality stream?
Like 1080p at 60 fps ?

If I can reach those 2 requierment I think HLS is my solution.

THanks,
M.
 

Max

Administrator
Staff member
1 - do you think it will be possible to lower a little the latency for HLS playback?
Let's say down to 6 seconds?
Probably, no.
We are working on Low latency HLS (LHLS) implementation, but this thecnology is supported on iOS devices only.
2 - With HLS will it be possible for me to stream higher quality stream?
Like 1080p at 60 fps ?
Yes, it is possible. We have successful CDN deployment experience for 4K VR streaming with HLS playback.
 
Top