Wowza/WebRTC streaming with Firefox

I’d like simply to stream a video/audio from an Axis camera managed by a Wowza Server Engine and display the video/audio on Firefox browser. The streaming flow from the camera (H264, AAC 16000) is transcoded with the help of ffmpeg to H264, AAC(48000). This produces 2 audio channels (as visibile in SDP) which allows to be displayed by the browsers after Wowza transcoding to VP8, OPUS and mpeg-ts. In Chrome it works fine. In Firefox (tested 49 and 50beta) some errors occur.

The console gives:

ICE failed, see about:webrtc for more details

When displaying about:webrtc I have:

From SDP Local

a=candidate:0 1 UDP 2122252543 192.42.172.126 58085 typ host

From SDP distant

a=candidate:0 1 TCP 50 192.42.172.189 6558 typ host generation 0

Logs about:webrtc :

(ice/WARNING) ICE(PC:1477400980285000 (id=110 url=<wowza/webrtc url>)): peer (PC:1477400980285000 (id=110 url=<wowza/webrtc url>):default) has no stream matching stream 0-1477400980285000 (id=110 url=<wowza/webrtc url>) aLevel=1
(ice/NOTICE) ICE(PC:1477400980285000 (id=110 url=<wowza/webrtc url>)): peer (PC:1477400980285000 (id=110 url=<wowza/webrtc url>):default) no streams with non-empty check lists
(ice/NOTICE) ICE(PC:1477400980285000 (id=110 url=<wowza/webrtc url>)): peer (PC:1477400980285000 (id=110 url=<wowza/webrtc url>):default) no streams with pre-answer requests
(ice/NOTICE) ICE(PC:1477400980285000 (id=110 url=<wowza/webrtc url>)): peer (PC:1477400980285000 (id=110 url=<wowza/webrtc url>):default) no checks to start
(ice/WARNING) ICE(PC:1477400980285000 (id=110 url=<wowza/webrtc url>)): Error parsing attribute: candidate:0 1 TCP 50 192.42.172.189 6558 typ host generation 0
(ice/INFO) ICE(PC:1477400980285000 (id=110 url=<wowza/webrtc url>)): peer (PC:1477400980285000 (id=110 url=<wowza/webrtc url>):default) Trickle grace period is over; marking every component with only failed pairs as failed.
(ice/INFO) ICE-PEER(PC:1477400980285000 (id=110 url=<wowza/webrtc url>):default)/STREAM(0-1477400980285000 (id=110 url=<wowza/webrtc url>) aLevel=0)/COMP(1): All pairs are failed, and grace period has elapsed. Marking component as failed.
(ice/INFO) ICE-PEER(PC:1477400980285000 (id=110 url=<wowza/webrtc url>):default): all checks completed success=0 fail=1

If I change in VHost.xml the value of webrtcIceCandidateIpAddresses to work on UDP (it means from wowza IP 192.42.172.189,tcp,6558 to 192.42.172.189,udp):

<Property>
    <Name>webrtcIceCandidateIpAddresses</Name>
    <Value>192.42.172.189,udp</Value>
    <Type>String</Type>
</Property>

I will have the same error in console. In about:webrtc I will have:

SDP Local

a=candidate:0 1 UDP 2122252543 192.42.172.126 50662 typ host

SDP distant

a=candidate:0 1 UDP 50 192.42.172.189 6974 typ host generation 0

Logs about:webrtc :

