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);
请问有什么好的建议,谢谢!