Added an option to disable preview encoding
This commit is contained in:
parent
2bcceb69fb
commit
b3c30f9c3e
50
OBS.rc
50
OBS.rc
@ -353,39 +353,41 @@ IDD_SETTINGS_ADVANCED DIALOGEX 0, 0, 427, 336
|
||||
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_SYSMENU
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
GROUPBOX "Settings.General",IDC_STATIC,4,2,413,60
|
||||
GROUPBOX "Settings.General",IDC_STATIC,4,2,413,75
|
||||
CONTROL "Settings.Advanced.UseMultithreadedOptimizations",IDC_USEMULTITHREADEDOPTIMIZATIONS,
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,15,173,10
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,15,300,10
|
||||
RTEXT "Settings.Advanced.ProcessPriority",IDC_STATIC,7,29,168,8
|
||||
COMBOBOX IDC_PRIORITY,177,27,150,30,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
RTEXT "Settings.Advanced.SceneBufferTime",IDC_STATIC,7,47,168,8
|
||||
EDITTEXT IDC_SCENEBUFFERTIME_EDIT,177,44,40,14,ES_AUTOHSCROLL | ES_NUMBER
|
||||
CONTROL "",IDC_SCENEBUFFERTIME,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,218,44,10,14
|
||||
GROUPBOX "Settings.Video",IDC_STATIC,4,67,413,98
|
||||
RTEXT "Settings.Advanced.VideoEncoderCPUTradeoff",IDC_STATIC,5,79,168,8
|
||||
COMBOBOX IDC_PRESET,177,77,82,62,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
CONTROL "Settings.Advanced.UseCFR",IDC_USECFR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,93,292,10
|
||||
CONTROL "Settings.Advanced.DisablePreviewEncoding",IDC_DISABLEPREVIEWENCODING,
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,21,62,318,10
|
||||
GROUPBOX "Settings.Video",IDC_STATIC,4,81,413,98
|
||||
RTEXT "Settings.Advanced.VideoEncoderCPUTradeoff",IDC_STATIC,5,93,168,8
|
||||
COMBOBOX IDC_PRESET,177,91,82,62,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
CONTROL "Settings.Advanced.UseCFR",IDC_USECFR,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,107,292,10
|
||||
CONTROL "Settings.Advanced.VideoEncoderSettings",IDC_USEVIDEOENCODERSETTINGS,
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,106,260,10
|
||||
EDITTEXT IDC_VIDEOENCODERSETTINGS,33,119,373,14,ES_AUTOHSCROLL
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,120,260,10
|
||||
EDITTEXT IDC_VIDEOENCODERSETTINGS,33,133,373,14,ES_AUTOHSCROLL
|
||||
CONTROL "Settings.Advanced.UnlockHigherFPS",IDC_UNLOCKHIGHFPS,
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,138,217,10
|
||||
GROUPBOX "Settings.Audio",IDC_STATIC,4,167,413,57
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,152,217,10
|
||||
GROUPBOX "Settings.Audio",IDC_STATIC,4,181,413,57
|
||||
CONTROL "Settings.Advanced.SyncToVideoTime",IDC_SYNCTOVIDEOTIME,
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,179,390,10
|
||||
LTEXT "Settings.Advanced.GlobalAudioTimeAdjust",IDC_STATIC,5,194,168,8,0,WS_EX_RIGHT
|
||||
EDITTEXT IDC_AUDIOTIMEADJUST_EDIT,176,191,40,14,ES_AUTOHSCROLL
|
||||
CONTROL "",IDC_AUDIOTIMEADJUST,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,216,191,10,14
|
||||
CONTROL "Settings.Audio.UseMicQPC",IDC_USEMICQPC,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,208,332,10
|
||||
GROUPBOX "Settings.Advanced.Network",IDC_STATIC,7,228,413,60
|
||||
RTEXT "Settings.Advanced.BindToIP",IDC_STATIC,4,241,168,8
|
||||
COMBOBOX IDC_BINDIP,177,239,150,62,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,193,390,10
|
||||
LTEXT "Settings.Advanced.GlobalAudioTimeAdjust",IDC_STATIC,5,208,168,8,0,WS_EX_RIGHT
|
||||
EDITTEXT IDC_AUDIOTIMEADJUST_EDIT,176,205,40,14,ES_AUTOHSCROLL
|
||||
CONTROL "",IDC_AUDIOTIMEADJUST,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS,216,205,10,14
|
||||
CONTROL "Settings.Audio.UseMicQPC",IDC_USEMICQPC,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,222,332,10
|
||||
GROUPBOX "Settings.Advanced.Network",IDC_STATIC,7,242,413,60
|
||||
RTEXT "Settings.Advanced.BindToIP",IDC_STATIC,4,255,168,8
|
||||
COMBOBOX IDC_BINDIP,177,253,150,62,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
CONTROL "Settings.Advanced.AutomaticLatency",IDC_LATENCYMETHOD,
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,256,169,10,WS_EX_RIGHT
|
||||
RTEXT "Settings.Advanced.LatencyTuning",IDC_STATIC,5,271,168,8
|
||||
EDITTEXT IDC_LATENCYTUNE,178,268,40,14,ES_AUTOHSCROLL | ES_NUMBER
|
||||
LTEXT "Settings.Info",IDC_INFO,7,293,418,24,NOT WS_VISIBLE
|
||||
CONTROL "Settings.Advanced.UseQSV",IDC_USEQSV,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,151,217,10
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,270,169,10,WS_EX_RIGHT
|
||||
RTEXT "Settings.Advanced.LatencyTuning",IDC_STATIC,5,285,168,8
|
||||
EDITTEXT IDC_LATENCYTUNE,178,282,40,14,ES_AUTOHSCROLL | ES_NUMBER
|
||||
LTEXT "Settings.Info",IDC_INFO,7,304,418,24,NOT WS_VISIBLE
|
||||
CONTROL "Settings.Advanced.UseQSV",IDC_USEQSV,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,165,217,10
|
||||
END
|
||||
|
||||
IDD_CONFIGURETRANSITIONSOURCE DIALOGEX 0, 0, 338, 216
|
||||
@ -705,7 +707,7 @@ BEGIN
|
||||
RIGHTMARGIN, 420
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 328
|
||||
HORZGUIDE, 67
|
||||
HORZGUIDE, 7
|
||||
END
|
||||
|
||||
IDD_CONFIGURETRANSITIONSOURCE, DIALOG
|
||||
|
@ -23,7 +23,7 @@
|
||||
class NullVideoEncoder : public VideoEncoder
|
||||
{
|
||||
public:
|
||||
virtual bool Encode(LPVOID picIn, List<DataPacket> &packets, List<PacketType> &packetTypes, DWORD timestamp, int &ctsOffset) {return true;}
|
||||
virtual bool Encode(LPVOID picIn, List<DataPacket> &packets, List<PacketType> &packetTypes, DWORD timestamp, int &ctsOffset) {return false;}
|
||||
virtual void GetHeaders(DataPacket &packet) {}
|
||||
virtual int GetBitRate() const {return 0;}
|
||||
virtual String GetInfoString() const {return String();}
|
||||
@ -35,7 +35,7 @@ public:
|
||||
class NullAudioEncoder : public AudioEncoder
|
||||
{
|
||||
public:
|
||||
virtual bool Encode(float *input, UINT numInputFrames, DataPacket &packet, QWORD ×tamp) {return true;}
|
||||
virtual bool Encode(float *input, UINT numInputFrames, DataPacket &packet, QWORD ×tamp) {return false;}
|
||||
virtual void GetHeaders(DataPacket &packet) {}
|
||||
virtual UINT GetFrameSize() const {return 0;}
|
||||
virtual int GetBitRate() const {return 0;}
|
||||
|
@ -304,11 +304,21 @@ void OBS::Start()
|
||||
|
||||
//-------------------------------------------------------------
|
||||
|
||||
bool bDisableEncoding = false;
|
||||
|
||||
if (bTestStream)
|
||||
bDisableEncoding = GlobalConfig->GetInt(TEXT("General"), TEXT("DisablePreviewEncoding"), false) != 0;
|
||||
|
||||
//-------------------------------------------------------------
|
||||
|
||||
UINT bitRate = (UINT)AppConfig->GetInt(TEXT("Audio Encoding"), TEXT("Bitrate"), 96);
|
||||
String strEncoder = AppConfig->GetString(TEXT("Audio Encoding"), TEXT("Codec"), TEXT("AAC"));
|
||||
|
||||
if (bDisableEncoding)
|
||||
audioEncoder = CreateNullAudioEncoder();
|
||||
else
|
||||
#ifdef USE_AAC
|
||||
if(strEncoder.CompareI(TEXT("AAC")) && OSGetVersion() >= 7)
|
||||
if(strEncoder.CompareI(TEXT("AAC")))// && OSGetVersion() >= 7)
|
||||
audioEncoder = CreateAACEncoder(bitRate);
|
||||
else
|
||||
#endif
|
||||
@ -440,8 +450,11 @@ void OBS::Start()
|
||||
|
||||
ctsOffset = 0;
|
||||
videoEncoder = nullptr;
|
||||
if(AppConfig->GetInt(TEXT("Video Encoding"), TEXT("UseQSV")) != 0)
|
||||
if (bDisableEncoding)
|
||||
videoEncoder = CreateNullVideoEncoder();
|
||||
else if(GlobalConfig->GetInt(TEXT("Video Encoding"), TEXT("UseQSV")) != 0)
|
||||
videoEncoder = CreateQSVEncoder(fps, outputCX, outputCY, quality, preset, bUsing444, maxBitRate, bufferSize, bUseCFR, bDupeFrames);
|
||||
|
||||
if(!videoEncoder)
|
||||
videoEncoder = CreateX264Encoder(fps, outputCX, outputCY, quality, preset, bUsing444, maxBitRate, bufferSize, bUseCFR, bDupeFrames);
|
||||
|
||||
|
@ -291,7 +291,7 @@ void OBS::MainCaptureLoop()
|
||||
|
||||
int curOutBuffer = 0;
|
||||
|
||||
bool bUsingQSV = videoEncoder->isQSV();//AppConfig->GetInt(TEXT("Video Encoding"), TEXT("UseQSV")) != 0;
|
||||
bool bUsingQSV = videoEncoder->isQSV();//GlobalConfig->GetInt(TEXT("Video Encoding"), TEXT("UseQSV")) != 0;
|
||||
if(bUsingQSV)
|
||||
bUsing444 = false;
|
||||
|
||||
|
@ -79,6 +79,11 @@ void SettingsAdvanced::ApplySettings()
|
||||
|
||||
//--------------------------------------------------
|
||||
|
||||
bool bDisablePreviewEncoding = SendMessage(GetDlgItem(hwnd, IDC_DISABLEPREVIEWENCODING), BM_GETCHECK, 0, 0) == BST_CHECKED;
|
||||
GlobalConfig->SetInt(TEXT("General"), TEXT("DisablePreviewEncoding"), bDisablePreviewEncoding);
|
||||
|
||||
//--------------------------------------------------
|
||||
|
||||
bool bUseCFR = SendMessage(GetDlgItem(hwnd, IDC_USECFR), BM_GETCHECK, 0, 0) == BST_CHECKED;
|
||||
AppConfig->SetInt (TEXT("Video Encoding"), TEXT("UseCFR"), bUseCFR);
|
||||
|
||||
@ -98,7 +103,7 @@ void SettingsAdvanced::ApplySettings()
|
||||
//------------------------------------
|
||||
|
||||
BOOL bUseQSV = SendMessage(GetDlgItem(hwnd, IDC_USEQSV), BM_GETCHECK, 0, 0) == BST_CHECKED;
|
||||
AppConfig->SetInt (TEXT("Video Encoding"), TEXT("UseQSV"), bUseQSV);
|
||||
GlobalConfig->SetInt(TEXT("Video Encoding"), TEXT("UseQSV"), bUseQSV);
|
||||
|
||||
//------------------------------------
|
||||
|
||||
@ -210,6 +215,11 @@ INT_PTR SettingsAdvanced::ProcMessage(UINT message, WPARAM wParam, LPARAM lParam
|
||||
else //Normal
|
||||
SendMessage(hwndTemp, CB_SETCURSEL, 2, 0);
|
||||
|
||||
//------------------------------------
|
||||
|
||||
bool bDisablePreviewEncoding = GlobalConfig->GetInt(TEXT("General"), TEXT("DisablePreviewEncoding"), false) != 0;
|
||||
SendMessage(GetDlgItem(hwnd, IDC_DISABLEPREVIEWENCODING), BM_SETCHECK, bDisablePreviewEncoding ? BST_CHECKED : BST_UNCHECKED, 0);
|
||||
|
||||
//--------------------------------------------
|
||||
|
||||
hwndTemp = GetDlgItem(hwnd, IDC_PRESET);
|
||||
@ -252,7 +262,7 @@ INT_PTR SettingsAdvanced::ProcMessage(UINT message, WPARAM wParam, LPARAM lParam
|
||||
|
||||
//------------------------------------
|
||||
|
||||
bool bUseQSV = AppConfig->GetInt(TEXT("Video Encoding"), TEXT("UseQSV")) != 0;
|
||||
bool bUseQSV = GlobalConfig->GetInt(TEXT("Video Encoding"), TEXT("UseQSV")) != 0;
|
||||
SendMessage(GetDlgItem(hwnd, IDC_USEQSV), BM_SETCHECK, bUseQSV ? BST_CHECKED : BST_UNCHECKED, 0);
|
||||
|
||||
//------------------------------------
|
||||
@ -412,6 +422,7 @@ INT_PTR SettingsAdvanced::ProcMessage(UINT message, WPARAM wParam, LPARAM lParam
|
||||
}
|
||||
break;
|
||||
|
||||
case IDC_DISABLEPREVIEWENCODING:
|
||||
case IDC_USEMICQPC:
|
||||
case IDC_SYNCTOVIDEOTIME:
|
||||
case IDC_USECFR:
|
||||
|
@ -163,7 +163,7 @@ INT_PTR SettingsEncoding::ProcMessage(UINT message, WPARAM wParam, LPARAM lParam
|
||||
|
||||
SendMessage(hwndTemp, CB_ADDSTRING, 0, (LPARAM)TEXT("MP3"));
|
||||
#ifdef USE_AAC
|
||||
if(OSGetVersion() >= 7)
|
||||
if(1)//OSGetVersion() >= 7)
|
||||
{
|
||||
SendMessage(hwndTemp, CB_ADDSTRING, 0, (LPARAM)TEXT("AAC"));
|
||||
LoadSettingComboString(hwndTemp, TEXT("Audio Encoding"), TEXT("Codec"), TEXT("AAC"));
|
||||
|
@ -206,6 +206,8 @@
|
||||
#define IDC_TIMER1 1100
|
||||
#define IDC_CAPTURERAM 1100
|
||||
#define IDC_COMPATIBILITYMODE 1100
|
||||
#define IDC_USEMULTITHREADEDOPTIMIZATIONS2 1100
|
||||
#define IDC_DISABLEPREVIEWENCODING 1100
|
||||
#define IDC_PROGRESS1 1101
|
||||
#define IDC_DASHBOARDLINK_STATIC 1102
|
||||
#define IDC_DASHBOARDLINK 1103
|
||||
|
@ -120,6 +120,7 @@ Settings.Video "Video"
|
||||
|
||||
Settings.Advanced.AutomaticLatency "Automatic low latency mode:"
|
||||
Settings.Advanced.BindToIP "Bind To Interface:"
|
||||
Settings.Advanced.DisablePreviewEncoding "Disable encoding while previewing"
|
||||
Settings.Advanced.GlobalAudioTimeAdjust "Global Audio Time Offset (milliseconds):"
|
||||
Settings.Advanced.LatencyTuning "Latency tuning factor:"
|
||||
Settings.Advanced.Network "Network"
|
||||
|
Loading…
x
Reference in New Issue
Block a user