[Libav-user] Only capturing Metadata from RTSP stream
g.parry at commandrooms.com
g.parry at commandrooms.com
Wed Oct 11 18:58:42 EEST 2023
Hi there
I am working on a C++ library file that captures an RTSP stream and extracts
Onvif metadata.
My libraries are
extern "C" {
#include <libavformat/avformat.h>
#include <libavcodec/avcodec.h>
#include <libavutil/avutil.h>
}
The problem is I don't want the video or audio tracks because the CPU
workload is too high.
If I could send DESCRIBE and SETUP requests in FFmpeg my DESCRIBE url would
be rtsp://<ip>/Src/MediaInput/stream_1?event=1
And my SETUP url would be rtsp://<ip>/Src/MediaInput/trackID=4 ( metadata )
I've tried using a filtergraph
char* filtergraph = av_strdup("!a:codec_type=video !a:codec_type=audio");
// Set the filtergraph expression as an option
av_dict_set(&format_opts, "map", filtergraph, 0);
// Set TCP as an option
av_dict_set(&format_opts, "rtsp_transport", "tcp", 0);
// Open the RTSP stream with the filtergraph expression
int ret = avformat_open_input(&formatContext, fullrtspstring,
nullptr, &format_opts);
but trackID=1 the Video track is still captured.
Any suggestions welcome on streaming with just the metadata track.
Regards
Graham
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://ffmpeg.org/pipermail/libav-user/attachments/20231011/0bc3fc88/attachment.htm>
More information about the Libav-user
mailing list