UI: Add YouTube broadcast language selection combobox#13185
UI: Add YouTube broadcast language selection combobox#13185cloud2519 wants to merge 1 commit intoobsproject:masterfrom
Conversation
|
Please properly fill out the PR template instead of replacing it. |
|
I have updated the PR description with the properly filled-out template and adjusted the PR title to follow the commit guidelines. |
|
You can set the default language for your videos/livestreams on YouTube under the |
Hi there, Thank you for your feedback. To clarify, the "Upload Defaults" menu in YouTube Studio settings only dictates the default language for manual uploads. The issue I am addressing specifically concerns the OBS YouTube Live Dashboard (via Google OAuth). Currently, OBS supports two ways to start a stream: Stream Key Method: The user manually sets the title, privacy, and language in the YouTube Live Control Room before copying the key to OBS. This works fine because the settings are handled on the YouTube side first. Google OAuth Method: The user connects their account directly in OBS (File -> Settings -> Stream -> Connect Account). When clicking "Manage Broadcast," a popup appears to set the title, category, and latency. The Problem: I have been dealing with this issue for years and have been in extensive communication with Google. I even provided them with a reproduction scenario, which you can see in this video: https://www.youtube.com/watch?v=6eHL_Qul8zY In the video, I demonstrate three test cases: Case 1: Starting a stream via OAuth — Language defaults to English (Incorrect). Case 2: Starting a stream via Stream Key — Language is correctly applied as set in the dashboard. Case 3: Reverting to OAuth — Language defaults back to English (Incorrect). Google’s official stance is that if I want to use external software (like OBS), that software must explicitly call the API with the desired parameters. They have declined to change the API's server-side default behavior, suggesting it is the responsibility of the client application. The Solution: This change would greatly benefit the global community by allowing users to stream in their native language seamlessly while using the convenience of Google OAuth. I kindly ask you to review this PR once more. Thank you for your time and consideration. Best regards, |
|
Hi @Warchamp7 |
Warchamp7
left a comment
There was a problem hiding this comment.
My mistake, I was looking at the liveBroadcast API which doesn't have any mention of language settings. I see now that this is something set via the videos API endpoints.
We should add this as a new comboBox underneath Category rather than a checkbox.
Use the i18nLanguages API to get a list of languages YouTube supports for the request.
The dropdown by default can be set to the language that OBS is set to, only if it exists in the list. Otherwise default to English.
|
Hi @Warchamp7 |
|
Please squash the commits, use the correct commit prefix, and do not include merge commits. |
- Replaced the boolean 'Send Language' checkbox with a dynamic 'Language' combobox populated via YouTube's i18nLanguages API. - Automatically sets the default language based on the OBS interface locale (falling back to 'en' if unsupported). - Fixed XML formatting artifacts and QFormLayout layout overlapping issues. - Translated inline Korean comments to English per project guidelines.
I have squashed the commits into a single commit and updated the prefix to UI: as requested. Thank you for the guidance. |
Description
This PR introduces a feature to automatically transmit the broadcast language to the YouTube API when creating a broadcast via the YouTube account integration in OBS Studio.
Changes:
checkSendLanguagecheckbox in the YouTube broadcast creation dialog.QLocale.videos.updateAPI call to include bothsnippet.defaultLanguageandsnippet.defaultAudioLanguage.Motivation and Context
When using the YouTube account integration to start a broadcast, OBS Studio currently does not send any language metadata. Consequently, YouTube defaults the broadcast language to English. This is problematic for non-English streamers because YouTube's automatic live captioning system often fails or defaults to English, requiring manual intervention for every stream. This PR ensures that accessibility features like auto-captions work correctly from the start.
How Has This Been Tested?
CMakePresets.json.Types of changes
Checklist: