mirror of
https://github.com/obsproject/obs-studio.git
synced 2026-02-02 10:32:07 -05:00
64 lines
1.9 KiB
C++
64 lines
1.9 KiB
C++
#pragma once
|
|
|
|
#include "BasicOutputHandler.hpp"
|
|
|
|
struct SimpleOutput : BasicOutputHandler {
|
|
OBSEncoder audioStreaming;
|
|
OBSEncoder videoStreaming;
|
|
OBSEncoder audioRecording;
|
|
OBSEncoder audioArchive;
|
|
OBSEncoder videoRecording;
|
|
OBSEncoder audioTrack[MAX_AUDIO_MIXES];
|
|
|
|
std::string videoEncoder;
|
|
std::string videoQuality;
|
|
bool usingRecordingPreset = false;
|
|
bool recordingConfigured = false;
|
|
bool ffmpegOutput = false;
|
|
bool lowCPUx264 = false;
|
|
|
|
SimpleOutput(OBSBasic *main_);
|
|
|
|
int CalcCRF(int crf);
|
|
|
|
void UpdateRecordingSettings_x264_crf(int crf);
|
|
void UpdateRecordingSettings_qsv11(int crf, bool av1);
|
|
void UpdateRecordingSettings_nvenc(int cqp);
|
|
void UpdateRecordingSettings_nvenc_hevc_av1(int cqp);
|
|
void UpdateRecordingSettings_amd_cqp(int cqp);
|
|
void UpdateRecordingSettings_apple(int quality);
|
|
#ifdef ENABLE_HEVC
|
|
void UpdateRecordingSettings_apple_hevc(int quality);
|
|
#endif
|
|
void UpdateRecordingSettings();
|
|
void UpdateRecordingAudioSettings();
|
|
virtual void Update() override;
|
|
|
|
void SetupOutputs() override;
|
|
int GetAudioBitrate() const;
|
|
|
|
void LoadRecordingPreset_Lossy(const char *encoder);
|
|
void LoadRecordingPreset_Lossless();
|
|
void LoadRecordingPreset();
|
|
|
|
void LoadStreamingPreset_Lossy(const char *encoder);
|
|
|
|
void UpdateRecording();
|
|
bool ConfigureRecording(bool useReplayBuffer);
|
|
|
|
bool IsVodTrackEnabled(obs_service_t *service);
|
|
void SetupVodTrack(obs_service_t *service);
|
|
|
|
virtual std::shared_future<void> SetupStreaming(obs_service_t *service,
|
|
SetupStreamingContinuation_t continuation) override;
|
|
virtual bool StartStreaming(obs_service_t *service) override;
|
|
virtual bool StartRecording() override;
|
|
virtual bool StartReplayBuffer() override;
|
|
virtual void StopStreaming(bool force) override;
|
|
virtual void StopRecording(bool force) override;
|
|
virtual void StopReplayBuffer(bool force) override;
|
|
virtual bool StreamingActive() const override;
|
|
virtual bool RecordingActive() const override;
|
|
virtual bool ReplayBufferActive() const override;
|
|
};
|