26 lines
623 B
C++
26 lines
623 B
C++
#pragma once
|
|
|
|
#include "action_base.h"
|
|
#include "../uploaders/uploader_base.h"
|
|
|
|
#include <memory>
|
|
|
|
namespace rk3588 {
|
|
|
|
class SnapshotAction : public IAlarmAction {
|
|
public:
|
|
bool Init(const SimpleJson& config) override;
|
|
void Execute(AlarmEvent& event, std::shared_ptr<Frame> frame) override;
|
|
std::string Name() const override { return "snapshot"; }
|
|
|
|
private:
|
|
std::vector<uint8_t> EncodeJpeg(const std::shared_ptr<Frame>& frame);
|
|
std::string GenerateKey(const AlarmEvent& event);
|
|
|
|
std::string format_ = "jpg";
|
|
int quality_ = 85;
|
|
std::unique_ptr<IUploader> uploader_;
|
|
};
|
|
|
|
} // namespace rk3588
|