[deepstream][原创]更改deepstream_test1_app在弹出视频上显示fps

Posted FL1623863129

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[deepstream][原创]更改deepstream_test1_app在弹出视频上显示fps相关的知识,希望对你有一定的参考价值。

先上结果图片

main函数添加定义:

GstElement *nvsink = NULL;

将这一句代码注释:

//sink = gst_element_factory_make ("nveglglessink", "nvvideo-renderer");

然后添加下面代码

nvsink = gst_element_factory_make("nveglglessink", "nvvideo-renderer");

sink = gst_element_factory_make("fpsdisplaysink", "fps-display");

g_object_set(G_OBJECT(sink), "text-overlay", FALSE, "video-sink", nvsink, "sync", FALSE, NULL);

将倒数第二个NULL参数

gst_pad_add_probe(osd_sink_pad, GST_PAD_PROBE_TYPE_BUFFER,

osd_sink_pad_buffer_probe, NULL, NULL);

改成:

gst_pad_add_probe(osd_sink_pad, GST_PAD_PROBE_TYPE_BUFFER,

osd_sink_pad_buffer_probe, (gpointer)sink, NULL);

最后在osd_sink_pad_buffer_probe显示地方添加如下关键代码:

gchar *msg = NULL;

g_object_get(G_OBJECT(u_data), "last-message", &msg, NULL);

if (msg != NULL)

{

g_print("Fps info: %s\\n", msg);

}

display_meta = nvds_acquire_display_meta_from_pool(batch_meta);

NvOSD_TextParams *txt_params = &display_meta->text_params[0];

display_meta->num_labels = 1;

txt_params->display_text = (char *)g_malloc0(MAX_DISPLAY_LEN);

offset = snprintf(txt_params->display_text, MAX_DISPLAY_LEN, "Person = %d ", person_count);

offset = snprintf(txt_params->display_text + offset, MAX_DISPLAY_LEN, msg);

参考issue:FPS in test apps. - DeepStream SDK - NVIDIA Developer Forums

以上是关于[deepstream][原创]更改deepstream_test1_app在弹出视频上显示fps的主要内容,如果未能解决你的问题,请参考以下文章

[deepstream][原创]更改deepstream_test1_app在弹出视频上画一条线条

[deepstream][原创]deepstream:5.1-21.02-triton的docker无法使用pytorch

[deepstream][原创]过滤模型中某些类别

DeepStream系列之有用资源汇总

DeepStream系列之有用资源汇总

deepstream学习笔记:gstreamer与deepstream-test1说明