(ice/WARNING) ICE(PC:1477402453964000 (id=114 url=https://192.42.172.189:6560/webrtc/play/index.html)): peer (PC:1477402453964000 (id=114 url=https://192.42.172.189:6560/webrtc/play/index.html):default) has no stream matching stream 0-1477402453964000 (id=114 url=https://192.42.172.189:6560/webrtc/play/index.html) aLevel=1
(ice/NOTICE) ICE(PC:1477402453964000 (id=114 url=https://192.42.172.189:6560/webrtc/play/index.html)): peer (PC:1477402453964000 (id=114 url=https://192.42.172.189:6560/webrtc/play/index.html):default) no streams with non-empty check lists
(ice/NOTICE) ICE(PC:1477402453964000 (id=114 url=https://192.42.172.189:6560/webrtc/play/index.html)): peer (PC:1477402453964000 (id=114 url=https://192.42.172.189:6560/webrtc/play/index.html):default) no streams with pre-answer requests
(ice/NOTICE) ICE(PC:1477402453964000 (id=114 url=https://192.42.172.189:6560/webrtc/play/index.html)): peer (PC:1477402453964000 (id=114 url=https://192.42.172.189:6560/webrtc/play/index.html):default) no checks to start
(ice/INFO) ICE-PEER(PC:1477402453964000 (id=114 url=https://192.42.172.189:6560/webrtc/play/index.html):default)/CAND-PAIR(uCnR): setting pair to state FROZEN: uCnR|IP4:192.42.172.126:50662/UDP|IP4:192.42.172.189:6974/UDP(host(IP4:192.42.172.126:50662/UDP)|candidate:0 1 UDP 50 192.42.172.189 6974 typ host generation 0)
(ice/INFO) ICE(PC:1477402453964000 (id=114 url=https://192.42.172.189:6560/webrtc/play/index.html))/CAND-PAIR(uCnR): Pairing candidate IP4:192.42.172.126:50662/UDP (7e7f00ff):IP4:192.42.172.189:6974/UDP (32) priority=218992869886 (32fcfe01fe)
(ice/INFO) ICE-PEER(PC:1477402453964000 (id=114 url=https://192.42.172.189:6560/webrtc/play/index.html):default)/ICE-STREAM(0-1477402453964000 (id=114 url=https://192.42.172.189:6560/webrtc/play/index.html) aLevel=0): Starting check timer for stream.
(ice/INFO) ICE-PEER(PC:1477402453964000 (id=114 url=https://192.42.172.189:6560/webrtc/play/index.html):default)/CAND-PAIR(uCnR): setting pair to state WAITING: uCnR|IP4:192.42.172.126:50662/UDP|IP4:192.42.172.189:6974/UDP(host(IP4:192.42.172.126:50662/UDP)|candidate:0 1 UDP 50 192.42.172.189 6974 typ host generation 0)
(ice/INFO) ICE-PEER(PC:1477402453964000 (id=114 url=https://192.42.172.189:6560/webrtc/play/index.html):default)/CAND-PAIR(uCnR): setting pair to state IN_PROGRESS: uCnR|IP4:192.42.172.126:50662/UDP|IP4:192.42.172.189:6974/UDP(host(IP4:192.42.172.126:50662/UDP)|candidate:0 1 UDP 50 192.42.172.189 6974 typ host generation 0)
(ice/NOTICE) ICE(PC:1477402453964000 (id=114 url=https://192.42.172.189:6560/webrtc/play/index.html)): peer (PC:1477402453964000 (id=114 url=https://192.42.172.189:6560/webrtc/play/index.html):default) is now checking
(generic/EMERG) Error in recvfrom: -5961
(ice/WARNING) ICE-PEER(PC:1477402453964000 (id=114 url=https://192.42.172.189:6560/webrtc/play/index.html):default): no pairs for 0-1477402453964000 (id=114 url=https://192.42.172.189:6560/webrtc/play/index.html) aLevel=0
(generic/EMERG) Error in recvfrom: -5961
(generic/EMERG) Error in recvfrom: -5961
(generic/EMERG) Error in recvfrom: -5961
(generic/EMERG) Error in recvfrom: -5961
(generic/EMERG) Error in recvfrom: -5961
(ice/INFO) ICE(PC:1477402453964000 (id=114 url=https://192.42.172.189:6560/webrtc/play/index.html)): peer (PC:1477402453964000 (id=114 url=https://192.42.172.189:6560/webrtc/play/index.html):default) Trickle grace period is over; marking every component with only failed pairs as failed.
(generic/EMERG) Error in recvfrom: -5961

I tried to find a solution by searching on the net a possible cause, without results. Could someone help, please ?

Thanks, Diego

Hello,

It looks like you are on an older WebRTC package that runs off of “HTTPS” vs “WebSockets”. You might need to back pedal to FF 48.0.2 to get this to work.

We are looking into the recent Firefox updates connection issues and I will reply back with an update when there’s one.

Regards,

JasonT

I have the same issue and I have the Wowza Streaming Engine 4.5.0.04

Some time it’s work… like 1 on 30 refresh

Hello,

Thank you for letting me know that you are on the latest version of Wowza Streaming Engine 4.5.0.03. I’ll be sure to update you when I hear an update on this.

Regards,

JasonT

Hello,

The WebRTC Firefox connection issues has been resolved with Wowza Streaming Engine 4.5.0.04 updater. Please open a support ticket to request this updater if you do not already have it.

-Jason

Hello,

I would make sure you are using UDP since Firefox does not support TCP yet, have UDP ports 6970-10000 open(maybe up to 65535), port forward if going across networks(TCP 1935, TCP 443, (TCP 9443 if using Wowza Web Server for WebRTC html files) UDP ports 6970-10000, and I would recommend testing with Firefox 49.0.1 or 49.0.2.

Regards,

JasonT

Hi,

You will need to be on Wowza Streaming Engine 4.6.0.01 to have the latest Firefox fixes. If you have up-to-date support you should have the 4.6.0.01 updater available at:

www.wowza.com My Account> My Downloads

If you have any questions or concerns, please open a support case here.

Please review the instructions for your OS version. There’s also rollback instructions if needed.

Regards,

Jason Tuchler

Wowza Support Engineer

Hello,

It looks like you are on an older WebRTC package that runs off of “HTTPS” vs “WebSockets”. You might need to back pedal to FF 48.0.2 to get this to work.

We are looking into the recent Firefox updates connection issues and I will reply back with an update when there’s one.

Regards,

JasonT

Hello Jason,

thank you so much for your answer.

Just to be clear and having no doubts, I was working on the Wowza 4.5.0_03 version with the related Websocket version of WebRTC (released by Wowza as I guess you know and which I found in “My Downloads”) when I had this experience. The same bad experience unfortunately I had with the Wowza 4.5.0 version and HTTPS related version of WebRTC.

But I hope that this update will be among us soon :slight_smile:

Thank you again,

Diego

Hi. I have same problem. On Firefox I have error - “ICE failed, see about:webrtc for more details” . Version of Wowza 4.6.0, version of firefox 50.1.0

Hello,

I would make sure you are using UDP since Firefox does not support TCP yet, have UDP ports 6970-10000 open(maybe up to 65535), port forward if going across networks(TCP 1935, TCP 443, (TCP 9443 if using Wowza Web Server for WebRTC html files) UDP ports 6970-10000, and I would recommend testing with Firefox 49.0.1 or 49.0.2.

Regards,

JasonT

Hello,

When using UDP you might need to set this Property value inside your webrtc Application.xml to zeros if you have multiple NIC cards on this server.

webrtcUDPBindAddress

0.0.0.0

String

Please save and restart your webrtc application when making changes.

Regards,

Jason

hello, same issue issue here with firefox 54.0.1 and wowza 4.7.1

Hello @Gabriel Troisgros

It would be best to create a support ticket to further look into this. Link to create a support ticket.

Please send the below inside the ticket for further analysis of this stream.

-Details about your source (encoder, audio/video codecs, bitrate, audio sample rate, framerate, frame size)

-Browser versions testing with and console logs from Developer Tools copied into a text document.

[install-dir]/conf
[install-dir]/logs (only latest logs are needed showing a Wowza Server restart and WebRTC playback attempts)
[install-dir]/transcoder
[install-dir]/manager/logs

If you are not sure how to get this information please see the following tutorial.https://www.wowza.com/docs/how-to-create-a-compressed-zip-file-in-windows-os-x-and-linux

If files are too big for email transport (16mb), please send a downloadable link to the files.

Regards,

JasonT