7 #include <nx/sdk/analytics/helpers/consuming_device_agent.h> 9 #include <nx/sdk/analytics/i_object_track_best_shot_packet.h> 10 #include <nx/sdk/analytics/i_object_metadata_packet.h> 12 #include <nx/sdk/analytics/rect.h> 15 namespace vms_server_plugins {
18 namespace best_shots {
27 virtual std::string manifestString()
const override;
32 virtual void doSetNeededMetadataTypes(
45 enum class BestShotGenerationPolicy
52 struct BestShotGenerationContext
54 BestShotGenerationPolicy policy;
55 int frameNumberToGenerateBestShot = 0;
59 std::string imageDataFormat;
60 std::vector<char> imageData;
66 using BestShotList = std::vector<nx::sdk::Ptr<nx::sdk::analytics::IObjectTrackBestShotPacket>>;
67 BestShotList generateBestShots();
80 static BestShotGenerationPolicy bestShotGenerationPolicyFromString(
const std::string& str);
83 std::vector<TrackContext> m_trackContexts;
84 BestShotGenerationContext m_bestShotGenerationContext;
85 int64_t m_lastFrameTimestampUs = 0;
86 std::map<nx::sdk::Uuid, int> m_bestShotGenerationCounterByTrackId;
Definition: device_agent.h:20
Definition: i_compressed_video_packet.h:32
Definition: consuming_device_agent.h:36
Definition: i_device_info.h:13
Definition: apple_utils.h:6
virtual bool pushCompressedVideoFrame(const nx::sdk::analytics::ICompressedVideoPacket *videoFrame) override
Definition: device_agent.cpp:78
virtual nx::sdk::Result< const nx::sdk::ISettingsResponse * > settingsReceived() override
Definition: device_agent.cpp:98