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