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.

PROCESSOR-SDK-J721E: GStreamer H.264解码器:avdec_h264处理速度

Part Number: PROCESSOR-SDK-J721E
Other Parts Discussed in Thread: TDA4VM

您好!

    我在 TDA4VM 上,建立了一条gstreamer pipeline用于H264码流的解码工作,其中元素包含了:appsrc queue avdec_h264 appsink.它能正常工作,但是解码的速度不太理想。

我使用的H264测试文件是由NV12格式的长1280/宽720图像编码成的,它只有I帧和P帧,GOP是15,一共240帧,完全解码耗费的时间是3469ms,大概14ms解码一帧图像。这对于单路摄像头来说帧率足够,但是我们需要4路摄像头同时解码,速度明显达不到预期。

下面是我对各个元素的配置:

    GstElement *pipeline, *appsrc , *appsink;
    GstElement *h264_decoder;
...
    
    g_object_set(G_OBJECT(appsrc), "caps", 
                gst_caps_new_simple("video/x-h264", "stream-format", G_TYPE_STRING, "byte-stream", \
                                    "alignment", G_TYPE_STRING, "au", NULL),
                NULL);
    
    g_object_set(G_OBJECT(appsink), "sync", FALSE, NULL);
    g_object_set(G_OBJECT(appsink), "emit-signals", TRUE, NULL);
    g_object_set(G_OBJECT(appsink), "max-buffers", 200, NULL);
    
    g_object_set(G_OBJECT(h264_decoder), "max-threads", 10, NULL);

  请问有什么好的建议,谢谢!