Uploaded image for project: 'Help-Desk'
  1. Help-Desk
  2. HELP-6633

FIWARE.Request.Tech.Data.Stream-oriented.Problem recording webcam and/or screencast in firefox

    Details

    • Type: extRequest
    • Status: Closed
    • Priority: Major
    • Resolution: Done
    • Fix Version/s: 2021
    • Component/s: FIWARE-TECH-HELP
    • Labels:
      None
    • HD-Chapter:
      Data
    • HD-Enabler:
      Kurento

      Description

      Dear FIWARE coach,
      we forward you a support request received from a CreatiFI applicant we are
      not able to solve.
      Please let us know if you need direct contact with the submitter.
      Thanks.

      ************************

      I'm facing this issue where i do a streamcast in chrome and it works but
      not firefox, i get this logs from about:webrtc

      (stun/INFO) Skipping SOURCE-ADDRESS

      (stun/INFO) Skipping CHANGED-ADDRESS

      (stun/INFO) Translating obsolete XOR-MAPPED-ADDRESS type

      (stun/INFO) STUN-CLIENT(srflx(IP4:192.168.0.105:56849/UDP|stun.services.mozilla.com:3478)):
      Received response; processing

      (stun/INFO) Skipping SOURCE-ADDRESS

      (stun/INFO) Skipping CHANGED-ADDRESS

      (stun/INFO) Translating obsolete XOR-MAPPED-ADDRESS type

      (stun/INFO) STUN-CLIENT(srflx(IP4:192.168.0.105:56852/UDP|stun.services.mozilla.com:3478)):
      Received response; processing

      (ice/NOTICE) ICE(PC:1463562084828000 (id=305
      url=https://localhost/tester)): peer (PC:1463562084828000 (id=305
      url=https://localhost/tester):default) no streams with non-empty check
      lists

      (ice/NOTICE) ICE(PC:1463562084828000 (id=305
      url=https://localhost/tester)): peer (PC:1463562084828000 (id=305
      url=https://localhost/tester):default) no streams with pre-answer
      requests

      (ice/NOTICE) ICE(PC:1463562084828000 (id=305
      url=https://localhost/tester)): peer (PC:1463562084828000 (id=305
      url=https://localhost/tester):default) no checks to start

      (ice/INFO) ICE-PEER(PC:1463562084828000 (id=305
      url=https://localhost/tester):default)/CAND-PAIR(Q/hG): setting pair
      to state FROZEN:
      Q/hG|IP4:192.168.56.1:56848/UDP|IP4:10.240.0.3:43680/UDP(host(IP4:192.168.56.1:56848/UDP)|candidate:1
      1 UDP 2013266431 10.240.0.3 43680 typ host)

      (ice/INFO) ICE(PC:1463562084828000 (id=305
      url=https://localhost/tester))/CAND-PAIR(Q/hG): Pairing candidate
      IP4:192.168.56.1:56848/UDP (7e7f00ff):IP4:10.240.0.3:43680/UDP
      (780001ff) priority=8646913483524145663 (780001fffcfe01ff)

      (ice/INFO) ICE-PEER(PC:1463562084828000 (id=305
      url=https://localhost/tester):default)/ICE-STREAM(0-1463562084828000
      (id=305 url=https://localhost/tester) aLevel=0): Starting check timer
      for stream.

      (ice/INFO) ICE-PEER(PC:1463562084828000 (id=305
      url=https://localhost/tester):default)/CAND-PAIR(Q/hG): setting pair
      to state WAITING:
      Q/hG|IP4:192.168.56.1:56848/UDP|IP4:10.240.0.3:43680/UDP(host(IP4:192.168.56.1:56848/UDP)|candidate:1
      1 UDP 2013266431 10.240.0.3 43680 typ host)

      (ice/INFO) ICE-PEER(PC:1463562084828000 (id=305
      url=https://localhost/tester):default)/CAND-PAIR(Q/hG): setting pair
      to state IN_PROGRESS:
      Q/hG|IP4:192.168.56.1:56848/UDP|IP4:10.240.0.3:43680/UDP(host(IP4:192.168.56.1:56848/UDP)|candidate:1
      1 UDP 2013266431 10.240.0.3 43680 typ host)

      (ice/NOTICE) ICE(PC:1463562084828000 (id=305
      url=https://localhost/tester)): peer (PC:1463562084828000 (id=305
      url=https://localhost/tester):default) is now checking

      (ice/INFO) ICE-PEER(PC:1463562084828000 (id=305
      url=https://localhost/tester):default)/CAND-PAIR(Vy1s): setting pair
      to state FROZEN:
      Vy1s|IP4:192.168.0.105:56849/UDP|IP4:10.240.0.3:43680/UDP(host(IP4:192.168.0.105:56849/UDP)|candidate:1
      1 UDP 2013266431 10.240.0.3 43680 typ host)

      (ice/INFO) ICE(PC:1463562084828000 (id=305
      url=https://localhost/tester))/CAND-PAIR(Vy1s): Pairing candidate
      IP4:192.168.0.105:56849/UDP (7e7e00ff):IP4:10.240.0.3:43680/UDP
      (780001ff) priority=8646913483524014591 (780001fffcfc01ff)

      (ice/WARNING) Peer offered candidates for disabled local component

      (ice/WARNING) Peer offered candidates for disabled local component

      (ice/WARNING) Peer offered candidates for disabled local component

      (ice/INFO) ICE-PEER(PC:1463562084828000 (id=305
      url=https://localhost/tester):default)/CAND-PAIR(Vy1s): setting pair
      to state WAITING:
      Vy1s|IP4:192.168.0.105:56849/UDP|IP4:10.240.0.3:43680/UDP(host(IP4:192.168.0.105:56849/UDP)|candidate:1
      1 UDP 2013266431 10.240.0.3 43680 typ host)

      (ice/INFO) ICE-PEER(PC:1463562084828000 (id=305
      url=https://localhost/tester):default)/CAND-PAIR(Vy1s): setting pair
      to state IN_PROGRESS:
      Vy1s|IP4:192.168.0.105:56849/UDP|IP4:10.240.0.3:43680/UDP(host(IP4:192.168.0.105:56849/UDP)|candidate:1
      1 UDP 2013266431 10.240.0.3 43680 typ host)

      (ice/WARNING) ICE-PEER(PC:1463562084828000 (id=305
      url=https://localhost/tester):default): no pairs for
      0-1463562084828000 (id=305 url=https://localhost/tester) aLevel=0

      (ice/INFO) ICE-PEER(PC:1463562084828000 (id=305
      url=https://localhost/tester):default)/CAND-PAIR(YO+a): setting pair
      to state FROZEN:
      YO+a|IP4:192.168.56.1:56848/UDP|IP4:privateurl.com:43680/UDP(host(IP4:192.168.56.1:56848/UDP)|candidate:4
      1 UDP 1677722111 privateurl.com 43680 typ srflx raddr 10.240.0.3 rport
      43680)

      (ice/INFO) ICE(PC:1463562084828000 (id=305
      url=https://localhost/tester))/CAND-PAIR(YO+a): Pairing candidate
      IP4:192.168.56.1:56848/UDP (7e7f00ff):IP4:privateurl.com:43680/UDP
      (640001ff) priority=7205761602765586943 (640001fffcfe01ff)

      (ice/INFO) ICE-PEER(PC:1463562084828000 (id=305
      url=https://localhost/tester):default)/ICE-STREAM(0-1463562084828000
      (id=305 url=https://localhost/tester) aLevel=0): Starting check timer
      for stream.

      (ice/INFO) ICE-PEER(PC:1463562084828000 (id=305
      url=https://localhost/tester):default)/CAND-PAIR(YO+a): setting pair
      to state WAITING:
      YO+a|IP4:192.168.56.1:56848/UDP|IP4:privateurl.com:43680/UDP(host(IP4:192.168.56.1:56848/UDP)|candidate:4
      1 UDP 1677722111 privateurl.com 43680 typ srflx raddr 10.240.0.3 rport
      43680)

      (ice/INFO) ICE-PEER(PC:1463562084828000 (id=305
      url=https://localhost/tester):default)/CAND-PAIR(YO+a): setting pair
      to state IN_PROGRESS:
      YO+a|IP4:192.168.56.1:56848/UDP|IP4:privateurl.com:43680/UDP(host(IP4:192.168.56.1:56848/UDP)|candidate:4
      1 UDP 1677722111 privateurl.com 43680 typ srflx raddr 10.240.0.3 rport
      43680)

      (ice/INFO) ICE-PEER(PC:1463562084828000 (id=305
      url=https://localhost/tester):default)/CAND-PAIR(+OGR): setting pair
      to state FROZEN:
      +OGR|IP4:192.168.0.105:56849/UDP|IP4:privateurl.com:43680/UDP(host(IP4:192.168.0.105:56849/UDP)|candidate:4
      1 UDP 1677722111 privateurl.com 43680 typ srflx raddr 10.240.0.3 rport
      43680)

      (ice/INFO) ICE(PC:1463562084828000 (id=305
      url=https://localhost/tester))/CAND-PAIR(+OGR): Pairing candidate
      IP4:192.168.0.105:56849/UDP (7e7e00ff):IP4:privateurl.com:43680/UDP
      (640001ff) priority=7205761602765455871 (640001fffcfc01ff)

      (ice/INFO) ICE-PEER(PC:1463562084828000 (id=305
      url=https://localhost/tester):default)/CAND-PAIR(+OGR): setting pair
      to state WAITING:
      +OGR|IP4:192.168.0.105:56849/UDP|IP4:privateurl.com:43680/UDP(host(IP4:192.168.0.105:56849/UDP)|candidate:4
      1 UDP 1677722111 privateurl.com 43680 typ srflx raddr 10.240.0.3 rport
      43680)

      (ice/INFO) ICE-PEER(PC:1463562084828000 (id=305
      url=https://localhost/tester):default)/CAND-PAIR(+OGR): setting pair
      to state IN_PROGRESS:
      +OGR|IP4:192.168.0.105:56849/UDP|IP4:privateurl.com:43680/UDP(host(IP4:192.168.0.105:56849/UDP)|candidate:4
      1 UDP 1677722111 privateurl.com 43680 typ srflx raddr 10.240.0.3 rport
      43680)

      (ice/WARNING) ICE-PEER(PC:1463562084828000 (id=305
      url=https://localhost/tester):default): no pairs for
      0-1463562084828000 (id=305 url=https://localhost/tester) aLevel=0

      (ice/INFO) ICE-PEER(PC:1463562084828000 (id=305
      url=https://localhost/tester):default)/ICE-STREAM(0-1463562084828000
      (id=305 url=https://localhost/tester) aLevel=0): Starting check timer
      for stream.

      (ice/WARNING) ICE-PEER(PC:1463562084828000 (id=305
      url=https://localhost/tester):default): no pairs for
      0-1463562084828000 (id=305 url=https://localhost/tester) aLevel=0

      (ice/INFO) ICE-PEER(PC:1463562084828000 (id=305
      url=https://localhost/tester):default)/ICE-STREAM(0-1463562084828000
      (id=305 url=https://localhost/tester) aLevel=0): Starting check timer
      for stream.

      (ice/WARNING) ICE-PEER(PC:1463562084828000 (id=305
      url=https://localhost/tester):default): no pairs for
      0-1463562084828000 (id=305 url=https://localhost/tester) aLevel=0

      +++++++ END ++++++++

      in the kurento logs i didnt found anything weird except from the fact that
      i dont see most of the time this line of code which is a good sign that the
      media is being recorded:

      2016-05-18 09:42:22,744768 723 [0x00007f4003fff700] debug
      KurentoWebSocketTransport WebSocketTransport.cpp:486 processMessage()
      Message: >{"jsonrpc":"2.0","method":"create","params":{"type":"RecorderEndpoint","constructorParams":

      {"mediaPipeline":"2222fa6d-d23b-4615-bcfa-f22559ffe853_kurento.MediaPipeline","mediaProfile":"WEBM_VIDEO_ONLY","stopOnEndOfStream":true,"uri":"file:///opt/kurento-store/6/screen.webm"}

      ,"properties":{},"sessionId":"a139ac91-67be-4964-94c6-d43d7a83baae"},"id":393}

      Here is how i start screensharing in firefox and chrome:

      var startScreen = () => {
      media = 'screen'
      var screenConstraints = getMediaConstraints('screen')
      var screenOptions =

      { remoteVideo: document.getElementById("screenOutput"), mediaConstraints: screenConstraints, onicecandidate: onIceCandidate, configuration: iceServersObj }

      webRtcPeerObj[accountID][sessionID]['screen'] =
      kurentoUtils.WebRtcPeer.WebRtcPeerSendrecv(screenOptions, function
      (error) {
      if (error)

      { return onError(error) }

      this.generateOffer(onOffer)
      })
      }

      As for the constraints, they look like this:

      var mediaConstraints = {
      webcam: {
      audio: true,
      video: {
      width:

      {max:160}

      ,
      height:

      {max:90}

      ,
      frameRate:

      {min:1, max: 15}

      }
      },
      screen: {
      audio: false,
      video: {
      width:

      {max: 640}

      ,
      height:

      {max: 480}

      ,
      frameRate:

      {min:1, max: 15}

      }
      }
      }

      also, i do this when im proccesing the answer from kurento:

      onmessage...
      ...
      case 'processAnswer':

      webRtcPeerObj[message.accountID][message.sessionID][message.media].processAnswer(message.sdpAnswer)
      if (message.media == 'webcam') {
      if(isFirefox){
      var screencast = getMediaConstraints("screen")
      screencast.video.mediaSource = "screen" || "window"
      setMediaConstraints(screencast, 'screen')
      setTimeout(function()

      { startScreen() }

      , 100);
      } else

      { window.postMessage('message', '*') }

      }
      break
      ...

      Also because im using Sendrecv i dont actually get the streams back, could
      it be a NAT? problem?
      another important fact is that in chrome i get 18 ice candidates for each
      media device, in firefox i get 18 for the camera and sometimes i'm able to
      record and 9 for the screencast which i have not been able to make it work.

      This is the exact code for both of them the only difference is that i have
      an event listener in the extension and another one in my file.js where i
      start the screencast if its chrome

      We are using KMS 6.4
      and kurento-client 6.4.1
      Thanks!

      i'm providing the log from kurento media server as an attachment

      ************************

      Since January 1st, old domains won't be supported and messages sent to any domain different to @lists.fiware.org will be lost.
      Please, send your messages using the new domain (Fiware-creatifi-coaching@lists.fiware.org) instead of the old one.
      _______________________________________________
      Fiware-creatifi-coaching mailing list
      Fiware-creatifi-coaching@lists.fiware.org
      https://lists.fiware.org/listinfo/fiware-creatifi-coaching
      [Created via e-mail received from: Andrea Maestrini <amaestrini@create-net.org>]

        Issue Links

          Activity

          Hide
          llopez NaevaTeC Development Team added a comment -

          Answer was provided in the project's mailing list. Still waiting for their feedback.

          Show
          llopez NaevaTeC Development Team added a comment - Answer was provided in the project's mailing list . Still waiting for their feedback.
          Hide
          llopez NaevaTeC Development Team added a comment -

          It seems like the official tutorials are working, so it seems like the KMS is correctly installed and configured. From the logs, it looks like they are using Asterisk. The log they are providing can be found in several bug reports from different other projects, and it appears that it's related with the STUN/TURN configuration of the client (the browser in this case).

          It is requested that they investigate those bug reports, as it's particular to their application architecture and libraries used, and out of our control. However, we'' still provide support and guidance to the extent of our possibilities.

          Show
          llopez NaevaTeC Development Team added a comment - It seems like the official tutorials are working, so it seems like the KMS is correctly installed and configured. From the logs, it looks like they are using Asterisk. The log they are providing can be found in several bug reports from different other projects, and it appears that it's related with the STUN/TURN configuration of the client (the browser in this case). It is requested that they investigate those bug reports, as it's particular to their application architecture and libraries used, and out of our control. However, we'' still provide support and guidance to the extent of our possibilities.
          Hide
          silviocretti Silvio Cretti added a comment -

          Dear FIWARE expert,
          I know that you ar ein contact with the applicants.
          What 's going on with the issue?
          BR

          Show
          silviocretti Silvio Cretti added a comment - Dear FIWARE expert, I know that you ar ein contact with the applicants. What 's going on with the issue? BR
          Hide
          llopez NaevaTeC Development Team added a comment -

          We are waiting for more feedback. It appears that this is a spurious error, produced by the applicant's code or STUN/TURN servers used. We've asked for more logs when the negotiation process fails and when it succeeds, to see if it's a connection problem.

          The thread in the list can be followed here .

          Show
          llopez NaevaTeC Development Team added a comment - We are waiting for more feedback. It appears that this is a spurious error, produced by the applicant's code or STUN/TURN servers used. We've asked for more logs when the negotiation process fails and when it succeeds, to see if it's a connection problem. The thread in the list can be followed here .
          Hide
          llopez NaevaTeC Development Team added a comment -

          Close due to inactivity

          Show
          llopez NaevaTeC Development Team added a comment - Close due to inactivity

            People

            • Assignee:
              llopez NaevaTeC Development Team
              Reporter:
              fw.ext.user FW External User
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: