#ifndef FFMPEGPUSHSTREAM_H #define FFMPEGPUSHSTREAM_H #include "ffmpeginclude.h" #include #include class FFmpegPushStream : public QObject { Q_OBJECT public: explicit FFmpegPushStream(QObject *parent = nullptr); /** * @brief 设置推流地址 * @param url 远端推流地址 */ void setRemoteIP(QString url); signals: private: AVFormatContext *inputFormatCtx = nullptr; // AVFormatContext *outputFormatCtx = NULL; // int videoIndex = -1; QString pushStreamIP; // 推流地址 bool mInitStatus = false; int64_t startTime; int MAXCONNECT = 12; public slots: int pushStream(AVPacket *pkt, int frm_cnt, int64_t startTime, int64_t firstDts); void stopPush(); int openNetworkStream(AVFormatContext *inputFormatCtx); private: int reconnect(int ret); }; #endif // FFMPEGPUSHSTREAM_H