Commit Graph

61 Commits (master)

Author SHA1 Message Date
jp9000 48819def6d UI: Omit stream codecs the service doesn't support
This change makes it so that if you select a service, it will check to
see what codecs that service supports, and only list encoders of those
codecs.

If the service doesn't support a codec and you currently have an
unsupported codec selected in output settings, then it'll prompt you
with a dialog telling the user it will switch to a supported codec, and
if they click yes, then it'll change the codec for the user. If they
click no, then it'll switch back to the previously selected service.
2022-07-26 09:23:35 -07:00
tytan652 fc7af80f84 UI: Hide network features if a non-RTMP service is set
Reimplementation of bc80d0c and f2e6122, because they have to be
reverted by 0b9a8aa.
2022-07-23 16:29:10 -07:00
jp9000 0b9a8aa1fd Revert service json lookup refactor in UI
Certain services have custom server lits handling which I had forgotten
about, so although it would have been nice to have this refactor, we'll
have to live with relying on the plugin properties object directly for a
while.

This also reverts obsproject/obs-studio#6530 and
obsproject/obs-studio#6683 because that change depended on this
problematic refactor code.

This reverts commits:
f2e6122881,
bc80d0ca95,
050a29da1a,
22ffc04f73,
275e510aad,
2fa5ffe4df.
2022-07-18 14:52:26 -07:00
tytan652 bc80d0ca95 UI: Hide network features if a non-RTMP service is set
Only rtmp_output has those features implemented.
2022-06-25 17:11:29 -07:00
jp9000 22ffc04f73 UI: Refactor duplicated streaming page code
Moves duplicated streaming service code to its own class to make this
particular code slightly less insufferable to modify (but only slightly)
2022-04-18 12:27:29 -07:00
jp9000 2fa5ffe4df UI: Just use json directly for service lookups
This commit accomplishes three different things:

- Makes it much less difficult to communicate service settings
  between the UI and the plugin.

- Refactors some code and makes it cleaner and easier to modify to our
  needs (although there is still a lot of work to do on that front
  because of heavy code duplication issues between auto-config and the
  stream settings pane).

- Significantly reatly reduces the number of times the json file has to
  be opened and parsed.

This also kind of denotes a bit of a failure on the plugin communication
aspect. The properties system is too limited and jank for a lot of
things we would like to do at times.
2022-04-14 02:10:49 -07:00
VodBox 3d544653e8 UI: Cleanup libobs C++ type use 2021-11-26 23:23:51 +13:00
Matt Gajownik a150fe7573 UI: Remove unused/nonexistent signal/slot connections 2021-11-26 17:28:34 +11:00
derrod 7d6b61ad8c UI: Fix Twitch bandwidth test checkbox 2021-10-02 05:42:59 +02:00
Ryan Foster 10810d9730 UI: Prevent Restream OAuth disconnection
Fix the service check for services where its name in the UI does not
match its Auth::Def service string.

In Restream's case, the service name in the UI and rtmp-services is
"Restream.io" while the service name in its Auth::Def is "Restream".
This mismatch causes the `service_check` bool to be false, whereas the
previous condition (`!!main->auth && service.find(main->auth->service())
!= std::string::npos`) would have evaluated to true.

This was broken in commit e6f1daab8c.

Fixes GitHub Issue 5290.
2021-09-22 22:56:41 +02:00
derrod ca3f244584 UI: Rework YouTube broadcast setup flow 2021-09-12 13:45:51 +02:00
derrod d5f3ddabd1 UI: Restore auth reset when switching services
Fixes #5236
2021-09-04 01:58:38 -07:00
jp9000 a6fdc47535 UI: Cache YouTube channel name
This prevents having to look up the YouTube channel every time the
settings window is opened.

