This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Display of IP camera stream ?

Hi folks,
we use DVR_RDK from UDworks, SW Version 03.00.00.00.
One of our next goals is a application that can receive
IP camera RTSP streaming. Recording this stream is possible via openRTSP. We have tested this it works well.
But the application also must provide display output for the IP cameras (HDMI).
Is is possible to start with one of the usecase demos for this task,
or is a example available for this?

Best regards Holger

  • Depending on whether you are building a hybrid dvr (capture is present) or nvr (only decode and display IP netcam stream) you can use different usecase.

    For nvr usecase you can refer the vdec_vdis usecase (/dvr_rdk/mcfw/src_linux/mcfw_api/usecases/multich_vdec_vdis.c) 

        - MCFW demo SD/HD decode and display (Option 4 in mcfw cmd line demo)

    For hybrid DVR usecase you can refer /dvr_rdk/mcfw/src_linux/mcfw_api/usecases/multich_hybrid_dvr.c

       - Option "a" in cmd line demo

     

  • Hi Badri,

    we want to build a hybrid solution, we have analogue cameras and IP cameras.

    For me it is not clear how to connect openRTSP and the decoder in this case.

    Any experience with this topic ?

    Regards Holger

  • - First you have to create a usecase which setups up the mcfw links to implement a hybrid dvr data flow. This is already done in /dvr_rdk/mcfw/src_linux/mcfw_api/usecases/multich_hybrid_dvr.c

    - Next you have to feed the frames for decoding to mcfw. There are two APIs :

    Int32 Vdec_requestBitstreamBuffer(VDEC_BUF_REQUEST_S * bufReq, VCODEC_BITSBUF_LIST_S *pBitsBufList, UInt32 timeout)

       - Get empty buffers

    Int32 Vdec_putBitstreamBuffer(VCODEC_BITSBUF_LIST_S *pBitsBufList)

      - Put filled buffers for decoding.

      - Each filled buffer should contain one full encoded frame.

    You can refer the /dvr_rdk/demos/mcfw_api_demos/mcfw_demo/demo_vdec_vdis_bits_rd.c for example usage of feeding frame for decoding.

  • Hi Badri,

    thanks for the answer.

    I understand this setup.

    But still a question.

    If we have 16 analogue cameras connected, is there any limitation for the IP cameras ?

    It must be possible for the user to select the display of analoge camera and IP camera.

    Regards Holger

  • In the hybridDVR usecase 16 decode ch for playback upto D1 resolution and 4 decode ch for playback upto 1080P resolution are created.

    Any of the 20 channels can be displayed based on the Swms layout selected.

    If application requires realtime decoding it has to ensure correct loading of HDVICP by controlling the number of decode channels,channel resolution and fps.

    As you are probably aware, there are 3 HDVICPs in 816x.

         A typical system design would assign encode channels to HDVICP0 and HDVICP1 and assign decode channels to HDVICP2.

                 -- This is to because encode should always be realtime and increasing the number of decode channels should not affect encode fps.

         The HDVICP is capable of doing approximately 1 1080@60 OR   2 1080@30 OR 13 D1@30  realtime

                 -- Based on this total capacity application can limit the number of IP camera streams + Analogue stream playback

     

  • Hi Badri,

    Thanks for the post.

    Currently we use multich_progressive_vcap_venc_vdec_vdis usecase.

    Is it possible to change this usecase to fit the needs of the hybrid application

    or is it a better approach to start with multich_hybrid_dvr usecase.

    Best regards Holger

  • You can continue with multich_progressive_vcap_venc_vdec_vdis usecase. You just need to feed the stream from IP netcam to the decode channels

  • Thanks Badri for Your explanation,

    we will start with multich_progressive_vcap_venc_vdec_vdis usecase.

    Best regards Holger