Is the Nx Cloud up? Visit our Status Page for the current health and performance of the Nx Cloud.

Status Page

Frame Transfer Upsetting The Server

Answered

Comments

5 comments

  • 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
  • Andrey Terentyev
    • Network Optix team

    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
  • 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
  • Andrey Terentyev
    • Network Optix team

    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
  • Graham Parry

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

    Thank you.

    0

Please sign in to leave a comment.