Short freeze when streaming from RTMP source

Max

Administrator
Staff member
It seems we have to implement adaptive server-side buffer for RTMP to accumulate gaps and provide smooth WebRTC playback. It may take a time.
As an option you can try to play over our TURN server WebRTC via TLS 443 port.
https://wcs5-eu.flashphoner.com/cli...l-streaming/firewall-traversal-streaming.html
For testing, close all UDP ports excepting DNS port 53 (default) on your local firewall.
WebRTC works via TCP/TLS on this demo. So it may improve playback.
What protocol besides WebRTC should work on Safari - just WSPlayer?
Yes, WSPlayer. But WebRTC is much better and supports higher resolutions. You are right.
 
It seems we have to implement adaptive server-side buffer for RTMP to accumulate gaps and provide smooth WebRTC playback. It may take a time.
As an option you can try to play over our TURN server WebRTC via TLS 443 port.
https://wcs5-eu.flashphoner.com/cli...l-streaming/firewall-traversal-streaming.html
For testing, close all UDP ports excepting DNS port 53 (default) on your local firewall.
WebRTC works via TCP/TLS on this demo. So it may improve playback.

Yes, WSPlayer. But WebRTC is much better and supports higher resolutions. You are right.
Just to clarify, are you suggesting we use our WC5 server but point to your TURN server, or fully use your server as target for our RTMP stream? The URL above is for the webcam demo. I didn't see any gaps when using Webcam or even sending RTMP streams from ffmpeg, just when sending from the DJI application.
 

Max

Administrator
Staff member
Just to clarify, are you suggesting we use our WC5 server but point to your TURN server, or fully use your server as target for our RTMP stream?
You can just try with our TURN server.
1. Open similar 'Firewall Traversal Demo' demo on your server.
2. Fill out TURN credentials.
3. Disallow UDP traffic on your firewall.
4. Try to play your stream over WebRTC/TLS.
 
How would I play my stream using the "Firewall Traversal Demo" page? I don't see any way to play or view an rtmp stream, just use webcam.
 

Max

Administrator
Staff member
How would I play my stream using the "Firewall Traversal Demo" page? I don't see any way to play or view an rtmp stream, just use webcam.
You have to publish RTMP stream to the server using your RTMP client software and URL
rtmp://wcs5-eu.flashphoner.com:1935/live
Then play this stream in the Firewall Traversal Demo page
 
Ah - got it - I didn't realize I could put any stream key in the player input. I published my stream to your server at wcs5-eu.flashphoner.com:1935/live, and still saw the periodic freeze. Is there any reason that my own server would work differently? Does your server have UDP traffic disabled like you were suggesting we do on ours?
 

Max

Administrator
Staff member
Our server does not disable UDP traffic.
You have to disable UDP locally on your firewall or router to check WebRTC/TCP streaming because if you do not disable UDP it will be connected over UDP in priority.
I tested with following local firewall rules:
Code:
1. DNS over TCP allow
2. DNS over UDP allow
3. Deny all UDP.
4. {Other rules}.
 

Max

Administrator
Staff member
Is there any reason that my own server would work differently?
As I see, you tested over UDP. Try to setup firewall to test TCP.
Your server likely will show the same results.
 
OK. You mentioned "It seems we have to implement adaptive server-side buffer for RTMP to accumulate gaps and provide smooth WebRTC playback.". Is that something you would be putting on your development plans? I know you may not have a time estimate currently, just wondered if it was something you would be doing. We might be able to start off with the freeze if we felt there was improvement in the works.
 
Top