Argus version 0.97.3(multi-process)
Just refer to
cuda/samples/3_Imaging/EGLStream_CUDA_CrossGPU and tegra_multimedia_api/argus/samples/gstVideoEncode/
My project use argus to produce frame in one process,and consumer process consumer the frame in one process and use gstVideoEncode to mp4 file;
But the original argus fps is 30;the consumer process fps is also 30;but the gst record mp4 file is only 2fps(vlc can play,fsp info is 2.07),
Producer Process:
EGLStreamReceivefd–FIFO
cuEGLStreamConsumerAcquireFrame–m_InputStreamConnection
cuEGLStreamProducerPresentFrame–m_OutputStreamConnection
cuEGLStreamConsumerReleaseFrame
Consumer Process:
EGLStreamSendfd --FIFO
cuEGLStreamConsumerConnect–cudaConnection
cuEGLStreamProducerConnect–m_cudaRGBAStreamConnection
cuEGLStreamConsumerAcquireFrame–cudaConnection
cuGraphicsResourceGetMappedEglFrame
cuEGLStreamProducerPresentFrame–m_cudaRGBAStreamConnection
cuEGLStreamConsumerReleaseFrame–cudaConnection
EGLGlobal.cpp (19.4 KB)
main.cpp (31.8 KB)
Dear @happy886 ,
Could you confirm if the issue related to DRIVE AGX platform?
i change the issue to jetson AGX Xavier
Hi,
Please share your release version for reference:
$ cat /etc/nv_tegra_release
just on the pic,producer fps:30,consumer acquered fps:30,nveglstreamsrc record mp4 file only 2 fps
Hi happy886 ,
Please share the Makefile, make command and detail steps.
We can try to reproduce your issue.
DaneLLL
October 14, 2021, 12:10pm
14
Hi,
Somehow we are not able to see 30fps in running the sample. We have checked the code and there is another gstreamer pipeline:
m_pipeline = gst_parse_launch("nveglstreamsrc name=egl_src ! video/x-raw(memory:NVMM),format=NV12,width=1920,height=1080,framerate=30/1 ! nvvidconv ! fpsdisplaysink video-sink=fakesink --verbose ",NULL);
If you run this pipeline, do yo observe 30fps?
DaneLLL:
1920
no fps info printf;
static void cb_fps_measurements(GstElement *fpsdisplaysink,gdouble arg0,gdouble arg1,gdouble arg2,gpointer user_data)
{
printf(“###dropped: %.0f, current: %.2f, average: %.2f\n”, arg1, arg0, arg2);
}
GstElement *fpsSink=gst_bin_get_by_name(GST_BIN(m_pipeline),“fpssink”);
if(!GST_IS_ELEMENT(fpsSink))
ORIGINATE_ERROR(“Failed to get video pipeline fpsSink”);
//g_object_set(G_OBJECT(fpsSink), “last-message”,&fps_msg, NULL);
g_object_set(G_OBJECT(fpsSink), “signal-fps-measurements”,true, NULL);
g_signal_connect (fpsSink, “fps-measurements”, G_CALLBACK(cb_fps_measurements), NULL);
main.cpp (26.9 KB)
DaneLLL
October 19, 2021, 4:12am
16
Hi,
Do you still hit this issue after switching to mailbox mode? Would like to know if this suggestion:
Cross eglstream copy CUeglFrame failed - #3 by DaneLLL
also helps this use-case.
system
Closed
November 10, 2021, 4:00am
18
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.