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.

DM8148 Graphics overlay

Hi,

I'm looking for a solution to overlay OSD graphics on video that uses hardware acceleration on DM8148 - currently I have a working solution based on the EZSDK software OSD examples that can run on DSP or M3 core (using EDMA copy) but this uses a big chunk of cpu time.

Is it possible to use the video compositor and GRPX graphics module to overlay a graphics buffer on a single video stream?

there is no local display on my setup - I need to convert the output of video_mixer to H264 and stream over ethernet using RTSP.

I have been investigating omx_videomixer with little progress..

are there any examples of this approach?

Thanks,

William.

  • Hello,

    Here are two examples if I understanding you right.

    gst-launch omx_videomixer port-index=0 framerate=25 name=mix sink_00::outX=0 sink_00::outY=0 sink_00::outWidth=1920 sink_00::outHeight=1080  sink_01::outX=360 sink_01::outY=150 sink_01::outWidth=848 sink_01::outHeight=360 ! omx_ctrl display-mode=OMX_DC_MODE_1080P_60 ! omx_videosink sync=false filesrc location=/usr/share/ti/data/videos/dm816x_1080p_demo.264 ! 'video/x-h264' ! h264parse access-unit=true ! omx_h264dec ! mix. filesrc location=/usr/share/ti/data/videos/dm816x_1080p_demo.264 ! 'video/x-h264' ! h264parse access-unit=true ! omx_h264dec ! clockoverlay halign=center valign=bottom text="UTC time:" shaded-background=true ! mix.


    gst-launch omx_videomixer port-index=0 framerate=25 name=mix sink_00::outX=0 sink_00::outY=0 sink_00::outWidth=1280 sink_00::outHeight=720  sink_01::outX=1080 sink_01::outY=720 sink_01::outWidth=848 sink_01::outHeight=360 ! omx_ctrl display-mode=OMX_DC_MODE_1080P_60 ! omx_videosink sync=false filesrc location=/usr/share/ti/data/videos/dm816x_1080p_demo.264 ! 'video/x-h264,framerate=(fraction)30000/1252' ! h264parse access-unit=true ! omx_h264dec ! clockoverlay halign=center valign=bottom text="UTC time:" shaded-background=true ! mix. filesrc location=/usr/share/ti/data/videos/dm816x_1080p_demo.264 ! 'video/x-h264,framerate=(fraction)30000/1252' ! h264parse access-unit=true ! omx_h264dec ! mix.

    Let me know is this what you are looking for?

    What is the EZSDK version that you are using also?

    Best Regards,

    Margarita

  • Hi Margarita - thanks for the reply.

    does the clockoverlay component use any hardware acceleration?

    I am using EZSDK 5.05.

    William.

  • Hello,

    william calvert said:
    does the clockoverlay component use any hardware acceleration?

    clockoverlay is part of GStreamer  Base Plugin, so I do not think so.

    william calvert said:
    I am using EZSDK 5.05.

    EZSDK 5.05.01 or 5.05.02?

    Best Regards,

    Margarita

  • Hi,

    I had a look at the textoverlay/clockoverlay components previously but they were not suitable for what we wanted - ideally we want to apply OSD graphics using hardware so that the cores are freed up for other tasks.

    the graphics include masking/blanking regions of video which can take up significant cpu time to perform on every video frame buffer.

    I thought there could be a way to do this using the GRPX module to overlay the contents of a graphics buffer on top of a single video stream - is this possible?

    EZSDK version is 5.05.01.04.

    Regards,

    William.