7 #include <nx/sdk/analytics/helpers/consuming_device_agent.h> 8 #include <nx/sdk/analytics/i_object_metadata_packet.h> 9 #include <nx/sdk/analytics/i_object_track_best_shot_packet.h> 10 #include <nx/sdk/analytics/rect.h> 13 namespace vms_server_plugins {
16 namespace best_shots {
25 virtual std::string manifestString()
const override;
30 virtual void doSetNeededMetadataTypes(
43 enum class BestShotGenerationPolicy
50 struct BestShotGenerationContext
52 BestShotGenerationPolicy policy;
53 int frameNumberToGenerateBestShot = 0;
57 std::string imageDataFormat;
58 std::vector<char> imageData;
64 using BestShotList = std::vector<nx::sdk::Ptr<nx::sdk::analytics::IObjectTrackBestShotPacket>>;
65 BestShotList generateBestShots();
78 static BestShotGenerationPolicy bestShotGenerationPolicyFromString(
const std::string& str);
81 std::vector<TrackContext> m_trackContexts;
82 BestShotGenerationContext m_bestShotGenerationContext;
83 int64_t m_lastFrameTimestampUs = 0;
84 std::map<nx::sdk::Uuid, int> m_bestShotGenerationCounterByTrackId;
Definition: device_agent.h:18
Definition: i_compressed_video_packet.h:31
Definition: consuming_device_agent.h:35
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