摄像机获取视频流后,进行智能分析并标注,然后再编码H.264
opencv+h264
编码类
class Cx264Encoder
{
public:
Cx264Encoder();
virtual ~Cx264Encoder();
bool Cx264Encoder(int videoWidth, int videoHeight, int channel, int fps);
bool Create(int videoWidth, int videoHeight, int channel = 3, int fps = 25, int iKeyFrameInterval=25);
int EncodeOneFrame(const cv::Mat& frame);//编码一帧
int GetBitrate();
uchar* GetEncodedFrame() const;//获取编码后的帧
int GetEncodeFrameType();
int IsKeyFrameType();
void Destory();
private:
void Init();
public:
int m_width;
int m_height;
int m_channel;
int m_fps;
int m_iKeyFrameInterval;
protected:
x264_encoder* m_encoder;
char* m_pOneFrameBuffer;
int m_iBufSize;//缓冲区大小
int m_iFrameSize;//存储的数据大小
int m_iFrameNum;//获取的帧数
};
如果对此感兴趣,一起交流问题。
邮箱:236009671@qq.com