class FFmpegRTSPDecoder AVFormatContext* m_fmtCtx = nullptr; AVCodecContext* m_codecCtx = nullptr; AVFrame* m_frame = nullptr; SwsContext* m_swsCtx = nullptr;
public: bool open(const char* rtspUrl) avformat_network_init(); AVDictionary* opts = nullptr; av_dict_set(&opts, "rtsp_transport", "tcp", 0); // TCP for reliability av_dict_set(&opts, "max_delay", "500000", 0); rtspvideoplugin
AVCodec* codec = avcodec_find_decoder(m_fmtCtx->streams[videoStream]->codecpar->codec_id); m_codecCtx = avcodec_alloc_context3(codec); avcodec_parameters_to_context(m_codecCtx, m_fmtCtx->streams[videoStream]->codecpar); avcodec_open2(m_codecCtx, codec, nullptr); class FFmpegRTSPDecoder AVFormatContext* m_fmtCtx = nullptr