participant's video play issue

hyuk

Member
STREAM_STATUS.FAILED is raised when playing a participant's video.
It happens frequently on one particular computer.
The first time I open the browser it doesn't play close to 100%
In what cases does that error fall?
The participant's video is being transmitted normally and works normally if checked on another computer without problems.

If STREAM_STATUS.FAILED occurs, the same error is repeated when PLAY() is used again.
If I put a retry code, how should I put it?

The version of the Chrome browser is the latest version and the WCS version 5.2.1555.


participant.getStreams()[0].play(display, options).on(STREAM_STATUS.PLAYING, function (playingStream) {

}).on(STREAM_STATUS.STOPPED, function () {

}).on(STREAM_STATUS.FAILED, function () {

});
 

Max

Administrator
Staff member
Good day.
STREAM_STATUS.FAILED is received if some error occurs during the stream playback, usually it means the stream with the certain name is not published. You can get a reason using stream.getInfo() method in event handler:
Code:
        participant.getStreams()[0].play(display, options).on(STREAM_STATUS.PLAYING, function (playingStream) {
            ...
        }).on(STREAM_STATUS.STOPPED, function () {
            ...
        }).on(STREAM_STATUS.FAILED, function (stream) {
            console.log(stream.name+" failed: "+stream.getInfo());
        });
It happens frequently on one particular computer.
Please check if server media ports (31001-32000/udp,tcp) are available from this computer: Port routing checking
 

hyuk

Member
Thank you for quick response.
Since I am using a turn server, I checked the connection between the port (UDP 3478) and the computer with the problem through Netcat, but there was no problem.
The computer did not connect even after changing the UDP port to another port.
The funny thing is that sometimes there is a connection.
It was solved by changing the relay port from UDP to TCP, but I don't know why.
The error was ICED timeout.
It seems to be an error that occurs when the connection to the turn server is not smooth, but it is strange..
 
Last edited:

Max

Administrator
Staff member
It was solved by changing the relay port from UDP to TCP, but I don't know why.
UDP TURN traffic may be blocked by provider, for example, by packet signature. We recommend to use TCP for relay.
 

hyuk

Member
Thank you for your kind reply.
Is the provider you mentioned client-side?
Or is it server side?
If it's not clear, is the packet signature you mentioned client-side? Is it server side?
I'm asking because I don't know what a packet signature is.
 

Max

Administrator
Staff member
Is the provider you mentioned client-side?
Yes. A local internet service provider (or mobile network operator if used). So it's between the client and the server.
If it's not clear, is the packet signature you mentioned client-side? Is it server side?
A provider can use deep packet inspection (DPI) technology to filter traffic at UDP packets level. So client cannot establish TURN connection because network packets are dropped by such filter.
 
Top