Class VideoEncoder#

Nested Relationships#

Nested Types#

Inheritance Relationships#

Base Type#

  • public QThread

Class Documentation#

class VideoEncoder : public QThread#

Public Functions

explicit VideoEncoder(const Config &cfg, RingBuffer<std::shared_ptr<VideoFrame>> &frameBuffer, QObject *parent = nullptr)#
~VideoEncoder() override#
void start_encoding()#
void stop_encoding()#
int64_t frames_encoded() const#
int64_t frames_dropped() const#

Signals

void encoding_started(int cameraIndex)#
void encoding_stopped(int cameraIndex, int64_t totalFrames)#
void encoding_error(int cameraIndex, QString message)#

Protected Functions

void run() override#
struct Config#

Public Members

int cameraIndex = 0#
QString outputPath#
QString timestampPath#
QString codec = "h264_nvenc"#
QString preset = "p4"#
int bitrate = 5000#
int crf = 23#
int width = 1920#
int height = 1080#
double fps = 30.0#