UI:Show "Get Stream Key" to users of Facebook CDN

Facebook provides CDN endpoints for users to optimize their bandwidth or
latency using the speed test on facebook.com/live/ingests/. In this case
streamers use a custom server endpoint that looks like
"rtmps://edgetee-upload-fml.xx.fbcdn.net:443/rtmp/".

This diff adds detection to users using the custom field for CDN
endpoints so we can show the stream key link button.
master
JohannMG 2020-08-14 17:18:18 -07:00
parent c9001d0f98
commit 7f8f3ff3f9
2 changed files with 14 additions and 12 deletions

View File

@ -273,6 +273,10 @@ AutoConfigStreamPage::AutoConfigStreamPage(QWidget *parent)
SLOT(ServiceChanged()));
connect(ui->customServer, SIGNAL(textChanged(const QString &)), this,
SLOT(ServiceChanged()));
connect(ui->customServer, SIGNAL(textChanged(const QString &)), this,
SLOT(UpdateKeyLink()));
connect(ui->customServer, SIGNAL(editingFinished()), this,
SLOT(UpdateKeyLink()));
connect(ui->doBandwidthTest, SIGNAL(toggled(bool)), this,
SLOT(ServiceChanged()));
@ -573,12 +577,8 @@ void AutoConfigStreamPage::ServiceChanged()
void AutoConfigStreamPage::UpdateKeyLink()
{
if (IsCustomService()) {
ui->doBandwidthTest->setEnabled(true);
return;
}
QString serviceName = ui->service->currentText();
QString customServer = ui->customServer->text();
bool isYoutube = false;
QString streamKeyLink;
@ -591,7 +591,8 @@ void AutoConfigStreamPage::UpdateKeyLink()
} else if (serviceName.startsWith("Restream.io")) {
streamKeyLink =
"https://restream.io/settings/streaming-setup?from=OBS";
} else if (serviceName == "Facebook Live") {
} else if (serviceName == "Facebook Live" ||
(customServer.contains("fbcdn.net") && IsCustomService())) {
streamKeyLink =
"https://www.facebook.com/live/producer?ref=OBS";
} else if (serviceName.startsWith("Twitter")) {

View File

@ -71,6 +71,10 @@ void OBSBasicSettings::InitStreamPage()
SLOT(UpdateServerList()));
connect(ui->service, SIGNAL(currentIndexChanged(int)), this,
SLOT(UpdateKeyLink()));
connect(ui->customServer, SIGNAL(textChanged(const QString &)), this,
SLOT(UpdateKeyLink()));
connect(ui->customServer, SIGNAL(editingFinished(const QString &)),
this, SLOT(UpdateKeyLink()));
}
void OBSBasicSettings::LoadStream1Settings()
@ -208,12 +212,8 @@ void OBSBasicSettings::SaveStream1Settings()
void OBSBasicSettings::UpdateKeyLink()
{
if (IsCustomService()) {
ui->getStreamKeyButton->hide();
return;
}
QString serviceName = ui->service->currentText();
QString customServer = ui->customServer->text();
QString streamKeyLink;
if (serviceName == "Twitch") {
streamKeyLink =
@ -223,7 +223,8 @@ void OBSBasicSettings::UpdateKeyLink()
} else if (serviceName.startsWith("Restream.io")) {
streamKeyLink =
"https://restream.io/settings/streaming-setup?from=OBS";
} else if (serviceName == "Facebook Live") {
} else if (serviceName == "Facebook Live" ||
(customServer.contains("fbcdn.net") && IsCustomService())) {
streamKeyLink =
"https://www.facebook.com/live/producer?ref=OBS";
} else if (serviceName.startsWith("Twitter")) {