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

FIWARE.Request.Tech.Data.Stream-oriented.Screencast stream not being recorded in Kurento GE

    Details

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

      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.

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

      Hello,

      We are trying to record a screencast.

      The screencast is sent to Kurento that is able to send it back to the
      client.
      But the stream is not recorded, the file is created but stays at zero bytes.

      Actually, we have been recording files on v5.1.0 without any problems.
      Now we moved to v6.4.0 we changed the code accordingly but now the
      screencast stream is not recorded any more.

      Project is blocked because of this, we need help urgently!

      This is the code we use to stream and record:

      var screencastConstraints = {
      audio: false,
      video: {
      mandatory:

      { maxWidth: 640, maxHeight: 480, maxFrameRate: 15, minFrameRate: 1 }

      }
      };

      this.startScreencast = function () {
      var screencastInput = document.getElementById('screencastInput')
      var options = {
      localVideo: null,
      remoteVideo: screencastInput,
      mediaConstraints: screencastConstraints,
      configuration : { iceServers : [

      {"url":"turn:numb.viagenie.ca:3478", "username":"<username>", "credential":"<credential>"}

      ] }
      };
      var pipeline = self.pipeline;

      if (pipeline != null) {
      // self.webRtcPeerScreencast =
      kurentoUtils.WebRtcPeer.startSendOnly(null, onOffer, onError,
      screencastConstraints);
      self.webRtcPeerScreencast =
      kurentoUtils.WebRtcPeer.WebRtcPeerSendrecv(options, function(error)

      { if(error) return onError(error); this.generateOffer(onOffer); }

      );

      } else

      { $log.debug('Pipeline == null'); }

      function onError(error)

      { $log.log(error); }

      function onOffer(error, offer) {
      $log.log("Offer...");
      var elements =
      [
      {type: 'RecorderEndpoint', params: {uri :
      file_uri_path + file_uri_screencast + sessionID + file_uri_format}},
      {type: 'WebRtcEndpoint', params: {}}
      ];

      kurentoClient(ws_uri, function (error, client) {
      if (error) return onError(error);
      client.create('MediaPipeline', function (error,
      mypipeline) {
      if (error) return onError(error);
      $log.log("Got MediaPipeline");

      mypipeline.create(elements, function(error, elements){
      if (error) return onError(error);

      var recorder = elements[0];
      var webRtc = elements[1];

      setIceCandidateCallbacks(self.webRtcPeerScreencast, webRtc, onError);

      webRtc.processOffer(offer, function(error, answer)

      { if (error) return onError(error); console.log("offer"); webRtc.gatherCandidates(onError); self.webRtcPeerScreencast.processAnswer(answer); }

      );

      client.connect(webRtc, webRtc, recorder,
      function(error) {
      if (error) return onError(error);
      self.screencastRecorder = recorder;

      console.log("Connected");

      recorder.record(function(error)

      { if (error) return onError(error); console.log("record"); }

      );
      });
      });
      });
      });
      }

      };

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

      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
          silviocretti Silvio Cretti added a comment -

          Dear,
          I suggest you to forward the issue to the FIWARE Kurento GE: Luis Lopez
          BR

          Show
          silviocretti Silvio Cretti added a comment - Dear, I suggest you to forward the issue to the FIWARE Kurento GE: Luis Lopez BR
          Hide
          llopez NaevaTeC Development Team added a comment -

          Hi,

          this issue has been also asked in kurento mailing list:

          https://groups.google.com/forum/#!topic/kurento/SsuFWCXX0EY

          We need the logs of kurento mediaserver to see is there is an error that is not reported to the application.

          Additionally, it seems that only video is being recorded but the profile selected is the default one that expects audio and video to be recorded that could be the reason of the file stay with a 0 size. Try setting mediaProfile constructor parameter to WEBM_VIDEO_ONLY. This way recorder only expects video and does not wait for audio to arrive.

          It is also very recommendable to stop recorder before releasing it. Most probably it can work without calling stop, but it's safer to always call stop.

          Show
          llopez NaevaTeC Development Team added a comment - Hi, this issue has been also asked in kurento mailing list: https://groups.google.com/forum/#!topic/kurento/SsuFWCXX0EY We need the logs of kurento mediaserver to see is there is an error that is not reported to the application. Additionally, it seems that only video is being recorded but the profile selected is the default one that expects audio and video to be recorded that could be the reason of the file stay with a 0 size. Try setting mediaProfile constructor parameter to WEBM_VIDEO_ONLY. This way recorder only expects video and does not wait for audio to arrive. It is also very recommendable to stop recorder before releasing it. Most probably it can work without calling stop, but it's safer to always call stop.
          Hide
          llopez NaevaTeC Development Team added a comment -

          The problem is already solved, as you can see in Kurento mailing list:

          https://groups.google.com/forum/#!topic/kurento/SsuFWCXX0EY

          Show
          llopez NaevaTeC Development Team added a comment - The problem is already solved, as you can see in Kurento mailing list: https://groups.google.com/forum/#!topic/kurento/SsuFWCXX0EY

            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: