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

          Transition Time In Source Status Execution Times Last Executer Last Execution Date
          Open Open In Progress In Progress
          3d 21h 54m 1 NaevaTeC Development Team 23/May/16 11:51 AM
          In Progress In Progress Answered Answered
          14d 12h 46m 1 NaevaTeC Development Team 07/Jun/16 12:37 AM
          Answered Answered Closed Closed
          2s 1 NaevaTeC Development Team 07/Jun/16 12:37 AM

            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: