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.

AM5728: Encoding full HD at 60fps

Part Number: AM5728


Hi,
Our requirement is to encode full HD video(1920x1080P@60) using ducatih264 plugin.
The encoding is successful for 30 frames per second using following pipeline:
 gst-launch-1.0 videotestsrc num-buffers=500 ! 'video/x-raw,format=(string)NV12,width=1920,height=1080,framerate=(fraction)30/1' ! ducatih264enc intra-interval=4 ! queue ! h264parse ! mp4mux ! filesink location=testh264enc30.mp4
But when we change the framerate 30 to 60 in above pipeline, we are getting following error:
 root@am57xx-evm:~# gst-launch-1.0 videotestsrc num-buffers=500 ! 'video/x-raw,format=(string)NV12,width=1920,height=1080,framerate=(fr
action)60/1' ! ducatih264enc intra-interval=4 ! queue ! h264parse ! mp4mux ! filesink location=testh264enc60.mp4
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
ERROR: from element /GstPipeline:pipeline0/GstDucatiH264Enc:ducatih264enc0: Could not encode stream.
Additional debug info:
gstducatividenc.c(752): gst_ducati_videnc_handle_frame (): /GstPipeline:pipeline0/GstDucatiH264Enc:ducatih264enc0
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
We know that encoding is supported for 1920x1080P@60 video at hardware level. But Software level is it also supported? 
Regards,
Praveen
  • The software team have been notified. They will respond here.
  • Hello,

    What is the PSDK version that you are using here?
    Is it the latest one?

    BR
    Margarita
  • Hello,

    I tried with the latest PSDK 4.0.
    I used this pipeline:
    gst-launch-1.0 videotestsrc num-buffers=100 ! 'video/x-raw,format=(string)NV12,width=1920,height=1080,framerate=(fraction)60/1' ! ducatih264enc level=level-51 profile=high ! queue ! h264parse ! filesink location=test.h264
    As you could see the level and profile are set.

    Here is the result:
    root@am57xx-evm:~# gst-launch-1.0 videotestsrc num-buffers=100 ! 'video/x-raw,format=(string)NV12,width=1920,height=1080,framerate=(fraction)60/1' ! ducatih264enc level=level-51 profile=high ! queue ! h264parse ! filesink location=test.h264
    Setting pipeline to PAUSED ...
    [ 420.911039] omap-iommu 55082000.mmu: 55082000.mmu: version 2.1
    Pipeline is PREROLLING ...
    Pipeline is PREROLLED ...
    Setting pipeline to PLAYING ...
    New clock: GstSystemClock
    Got EOS from element "pipeline0".
    Execution ended after 0:00:03.410934550
    Setting pipeline to PAUSED ...
    Setting pipeline to READY ...
    Setting pipeline to NULL ...
    Freeing pipeline ...
    root@am57xx-evm:~#


    Hope this helps.

    BR
    Margarita
  • Thanks Margarita,

    After setting "level=level-51 profile=high", the pipeline is working fine.

    I have one more query. "can pause be implemented at the time of video encoding from ducatih264enc"?

    Our customer want to know the feasibility of recording(video data from vip & encoded using ducatih264) & pause, so that when resume, the recording file continues from where it paused.

    Thanks,
    Praveen
  • Hello,

    prav verma said:
    After setting "level=level-51 profile=high", the pipeline is working fine.


    You could change the profile but the level should be level-50 or level-51.

    prav verma said:
    Our customer want to know the feasibility of recording(video data from vip & encoded using ducatih264) & pause, so that when resume, the recording file continues from where it paused.


    Since I know this is not tested.

    Gstreamer point of view there is PAUSE state but I have not try it.


    BR
    Margarita