Frame Transfer Upsetting The Server

Answered

Comments

5 comments

  • Avatar
    Graham Parry

    Quick update, it seems to be openCV that it doesn't like.  The plugin compiles OK and loads Ok, but when activated the Server stops running and has to restart.

    If I remove all reference to openCV the server stays active when the plugin is activated.

    I will have to try and include it differently, but meanwhile there is still the issue of the thread timing not being consistent when a function call is made.  The basic image transfer takes very little time but doesn't run true to the seconds set.  Does a call of this nature need to be handled differently?

    Thanks 

    0
    Comment actions Permalink
  • Avatar
    Andrey Terentyev

    Hello,

    The proper place for processing frames is the pushCompressedVideoFrame(const ICompressedVideoPacket* videoFrame), or pushUncompressedVideoFrame(const IUncompressedVideoFrame* videoFrame), not the eventThreadLoop().

    See this section of our guide for how to process frames with OpenCV, handle errors, generate events

    https://meta.nxvms.com/docs/developers/knowledgebase/235-step-4-adding-object-detection

    0
    Comment actions Permalink
  • Avatar
    Graham Parry

    Thanks, Andrey

    I'm obviously trying the conversion process a bit late in the day.

    I'll review the documentation and see if an earlier process helps.

    0
    Comment actions Permalink
  • Avatar
    Andrey Terentyev

    One more thing.

    I'd suggest you not to call transfer.executeFTPTransfer(img) directly from the pushCompressedVideoFrame() but rather place the frame to a queue and return from pushCompressedVideoFrame() ASAP.

    Create an additional thread that would take a frame from the queue and copy it by transfer.executeFTPTransfer(img).

    0
    Comment actions Permalink
  • Avatar
    Graham Parry

    Yep, that's a plan also.  Hopefully both suggestions crack the problem.

    Thank you.

    0
    Comment actions Permalink

Please sign in to leave a comment.