Closes obsproject/obs-studio#5154
2021-08-24 18:44:34 -07:00
jp9000 fbbe193c59 UI: Add required links when using YouTube
These links are required by Google to be shown on any API client when
using Google/YouTube API.
2021-08-20 06:24:00 -07:00
derrod 9b57490e2c UI: Show error if Google account has no channels 2021-08-17 18:35:55 +02:00
Ryan Foster e13e46839f UI: Query rtmp-services for stream key link URLs
Using the newly added stream key links in services.json from
rtmp-services, we can fetch the URLs from that source instead of
hardcoding them here. This allows us to remove service-specific code
from UI code and allows out-of-band updates to these URLs.
2021-08-16 09:48:14 -07:00
Richard Stanway 7217671eb0 UI: Trim custom server string
Spaces in the URL can cause issues as ffmpeg-mux is unable to figure
out the protocol. Fixes #5100.
2021-08-12 23:41:14 +02:00
Yuriy Chumak e6f1daab8c UI: Add YouTube integration 2021-08-07 01:07:04 -07:00
Yuriy Chumak 0654675f32 UI: Add support for external browser OAuth
(Jim note: Adds abstraction to the OAuth class to allow the ability to
perform OAuth via external browser, and adds an AuthListener to act as
the local auth server.)
2021-07-24 15:50:59 -07:00
Bruce Zhang 7baf08e917 rtmp-services: add bilibili live 2021-07-08 09:44:28 -07:00
jp9000 8ecf634ba7 Revert "rtmp-services: Add Odysee.com"
This reverts commit e876ad6596.
2021-05-09 00:55:16 -07:00
Developer 4e4c460829 rtmp-service: Rename "stream key" for dacast
(Additional note by Jim: Apparently, dacast doesn't use "stream key" for
whatever reason on its website, so this commit apparently changes the
text "Stream Key" to "Encoder Key" or whatever for whatever reason I'll
never know. I guess we need arbitrary names for things these days
because services can't get their names in order or something. Whatever.
I'm seriously tired of dealing with this sort of stuff. Seriously, this
is just dumb. This is dumb, and I wish I wasn't merging it, but at this
point, I'm like, whatever. I don't care. I've stopped caring. Why should
I care anymore? I'm losing it. I am absolutely losing it.)
2021-05-08 19:16:13 -07:00
iamflorencejay e876ad6596 rtmp-services: Add Odysee.com 2021-05-08 15:31:43 -07:00
geekenmd 200c154238 rtmp-services: Add Brime Live service
rtmp-services: Add Brime Live service
2021-05-08 15:14:19 -07:00
VodBox b5596cbf61 rtmp-services: Update Twitter.com 2021-04-20 13:47:27 +12:00
Joe Flateau e9b80235b4 rtmp-services: Add Luzento.com 2021-04-20 13:34:05 +12:00
jp9000 81a89e689f UI: Fix output resolution not properly changing
Fixes a bug where the output resolution wouldn't change when using a
service that uses the "supported resolutions" limitation. When switching
to a non-editable combo box, the signal used to detect whether the combo
box has had its value changed wouldn't work anymore because it was the
signal explicitly used for editable combos. So, to fix, just reapply the
normal combo box signal to detect when the value has been changed.

Fixes obsproject/obs-studio#4124
2021-02-17 03:31:06 -08:00
poccariswet 77e4a09f62 rtmp-services: Add OPENREC.tv service 2021-02-08 22:36:36 -08:00
clone1018 64164a1523 rtmp-services: Add Glimesh service 2021-01-12 16:43:41 -08:00
jp9000 7a17f47d8a UI: Allow enabling vod track on custom via ini 2020-12-03 01:31:32 -08:00
jp9000 fc6d53763a UI: Add Twitch VOD track to simple output mode
Allows the ability to use the separated Twitch VOD track with simple
output mode in addition to advanced output mode.
2020-11-14 08:05:52 -08:00
jp9000 3805a11955 UI: Show service max resolution/framerate values to user
If a service has a maximum resolution and/or maximum framerate, shows
that to the user in the stream section of settings where the maximum
video/audio bitrate are shown.
2020-11-13 18:24:00 -08:00
jp9000 592cdfb039 UI: Add service res/fps limitation support to settings
Allows services to limit and enforce resolution and framerate values the
user can select in the UI if "ignore service recommendations" is not
checked. If the "ignore service recommendations" option is not checked,
the user will not be able to select or use a resolution and/or framerate
in the user interface that the service does not support. If "ignore
service recommendations" is checked, it will work as it normally would,
allowing any value to be used as per normal.

Fortunately, and hopefully for the foreseeable future, there is only one
service that enforces resolutions and framerates.
2020-11-13 18:23:24 -08:00
jp9000 ade054eeaa UI: Fix compiler-specific error
Return value between ternary options are ambiguous on GCC/clang
2020-11-11 10:19:06 -08:00
jp9000 546dcc7a14 UI: Move "enforce" setting to "ignore" stream section
Moves the "Enforce streaming service bitrate" option from simple output
mode to the stream section, renames it to "Ignore streaming service
setting recommendations" (inverting it). When trying to check it, it
will now also display a message box warning the user that it's generally
a not-so-good idea.

Also displays recommended settings for the service.
2020-11-11 09:48:39 -08:00
jp9000 005863a346 UI: Refactor to make it easier to get service object
Refactors a bit of code to make it easier to get the current stream
service object in the settings
2020-11-11 09:48:10 -08:00
jp9000 6b81c106d8 UI: Add VOD track support in advanced output
Adds a VOD track option (specific to Twitch) that allows a user to
specify which audio track to use for their Twitch VODs, which uses a
separate encoder to encode the track. This allows users the ability to
choose what audio goes on their VOD, separately from the live stream.
2020-11-04 00:15:25 -08:00
craftwar 7331a43aee UI: Update Twitch Get Stream Key link 2020-10-16 05:12:16 -07:00
Maya Venkatraman 336c1994ad UI: Find YouTube via starting string, not full match
Allows the ability to get the stream key for YouTube regardless of
whether using the normal RTMP or HLS versions of YouTube.
2020-10-13 13:29:17 -07:00
Maya Venkatraman 41f4a0b0b9 UI: Add support for "More Info" link from service
(Jim) Allows the ability to get a link from the service's settings about
a specific service selection the user chooses and display it as a "More
Info" button that the user can click to find out more information about
that particular service.
2020-10-13 13:29:17 -07:00
Richard Stanway 023733595c UI: Unset bandwidth test on non-Twitch service / disconnect
For additional safety, uncheck the bandwidth test checkbox so that the
setting isn't persisted in an enabled state when disconnecting or
switching a service. Also just straight up disable if not authed to
Twitch when saving settings.
2020-09-09 01:31:48 +02:00
JohannMG 7f8f3ff3f9 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.
2020-08-14 17:18:18 -07:00
jp9000 22ebba0454 UI: Use case-insensitive sort for "show all" services 2020-07-30 21:19:24 -07:00
derrod db37cc34d5 UI: Remove Mixer integration 2020-07-22 07:47:07 +02:00
JohannMG 5020f61589 UI: Update Facebook get stream key URL
Old URL is being phased out for the cleaner interface. Changed in both
the settings pane and the wizard.
2020-07-08 17:42:57 -07:00
tlivegaming a3ca72fd3e UI: Enable Get Stream Key Button for Trovo service
Closes obsproject/obs-studio#3005
2020-06-21 05:26:09 -07:00
Matt Gajownik a8b8356455 UI: Add setting for Mixer add-on choice
MixrElixr Emotes is the emote-specific portion of
MixrElixr, a popular extension for Mixer chat.

Disabled by default.
2020-03-19 21:04:11 +11:00
Richard Stanway 81a20171b1 UI: Update stream key link for YouStreamer 2020-03-13 18:34:43 +01:00
JohannMG 5c71c4a465 UI: Upgrade stream key link to button in Wizard
Follow up to #2145: https://github.com/obsproject/obs-studio/pull/2145
The wizard has a stream link URL as well, adding the button in the
wizard to match. Additionally, fixing a few  errors in the UI layout
and spacing where items were not padded.
2020-01-07 12:47:20 -08:00
jp9000 ccb7d897c6 UI: Delete cookies before connecting account
Fixes an issue where when trying to connect a Twitch account, and the
Twitch two-factor authentication check fails, the user will still
technically be logged in because the cookies will still be present, thus
when they try to click the "Connect" button again, it will skip the
login part (because they're already technically logged in), and just
give them the two-factor failure message without letting them enter in
their login information again.
2019-12-05 00:52:39 -08:00