Please provide complete information as applicable to your setup.
**• Hardware Platform: **Jetson
**• DeepStream Version: ** 6.3
• JetPack Version: 5.1.2
**• TensorRT Version: ** 8.5.2
**• NVIDIA GPU Driver Version: ** R35
I have pipeline that built with nvmultiurisrcbin plugin for example:
nvmultiurisrcbin name=nvmultiurisrcbin smart-rec-default-duration=60 smart-record=1 smart-rec-dir-path='path' attach-sys-ts=false ! nvvidconv ! video/x-raw, format=(string)BGRx ! fakesink
I need to add a smart record for this, I already add message consumer with KAFKA:
gboolean parse_err = !parse_msgconsumer_yaml (&message_consumer_config, "message-consumer0", std::getenv("CONFIG_FILE_PATH"));
and use it:
GstElement* nvmultiurisrcbin = gst_bin_get_by_name(GST_BIN(pipeline), "nvmultiurisrcbin"); c2d_ctx = start_cloud_to_device_messaging (&message_consumer_config, NULL, nvmultiurisrcbin);
I create the smart record:
` NvDsSRInitParams params = {0};
NvDsSRContainerType ContainerType;
params.containerType = NVDSSR_CONTAINER_MP4;
params.dirpath = “path”;
params.cacheSize = 30;
params.defaultDuration = 300;
params.callback = smart_record_callback;
NvDsSrcParentBin *pBin = (NvDsSrcParentBin *) c2d_ctx->uData;
if (!pBin) {
NVGSTDS_WARN_MSG_V ("Null user data");
return 1;
}
NvDsSRSessionId sessId = 0;
gint sensorId;
NvDsSRContext *srCtx = NULL;
if (NvDsSRCreate (&srCtx, ¶ms) != NVDSSR_STATUS_OK) {
NVGSTDS_ERR_MSG_V ("Failed to create smart record bin");
g_free (params.fileNamePrefix);
return 1;
}`
In this case, how do I link srCtx->recordbin to the pipeline?
Among the options I try are to unlink part of the pipeline and link the srCtx->recordbin in the middle.
Mp4 videos are created, but they contain only 616 bytes or are empty.
The MP4 file contains the following content:
ftypqt qt freemdatDmoovlmvhd�T �T�a@�trak\tkhda�T �T�@�mdia mdhd�T �T�U�!hdlr�minf!hdlrdhlralis$dinfdrefalis\stblstsdsttsstscstszstco=udta5meta!hdlrmhlrmdirilst=udta5meta!hdlrmhlrmdirilst
Thanks
Menahem