Files
CameraRecorder/Recorder/RTSPRecorder.h
T

43 lines
1.3 KiB
C++

#ifndef RECORDER_RTSPRECORDER_H
#define RECORDER_RTSPRECORDER_H
#include "Recorder.h"
#include "Settings.h"
#include <filesystem/path.h>
namespace Http {
class HttpClient;
} // namespace Http
namespace CameraRecorder {
namespace Recorder {
class RTSPRecorder : public virtual Recorder
{
public:
RTSPRecorder(Http::HttpClient* pHttpClient, const Settings& settings);
~RTSPRecorder();
virtual std::string Snapshot(ctpl::thread_pool* pThreadPool, const std::string& ffmpeg) override;
virtual std::string MultiSnapshot(ctpl::thread_pool* pThreadPool, const std::string& ffmpeg, int numberOfImages) override;
virtual std::string Video(ctpl::thread_pool* pThreadPool, const std::string& ffmpeg) override;
private:
static std::string GetFolderName(const Settings& settings);
static std::string GetFileName(const Settings& settings, const std::string& extension, const std::string& dateTimeString, int imageIndex);
static void Snapshots(const std::string& ffmpeg, const Settings& settings, std::string dateTimeString, int numberOfImages);
static void Snapshot(const std::string& ffmpeg, const Settings& settings, const filesystem::path& fileName);
private:
Http::HttpClient* m_pHttpClient;
Settings m_settings;
};
} // namespace Recorder
} // namespace CameraRecorder
#endif // RECORDER_RTSPRECORDER_H