zhuyuliang / gst_rtsp_client Goto Github PK
View Code? Open in Web Editor NEWgstreamer rtsp client support rockchip and jetson nx for C/C++ Python
License: MIT License
gstreamer rtsp client support rockchip and jetson nx for C/C++ Python
License: MIT License
我用jetson nx接收两路RTSP 2K视频流,接帧很稳定,但是接收到的图像延时大概有3秒左右,是缓冲区的原因吗?
博主你好 mpp-GStreamer插件链接失效了 影响使用吗
您好,向您请教关于NanoTrack在RK3588平台的C++实现出现的问题。我参考NanoTrack原作者的C++代码和您使用lighttrack的代码写了使用rknn模型的代码,但是在解析输出的结果时出现问题:预测的目标框位置差距很大而且从第二帧开始预测框就不对了,想询问解决的办法!
NanoTrack跟LightTrack很相似,我的模型也是按照你的差不多结构设置的。
rknn_input zf_xf[2];
memset(zf_xf, 0, sizeof(zf_xf));
zf_xf[0].index = 0;
zf_xf[0].size = zf[0].size;
zf_xf[0].pass_through = 0;
zf_xf[0].type = RKNN_TENSOR_FLOAT32;
zf_xf[0].fmt = RKNN_TENSOR_NHWC;
zf_xf[0].buf = zf[0].buf;
zf_xf[1].index = 1;
zf_xf[1].size = xf[0].size;
zf_xf[1].pass_through = 0;
zf_xf[1].type = RKNN_TENSOR_FLOAT32;
zf_xf[1].fmt = RKNN_TENSOR_NHWC;
zf_xf[1].buf = xf[0].buf;
rknn_inputs_set(net_head, 2, zf_xf);
rknn_run(net_head, NULL);
rknn_output outputs[2];
memset(outputs, 0, sizeof(outputs));
for (auto & output : outputs) {
output.want_float = 1;
output.is_prealloc = 0;
}
rknn_outputs_get(net_head, 2, outputs, NULL);
std::vector<float> cls_score_sigmoid;
float* cls_score_data = (float*)outputs[0].buf;
//print_rknn(cls_score_data, "cls_score_rknn_cpp.txt");
float* bbox_pred_data = (float*)outputs[1].buf;
print_rknn(bbox_pred_data, "bbox_pred_rknn_cpp.txt");
/* debug */
cls_score_sigmoid.clear();
int cols = cfg.score_size;
int rows = cfg.score_size;
for (int i = 0; i < cols*rows; i++) //16x16
{
cls_score_sigmoid.push_back(sigmoid(cls_score_data[i]));
}
std::vector<float> pred_x1(cols*rows, 0), pred_y1(cols*rows, 0), pred_x2(cols*rows, 0), pred_y2(cols*rows, 0);
float* bbox_pred_data1 = (float*)outputs[1].buf;
float* bbox_pred_data2 = (float*)outputs[1].buf + cols*rows;
float* bbox_pred_data3 = (float*)outputs[1].buf + 2*cols*rows;
float* bbox_pred_data4 = (float*)outputs[1].buf + 3*cols*rows;
for (int i=0; i<rows; i++)
{
for (int j=0; j<cols; j++)
{
pred_x1[i*cols + j] = this->grid_to_search_x[i*cols + j] - bbox_pred_data1[i*cols + j];
pred_y1[i*cols + j] = this->grid_to_search_y[i*cols + j] - bbox_pred_data2[i*cols + j];
pred_x2[i*cols + j] = this->grid_to_search_x[i*cols + j] + bbox_pred_data3[i*cols + j];
pred_y2[i*cols + j] = this->grid_to_search_y[i*cols + j] + bbox_pred_data4[i*cols + j];
}
}
使用老版本的linux-rga库没有问题,使用最新版本的linux-rga库报这个错误。
如果不使用新版本的linux-rga库,wrapbuffer_virtualaddr这个方法又无法使用!麻烦老师看看可以怎么处理呀!谢谢了
你好,在代码中加入”if frame_count % frame_interval == 0:“等判断代码似乎不能跳帧,那么在你的项目代码中该如何实现真正的跳帧呢?
为啥,这个MPP_GSTREAMER插件,在官方找不到了呢?
如果源RTSP是经过变化的流,比如旋转导致了尺寸变化,则重连之后获取到的都是原始尺寸,不是变化后的尺寸,会导致画面花屏
int source_width = GST_VIDEO_INFO_WIDTH (&(this->m_data.info));
int source_height = GST_VIDEO_INFO_HEIGHT (&(this->m_data.info));
是否可以增加基于gstreamer rtspserver 插件,实现不同输入的推流服务
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.