Compare commits

..

298 Commits
v1.1.1 ... v2.0

Author SHA1 Message Date
526ceec0db Version 2.0 (#163)
* Update README.md

* Bump version to 2.0

* Bump version to 2.0
2023-11-25 17:17:14 +07:00
d54c3d50c4 Remote Play & Patcher (#162)
* Test remote play

* Add a link to dev-tools page

* Add Remote Play dialog

* Bug fixes

* Fix URL

* Fix header

* Path xHome domain

* Remote Remote Play config from window.location while playing

* Update style of the Remote Play button

* Add dialog overlay

* Hide Settings when opening the Remote Play dialog

* Update styles

* Path /direct-connect link

* Fix bind() monkey-patching

* Stop patching when it's done

* Fix exception with GAME_TITLE_ID

* Add resolution setting

* Add Patcher class

* Stop storing Remote Play config in location.hash

* Apply resolution

* Display state's label

* Fix IPv6

* Update translations

* Move Patcher class to the top

* Add "disableTelemetry" and "disableTrackEvent" patches

* Add Layout setting

* Add setting to adjust controller polling rate

* Add Mouse & Keyboard support

* Add Italian translations
2023-11-25 16:47:11 +07:00
f306cb5eee Bump version to 1.19 2023-11-19 16:22:27 +07:00
c1acb689fe Bump version to 1.19 2023-11-19 16:22:03 +07:00
5837e30afc Update README.md 2023-11-19 16:21:31 +07:00
9b955aabb9 Controller shortcuts (#157)
* Basic code for GamepadHandler

* Take screenshot using Home + RB

* Enable shortcuts using setting

* Only poll gamepad when playing

* Toogle stats using Home + Select

* Add basic Toast class

* Update translations
2023-11-19 16:09:41 +07:00
d73f91ed5f Bump version to 1.18.2 2023-10-27 17:44:29 +07:00
b918fadaab Bump version to 1.18.2 2023-10-27 17:44:03 +07:00
b79775839b Update README.md 2023-10-27 17:37:19 +07:00
d3e0ba9d9f Change "Target Resolution > Auto" to "Default" 2023-10-27 17:26:33 +07:00
e6e8297632 Clear touch controller's style after switching game 2023-10-27 17:20:06 +07:00
e94fb28266 Fix TitlesInfo 2023-10-27 17:00:25 +07:00
11e953c382 Bump version to 1.18.1 2023-10-26 20:06:46 +07:00
4845ea6994 Bump version to 1.18.1 2023-10-26 20:06:27 +07:00
0f0072bcb0 Update README.md 2023-10-26 20:05:57 +07:00
85d156f6b2 Clear Application Insights buffers periodically 2023-10-26 15:43:33 +07:00
8d24494b02 Add French & Japanese translations 2023-10-26 15:28:13 +07:00
9d1bca99aa Clear Analytics Insight buffers no page load 2023-10-26 15:14:35 +07:00
a8cf0896c5 Loading screen: use Image_Tile when Image_Hero is not available 2023-10-26 15:02:32 +07:00
4767df442e Update translations 2023-10-15 17:28:11 +07:00
8314074957 Update README.md 2023-10-15 17:12:57 +07:00
6ffa75a4ec Bump version to 1.18 2023-10-15 17:09:47 +07:00
7813e6f432 Bump version to 1.18 2023-10-15 17:09:32 +07:00
75d9639c01 Hide the "Play with friends" section when social features are disabled 2023-10-15 16:23:51 +07:00
fb80c3662a Add option to disable post-stream feedback dialog 2023-10-15 16:07:59 +07:00
9e1d8866ce Fix minor bugs in StreamMenu 2023-10-15 14:23:08 +07:00
28438c7c9e Add German translation 2023-10-10 09:40:05 +07:00
0cb0901ae2 Add Polish and Spanish translations 2023-10-05 09:27:40 +07:00
9d7c537eaa Update README.md 2023-10-03 16:53:43 +07:00
eccd306d03 Bump version to 1.17.2 2023-10-03 16:51:45 +07:00
e15afd2396 Bump version to 1.17.2 2023-10-03 16:51:25 +07:00
f0dbc72987 Add Korean translation 2023-10-03 16:03:49 +07:00
25bf6c209d Merge branch 'main' of https://github.com/redphx/better-xcloud 2023-10-03 09:55:14 +07:00
f229dbdbe4 Update README.md 2023-10-02 21:46:35 +07:00
e845c902b2 Fix Stats settings dialog being too big on small screens 2023-10-02 17:27:37 +07:00
c424c6f94b Add Chinese (Simplified) translation 2023-09-29 08:21:29 +07:00
1619fb2b26 Bump version to 1.17.1 2023-09-25 20:06:44 +07:00
d72641ba77 Bump version to 1.17.1 2023-09-25 20:06:22 +07:00
7c3f00f277 Update README.md 2023-09-25 20:05:50 +07:00
9bd0ee9097 Fix volume booster feature (#141)
* Trying to fix the audio problem with volume booster

* Add an option to disable volume control feature

* Update translations
2023-09-25 19:55:36 +07:00
a9bb977311 Update TR translation 2023-09-21 07:45:44 +07:00
3e0653fadf Add RU & TR to language list 2023-09-20 07:09:42 +07:00
36f6b04ad9 Add TR translation 2023-09-20 07:08:13 +07:00
60b70e259b Add RU translation 2023-09-20 07:06:12 +07:00
c50e0d6aff Update BR translation 2023-09-20 07:03:40 +07:00
a3fd3c9ebe Update README.md 2023-09-18 09:26:06 +07:00
c47caea65e Bump version to 1.17 2023-09-18 08:12:57 +07:00
6f540cca7a Bump version to 1.17 2023-09-18 08:12:35 +07:00
7a202ba8a7 Disable "Visual quality" setting on unsupported browsers 2023-09-18 08:10:52 +07:00
1f787b7888 Update README.md 2023-09-18 07:56:44 +07:00
0cc96135c9 Support more languages (#134)
* Define CSS variables

* Shorten CSS prefix "better-xcloud-" to "bx-"

* Move Safari's workaround code to the end of the script

* Add setting to change Better xCloud's language

* Support Vietnamese language

* Use the same language as browser

* Minor fixes

* Add Portuguese (Brazilian)

* Update BR translation

* Adjust CSS of Settings' reload button

* Reload the page after changing language

* Fix setting locale on first run

* Replace "Force high-quality codec" option with "Visual quality"

* Add Italian translation

* Update texts

* Deprecate "Prefer high-quality codec" setting

* Show stat's abbr. in slection box

* Reduce border size in stats bar from 2px to 1px

* Remove unused texts

* Remove Italian translation (because it's unfinised) + update Brazillian + Vietnamese translations
2023-09-18 07:43:03 +07:00
ed2fb13e17 Create MouseHoldEvent 2023-09-13 17:40:54 +07:00
b91474c20b Hide Stream Settings dialog when opening Stream Menu 2023-09-13 17:18:50 +07:00
18eec8b8da Update CSS selectors for REDUCE_ANIMATIONS 2023-09-13 17:00:00 +07:00
949a180047 Update README.md 2023-09-13 16:54:29 +07:00
c9a67cf6b7 Create FUNDING.yml 2023-09-13 16:48:12 +07:00
b469ba4867 Update README.md 2023-09-11 14:40:49 +07:00
a0d0d6e1e6 Update README.md 2023-09-10 17:51:42 +07:00
cc466ff2ac Bump version to 1.16 2023-09-10 17:16:11 +07:00
b1bfe96935 Bump version to 1.16 2023-09-10 17:15:47 +07:00
241be49d09 Update README.md 2023-09-10 17:15:23 +07:00
7c48b7e6fb Volume booster (#125)
* Move Video settings box from bottom to the right side

* Rename "Video Settings" to "Stream Settings"

* Volume booster

* Fix volume booster not working

* Typo

* Fix not working in Kiwi

* Show input range

* Update monkey patching method for AudioContext

* Refactor Preferences

* Add tick markers

* Add Audio & Video headers

* Reduce stats bar size

* Show warning when Clarity Boost mode is ON

* Increase max volume to 600

* Try to fix audio problem on iOS/iPadOS

* Pause <audio>

* Fix crashing when enabling touch controller

* Fix touch controller not working

* Fix volume booster not working on iOS/iPadOS
2023-09-10 17:04:23 +07:00
cc9a644a5e Bump version to 1.15.1 2023-09-08 17:24:05 +07:00
a77db68afb Bump version to 1.15.1 2023-09-08 17:23:46 +07:00
cd7a7c92c7 Validate settings when getting its values 2023-09-08 17:16:38 +07:00
651402a6b4 Restore stretch to full screen feature 2023-09-08 17:15:45 +07:00
6cd2648325 Update README.md 2023-09-04 10:40:14 +07:00
fa0d761d24 Bump version to 1.15 2023-09-04 10:37:31 +07:00
f01d7a3b0b Bump version to 1.15 2023-09-04 10:37:12 +07:00
b520e8173e Update README.md 2023-09-04 10:36:43 +07:00
f15f43faf7 Remove "Bitrate" & "Decode Time" stats from default items 2023-09-04 10:31:52 +07:00
e470cb20a3 Replace "Stretch Video" setting with "Video Ratio" (#121)
* Make Game Pass' app version easier to read

* Replace numberPicker with NumberStepper

* Replace "Stretch Video" setting with "Video Ratio"

* Make number stepper's buttons a little bit bigger
2023-09-04 09:11:08 +07:00
d1882046e2 Update README.md 2023-08-29 08:42:04 +07:00
fb7bd2da0d Update README.md 2023-08-28 14:31:13 +07:00
d9a14f9d83 Bump version to 1.14.1 2023-08-27 15:04:41 +07:00
18dd006aad Bump version to 1.14.1 2023-08-27 15:04:25 +07:00
f74de11e10 Fix Clarity Boost mode detection 2023-08-27 15:03:24 +07:00
2a71e17d2d Fix the stats selection box not working on mobile 2023-08-27 14:39:35 +07:00
2a85dd574e Version 1.14 (#116)
* Update README.md

* Update better-xcloud.meta.js

* Bump version to 1.14
2023-08-26 18:21:05 +07:00
9692286f1e Show a warning when the Clarity Boost mode is ON 2023-08-26 18:14:19 +07:00
26498efa7c Fix Settings button not showing when after playing (#112) 2023-08-26 18:02:53 +07:00
d1c724ff2c Improve Stats bar (#115)
* Rename "RTT" to "PNG"

* Show select box to select stats items

* Toggle stats

* Prevent select box from jumping around

* Put Ping before FPS & remove "ms" suffix from Ping
2023-08-26 18:01:31 +07:00
eec41c58b6 Bump version to 1.13.1 2023-08-18 17:44:01 +07:00
38cc78e0da Bump version to 1.13.1 2023-08-18 17:43:43 +07:00
3cf029818e Fix crashing when not skipping splash video 2023-08-18 17:07:43 +07:00
5104cf33b4 Version 1.13 (#105)
* Update README.md

* Bump version to 1.13

* Bump version to 1.13
2023-08-15 18:04:26 +07:00
771111d1f8 Loading screen (#104)
* Show game's art in the loading screen

* Fade in/out game's art

* Enable UI_GAME_ART_LOADING_SCREEN by default

* Check PREF_UI_GAME_ART_LOADING_SCREEN

* Fix touch controller setting

* Show estimated time

* Show countdown time on web title

* Rename PREF_UI_GAME_ART_LOADING_SCREEN to UI_LOADING_SCREEN_GAME_ART

* Add setting to show/hide the wait time

* Add time zone offset to end time

* Store APP_CONTEXT

* Add setting to hide the rocket animation
2023-08-15 17:42:21 +07:00
79e0661977 Update README.md 2023-08-15 06:04:05 +07:00
2dc3097737 Change clarity range from 0-3 (1 per step) to 0-5 (0.5 per step) 2023-08-14 16:54:25 +07:00
0833afc0a2 Set the opacity of stat's stroke to 90% 2023-08-14 16:27:15 +07:00
ca8b3cfbd8 Update README.md 2023-08-13 17:27:31 +07:00
bd852c788d Update README.md 2023-08-13 17:13:22 +07:00
3a82b74cda Version 1.12 (#95)
* Update README.md

* Bump version to 1.12

* Bump version to 1.12
2023-08-13 16:48:46 +07:00
dce0a44d2a Add poor man's "Clarity Boost" feature (#94)
* Add Video clarity setting

* Disable Clarity feature in Safari

* Make the Video settings bar smaller

* Stop loading the page when running into the "We are sorry..." error message

* Fix problems with named parameters
2023-08-13 16:22:13 +07:00
1d0d69850f Update issue templates 2023-08-13 10:31:30 +07:00
e719e6e1c5 Update README.md 2023-08-13 10:13:31 +07:00
9f3c6e5a6d Update README.md 2023-08-13 10:11:15 +07:00
b6e1d3debc Update README.md 2023-08-12 21:26:13 +07:00
c229cf7c47 Update README.md 2023-08-12 19:49:51 +07:00
343e243c77 Version 1.11 (#91)
* Update README.md

* Bump version to 1.11

* Bump version to 1.11
2023-08-12 19:41:14 +07:00
0722e02ab0 Minor fix 2023-08-12 17:56:23 +07:00
c520fde438 Show GamePass app's version (#85) 2023-08-12 17:35:40 +07:00
2f4396d948 Update Settings UI 2023-08-12 17:01:44 +07:00
88d46581bf Add touch's controller button styles: default/white/muted 2023-08-12 16:24:37 +07:00
0cd6106957 Increase TouchController.#dispatchMessage timeout time from 10ms to 100ms 2023-08-12 14:55:54 +07:00
43b932f5d6 Add "Enable microphone on game launch" setting (#89)
* Add "Enable microphone on game launch" setting

* Stream menu: clone the second last button instead of the first one (usually the mic button)

* Close the HUD when clicking clicking on the Video Settings button

* Use a different CSS for the Stream Stats button when it's ON
2023-08-12 14:52:27 +07:00
8315cee7ec Update README.md 2023-08-12 14:31:21 +07:00
9d6db3ed37 Fix for Safari (#88)
* Reload the page until the script is loaded first

* Trying to fix the issue with error page

* Show a message when reloading the page

* Minor refactoring in overrides.inputConfiguration

* Automatically reload the page when running into the "We are sorry..." error message
2023-08-12 10:43:51 +07:00
e85fc9aa47 Update README.md 2023-08-11 08:18:41 +07:00
2d680d63a1 Update README.md 2023-08-10 11:03:22 +07:00
aefd9e9320 Add warnings for Safari 2023-08-08 21:33:40 +07:00
ecaead1522 Update README.md 2023-08-08 08:47:01 +07:00
f71152595f Update issue templates 2023-08-08 08:14:58 +07:00
c633c81c90 Bump version to 1.10.2 2023-08-08 07:37:39 +07:00
c76cf83c58 Bump version to 1.10.2 2023-08-08 07:37:23 +07:00
5a5c65e7a2 Fix the fullscreen bug on Android (#49) 2023-08-08 07:35:34 +07:00
da7ff64471 Update feature_request.md 2023-08-07 08:54:28 +07:00
cd9f53a052 Update issue templates 2023-08-07 08:53:16 +07:00
c782526c32 Update README.md 2023-08-07 07:49:02 +07:00
e8ad1f9350 Update README.md 2023-08-07 07:19:22 +07:00
7779473eee Version 1.10.1 (#73)
* Update README.md

* Bump version to 1.10.1

* Bump version to 1.10.1
2023-08-06 18:57:14 +07:00
0b0f5add1b Toggle touch controller visibility (#72)
* Double-tap anywhere at the bottom of the screen to show/hide touch controller

* Update CSS

* Update the size of the screenshot button

* Update screenshot button's CSS

* Update screenshot button's opacity
2023-08-06 18:51:06 +07:00
cd82c5a94c Update README.md 2023-08-06 10:33:23 +07:00
140005bda5 Fix borken layout 2023-08-06 10:24:54 +07:00
76d99a994a Update README.md 2023-08-06 09:53:16 +07:00
48e1eb1a52 Update README.md 2023-08-06 09:38:18 +07:00
2ecd6f23ff Version 1.10 (#68)
* Update README.md

* Fix sometimes the touch controller layout doesn't show at the beginning

* Restore GAME_TITLE_ID

* Update README.md

* Bump version to 1.10

* Bump version to 1.10
2023-08-06 09:29:23 +07:00
3e97263caa Change text of the "Reload" button to "Reloading..." after clicking on it 2023-08-06 07:25:57 +07:00
19856e6381 Split settings into groups (#67) 2023-08-06 07:17:46 +07:00
d6852e132d Show stats bar on startup if Quick Glance mode is enabled 2023-08-06 06:21:12 +07:00
a5d340e4e8 Show charging status in Battery badge 2023-08-06 06:20:54 +07:00
34f33f2508 Add setting to enable touch controller for all games (#66)
* Add "Enable touch controller for all games" feature

* Minor fixes

* Disable STREAM_ENABLE_TOUCH_CONTROLLER when STREAM_ENABLE_TOUCH_CONTROLLER is enabled

* Combine STREAM_ENABLE_TOUCH_CONTROLLER & STREAM_HIDE_TOUCH_CONTROLLER into STREAM_TOUCH_CONTROLLER
2023-08-06 05:48:38 +07:00
ebde464bfa Update README.md 2023-08-05 14:48:02 +07:00
244fef1475 Update README.md 2023-08-05 11:58:53 +07:00
d43659da30 Fix missing key for STREAM_HIDE_IDLE_CURSOR 2023-08-05 10:17:46 +07:00
1dc411281c Fix check for update feature 2023-08-05 10:03:56 +07:00
3d3811b8f3 Disable the "Disable touch controller" setting on non-touchable devices 2023-08-05 09:49:22 +07:00
e940524ab1 Improve high-quality codec support detection 2023-08-05 09:39:54 +07:00
fe7b8d1ade Minor optimization 2023-08-05 09:20:25 +07:00
6264eaf32d Add onStreamStarted() 2023-08-05 09:09:25 +07:00
e6980b5204 Update README.md 2023-08-05 08:51:50 +07:00
4a0830895f Change "Enable quick glance" to "Enable 'Quick Glance' mode" 2023-08-05 08:38:27 +07:00
92157cdd5d Change "Dots icon" to "System menu's icon" 2023-08-05 08:36:38 +07:00
066d999241 Update README.md 2023-08-05 08:12:06 +07:00
1307b43f0c Switch to icons from phosphoricons.com 2023-08-05 08:03:40 +07:00
ecad1dc51b Bump version to 1.9 2023-08-04 18:40:24 +07:00
e1c1d74a22 Bump version to 1.9 2023-08-04 18:40:08 +07:00
b1881678b1 Update README.md 2023-08-04 18:30:08 +07:00
9d8d9680d3 Add "Quick glance" setting for Stream stats (#59) 2023-08-04 18:16:12 +07:00
4d2b6c5ef7 Simplify stream menu (#58)
* Add "Simplify Stream's menu" setting

* Fix Smart TV layout

* Fix not able to hide Video bar if the "Disable touch controller" is on

* Combine Region + Server badges into one

* Reduce badge's font-size from 16 to 14px

* Fix battery level showing .99999

* Don't show battery badge when it's 100%

* Fix showing incorrect Audio codec in Safari

* Add "Safari on macOS" User-Agent profile

* Fix showing incorrect Video codec in Safari

* Use "-webkit-user-select" for Safari

* Update Video badge's color
2023-08-04 16:19:18 +07:00
0c80e3ab1d Disable PWA prompt in Safari on iOS/iPadOS (#52) 2023-08-04 07:17:59 +07:00
6f326e8f2a Update README.md 2023-08-03 09:37:28 +07:00
92fe3756cf Update README.md 2023-08-02 20:35:27 +07:00
8ee28d92d9 Bump version to 1.8.2 2023-08-02 12:45:23 +07:00
1f94058b99 Bump version to 1.8.2 2023-08-02 12:45:08 +07:00
95e94242aa Update README.md 2023-08-02 12:44:40 +07:00
91aa28450d Fix battery status 2023-08-02 11:58:18 +07:00
8eb8bbf598 Add In/Out badges (#48)
* Show In/Out badges

* Cache DOMs of Stream badges

* Refresh badges every 3s

* Shorten Video badge: "1920x1080" -> "1080p"

* Fix 404 error when spoofing User-Agent (#34)
2023-08-02 11:51:46 +07:00
47817d9d36 Update color of "Video" badge 2023-08-01 21:17:27 +07:00
b770a4c9d3 Bump version to 1.8.1 2023-08-01 08:32:29 +07:00
a27c0ed8f6 Bump version to 1.8.1 2023-08-01 08:31:56 +07:00
8ac37754e6 Combine "Resolution" and "Video" badges into one 2023-08-01 08:31:01 +07:00
d9288a322b Update battery stat 2023-08-01 08:23:48 +07:00
5facfd2348 Fix inaccurate percentages of PL & FL stats 2023-08-01 08:18:03 +07:00
889717be7d Show confirm dialog to refresh the stream after holding for 1s 2023-08-01 08:07:57 +07:00
4b0f0784ae Fix stats bar not showing sometimes 2023-08-01 08:05:18 +07:00
31217d01bb Update bug_report.md 2023-08-01 07:40:50 +07:00
2f6176e906 Update README.md 2023-07-31 14:49:03 +07:00
fe011fd0f2 Update README.md 2023-07-31 08:28:37 +07:00
c23f55ee6b Bump version to 1.8 2023-07-31 07:49:11 +07:00
0c85770ed1 Bump version to 1.8 2023-07-31 07:48:52 +07:00
8233192b8d Update README.md 2023-07-31 07:47:45 +07:00
6c5fa3c061 Simplify playtime text 2023-07-31 07:31:03 +07:00
e47c6d9103 Use colors from PICO-8 palette for stream badges 2023-07-31 07:25:52 +07:00
563ad65580 Fix battery calculation 2023-07-31 07:16:32 +07:00
7933d8d22c Update README.md 2023-07-31 06:43:47 +07:00
b0e23ca335 Hold the "Quit game" button for 1s to refresh the stream (#43)
* Hold "Quit game" button to refresh the stream

* Fix problem with touch screen

* Another fix
2023-07-30 22:03:25 +07:00
c9f3990173 Show playtime & battery level badges (#42) 2023-07-30 21:07:25 +07:00
5d301b6588 Add setting to hide/disable touch controller (#38) 2023-07-30 15:47:56 +07:00
32123a7891 Update README.md 2023-07-29 18:02:20 +07:00
dad4d43313 Bump version to 1.7 2023-07-29 17:21:01 +07:00
e3af588b13 Bump version to 1.7 2023-07-29 17:20:47 +07:00
50226baa5c Update README.md 2023-07-29 17:20:02 +07:00
d2e3ad36da Fix check for update 2023-07-29 16:54:54 +07:00
26528fe2d7 Refactor code (#36)
* Refactor class names

* Move Quick settings bar's CSS to addCss()

* Adjust Stream menu button's size

* Add shadow to Video settings bar

* Put "Stream Stats" button before "Video Settings" button
2023-07-29 16:39:40 +07:00
9d44c9c779 Add "Preferred game's language" setting (#35) 2023-07-29 15:56:19 +07:00
423ac5c356 Start hiding cursor as soon as possible 2023-07-29 15:15:23 +07:00
746e32ecae Add "Hide mouse cursor while playing" setting (#33) 2023-07-29 12:11:41 +07:00
931d70ba3a Custom User-Agent (#32)
* Add "Custom User-Agent" feature

* Override navigator.userAgent

* Save the original User-Agent before overriding it
2023-07-29 10:49:12 +07:00
654d82208b Update README.md 2023-07-29 09:41:40 +07:00
0d5e3ed70f Replace "Force 1080p stream" setting with "Stream's target resolution" (#31) 2023-07-29 08:23:01 +07:00
fcd312344b Update README.md 2023-07-28 12:14:58 +07:00
d53aeb6c3e Update README.md 2023-07-28 06:32:12 +07:00
af5c758512 Update README.md 2023-07-27 08:45:03 +07:00
d1f39927d7 Update README.md 2023-07-27 08:29:48 +07:00
bd53961d67 Update README.md 2023-07-27 08:11:17 +07:00
ab6208a948 Bump version to 1.6.2 2023-07-27 07:29:53 +07:00
bae8c193d3 Bump version to 1.6.2 2023-07-27 07:29:39 +07:00
b9283eb435 Update README.md 2023-07-27 07:28:50 +07:00
e73e018380 Update Stream stats (#24)
* Change label's font

* Add Stats settings popup

* Toggle Stats settings dialog

* Update structure of Preferences.SETTINGS

* Add dialog title

* Add "Show stats when starting the game" setting

* Update texts

* Validate setting value before saving

* Add Preferences.toElement()

* Add "Text size" setting

* Add "Decode time" stat

* Add "Conditional formatting text color" feature

* Add "for" attributes to labels

* Update grade's colors

* Fix text wrapping

* Update stats using setInterval() instead of setTimeout()
2023-07-27 07:18:06 +07:00
e98ad00bb9 Update README.md 2023-07-26 15:42:38 +07:00
d232dc164f Update README.md 2023-07-26 09:07:31 +07:00
ee192bc98e Change value of "updateURL" 2023-07-25 11:35:50 +07:00
1210176413 Change "updateURL" to meta file 2023-07-25 11:33:21 +07:00
9262d0e14f Create better-xcloud.meta.js 2023-07-25 11:32:35 +07:00
df87a51329 Update README.md 2023-07-25 11:20:40 +07:00
8c7013659b Fix Stream stats bar's CSS 2023-07-25 09:14:28 +07:00
b3b7a51979 Bump version to 1.6.1 2023-07-25 09:01:04 +07:00
831ccb31c1 Stop stretching stream stats' background to full screen 2023-07-25 09:00:48 +07:00
d87ac78e57 Add "Check for update" feature (#21) 2023-07-25 08:58:42 +07:00
67b419c37d Update README.md 2023-07-25 07:57:16 +07:00
a7b796362a Update README.md 2023-07-25 07:12:01 +07:00
889ee890f1 Update README.md 2023-07-24 11:38:29 +07:00
71a48f8afb Update README.md 2023-07-24 08:00:56 +07:00
354ecac97e Update README.md 2023-07-23 20:22:39 +07:00
45a7c28d3f Update README.md 2023-07-23 17:53:56 +07:00
e43c34ed3a Bump version to 1.6 2023-07-23 17:45:27 +07:00
28a2e32fc5 Update README.md 2023-07-23 17:44:50 +07:00
b564de249a Show stream stats (#16)
* Get video and audio info from RTCPeerConnection.getStats()

* Show stream's stats bar

* Make Stream menu icon's size smaller

* Add shadow to stream badges

* Show bitrate

* Add button to toggle Stream Stats

* Rename StreamStatus to StreamBadges

* Show '???' then currentRoundTripTime is undefined

* Remove work-around for browsers with no setCodecPreferences() support as it's not working

* Remove updateVideoPlayerPreview()

* Disable USE_DESKTOP_CODEC setting on unsupported browsers
2023-07-23 17:09:30 +07:00
9fa073da82 Update README.md 2023-07-22 15:41:14 +07:00
958f5410f4 Update README.md 2023-07-22 15:20:45 +07:00
15d3efdf4e Update README.md 2023-07-22 15:20:35 +07:00
645b49751d Update README.md 2023-07-22 15:15:16 +07:00
53913ae218 Update README.md 2023-07-22 12:23:31 +07:00
2569e73018 Bump version to 1.5 2023-07-22 12:13:42 +07:00
4c790ac38d Update README.md 2023-07-22 12:08:27 +07:00
11c233e14e Add screenshot capture feature (#15)
* Add a button to test screenshot feature

* Update CSS of the screenshot button

* Prevent screenshot button from blocking UI

* Add setting to change screenshot button's position
2023-07-22 11:46:19 +07:00
a81cb86140 Update README.md 2023-07-22 09:23:58 +07:00
c3de245545 Rename "Dimension" to "Resolution" 2023-07-22 07:29:31 +07:00
a7ab506f0f Update README.md 2023-07-22 07:02:42 +07:00
8ecff6adae Update issue templates 2023-07-22 06:51:44 +07:00
27ec45512d Update issue templates 2023-07-22 06:42:30 +07:00
3a654b99cb Fix video not showing in Chrome 2023-07-22 06:36:26 +07:00
a009cca866 Update README.md 2023-07-21 17:28:29 +07:00
19302ea444 Update README.md 2023-07-21 17:03:03 +07:00
3c4248c1c7 Update README.md 2023-07-21 16:51:40 +07:00
de834fcb80 Bump version to 1.4.2 2023-07-21 16:49:28 +07:00
baf2c2a35d Fix "Force high quality codec" feature not working with Kiwi Browser 2023-07-21 16:42:57 +07:00
522830a47d Update README.md 2023-07-21 15:16:57 +07:00
7207646379 Bump version to 1.4.1 2023-07-21 09:02:37 +07:00
597c150c77 Update README.md 2023-07-21 09:02:10 +07:00
e7980c186d Add Kiwi Browser support (#11)
* Catch exception when trying to force desktop codec profile on Kiwi Browser

* Improve setCodecPreferences(), avoid crashing

* Improve codec status detection

* Fix codec detection
2023-07-21 08:57:05 +07:00
0c38b54c38 Update README.md 2023-07-20 21:06:49 +07:00
1929834c98 Update README.md 2023-07-20 18:50:57 +07:00
6e80ea08e8 Bump version to 1.4 2023-07-20 18:40:27 +07:00
a5caafa93a Stream badges & 1080p stream (#10)
* Get stream statuses

* Render badges

* Add "Force 1080p stream" feature (#9)
2023-07-20 18:38:58 +07:00
f8134c3e5a Update README.md 2023-07-19 13:22:48 +07:00
89ea55774b Make Settings UI can be interacted using controller 2023-07-19 09:03:36 +07:00
2836eeb6ed Update README.md 2023-07-17 20:10:51 +07:00
876b090ad2 Update README.md 2023-07-17 19:54:44 +07:00
e33730b124 Bump version to 1.3.2 2023-07-17 18:46:26 +07:00
8b4f26155c Update README.md 2023-07-17 18:45:54 +07:00
a52ba7dddf Work-around of "Force high quality stream" feature for Firefox (#4) 2023-07-17 18:42:20 +07:00
a8eb296bcf Merge branch 'main' of https://github.com/redphx/better-xcloud 2023-07-17 17:06:37 +07:00
f4a3c38cca Update texts in Settings 2023-07-17 17:06:34 +07:00
e8ab19c318 Update README.md 2023-07-17 15:09:46 +07:00
89e4dd0003 Update README.md 2023-07-17 11:25:54 +07:00
9874d36f3a Update README.md 2023-07-17 09:05:27 +07:00
ed54d1ed38 Fix IPv6 feature not working 2023-07-17 08:54:53 +07:00
4676e42215 Update README.md 2023-07-16 18:36:36 +07:00
ad791bdc45 Work-around for forcing high quality stream 2023-07-16 18:34:11 +07:00
a318db4ec2 Update better-xcloud.user.js 2023-07-16 15:56:08 +07:00
aaa8348984 Update README.md 2023-07-16 15:55:44 +07:00
2cea30cf16 Check support of RTCRtpTransceiver.setCodecPreferences() 2023-07-16 15:50:44 +07:00
0fe99f8f2d Update README.md 2023-07-16 15:16:43 +07:00
0cb09bb455 Update README.md 2023-07-16 12:41:51 +07:00
14cf9d5877 Stop recommending changing User-Agent 2023-07-16 12:39:28 +07:00
b96b115182 Bump version to 1.3 2023-07-16 12:30:55 +07:00
766c5b8682 Update README.md 2023-07-16 12:30:14 +07:00
5f9564de45 Update CSS of reload page button 2023-07-16 12:01:22 +07:00
3a7dea6c75 Add missing code 2023-07-16 11:54:40 +07:00
8dd17bb021 Add setting to force HQ codec 2023-07-16 11:54:23 +07:00
e63f998f5a Update README.md 2023-07-16 06:43:49 +07:00
0685cd8038 Update README.md 2023-07-15 21:48:05 +07:00
f246faf796 Update README.md 2023-07-15 21:26:10 +07:00
68ef703bdb Update README.md 2023-07-15 21:17:01 +07:00
f9d683a2e4 Update README.md 2023-07-15 21:11:51 +07:00
fec2c4a22a Update README.md 2023-07-15 21:04:15 +07:00
c3df18d7be Update README.md 2023-07-15 20:59:10 +07:00
9971fe6c0c Update README.md 2023-07-15 20:55:34 +07:00
cc11bcea41 Bump version to 1.2.1 2023-07-15 20:54:15 +07:00
048d085e91 Merge branch 'main' of https://github.com/redphx/better-xcloud 2023-07-15 20:53:37 +07:00
ed32044480 Update Video settings UI 2023-07-15 20:53:28 +07:00
32c087966b Update README.md 2023-07-15 20:52:51 +07:00
e4ad010e0a Remove video settings in the main Settings UI 2023-07-15 20:29:50 +07:00
d2debc0623 Bump version to 1.2 2023-07-15 17:23:44 +07:00
0c3d8519e1 Update README.md 2023-07-15 17:23:11 +07:00
e323bd5b47 Fix Quick bar not hiding after quitting game 2023-07-15 17:07:08 +07:00
ce54aa4580 Update CSS of Quick video settings bar 2023-07-15 16:59:28 +07:00
d29447173c Fix Quick video settings feature not working with touch screen 2023-07-15 16:56:01 +07:00
2f3a3167e1 Add Quick video settings bar while playing 2023-07-15 16:32:20 +07:00
e17459934b Update README.md 2023-07-15 12:38:01 +07:00
ecf9b414ba Bump version to 1.1.3 2023-07-15 12:27:30 +07:00
f78bd31b58 Fix video not showing then the "Skip splash video" setting is off 2023-07-15 12:27:03 +07:00
da54bd5302 Update README.md 2023-07-15 09:56:59 +07:00
5479eeb66f Bump version to 1.1.2 2023-07-15 09:46:08 +07:00
a9eb70eaae Hide video player until it's ready 2023-07-15 09:40:13 +07:00
0e2066e461 Add Compatibility section 2023-07-15 07:45:54 +07:00
6 changed files with 6452 additions and 386 deletions

1
.github/FUNDING.yml vendored Normal file
View File

@ -0,0 +1 @@
ko_fi: redphx

21
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@ -0,0 +1,21 @@
---
name: Bug report
about: Create a report to help us improve
title: "[Bug] ..."
labels: bug
assignees: ''
---
**Platform**
- Device: Phone, Laptop, Desktop, TV...
- OS: Windows, Android, iOS...
- Browser: Chrome, Safari, Kiwi...
- Browser Version:
- Better xCloud Version:
**Describe the bug**
...
**Screenshots/Videos**
If applicable, add screenshots/videos to help explain your problem.

View File

@ -0,0 +1,16 @@
---
name: Feature request
about: Suggest an idea for this project
title: "[Feature] ..."
labels: enhancement
assignees: ''
---
**I'm using:**
- Device:
- OS:
- Browser:
**I want to suggest this feature:**
...

347
README.md
View File

@ -1,70 +1,323 @@
# Better xCloud
Improve [Xbox Cloud Gaming (xCloud)](https://www.xbox.com/play/) experience on web browser.
The main target of this script is Android users, but it should work great on desktop too.
The main target of this script is mobile users, but it should work great on desktop too.
## Features:
Supported platforms:
- Windows, macOS, Linux
- Android, Android TV
- iOS, iPadOS
<img width="474" alt="image" src="https://github.com/redphx/better-xcloud/assets/96280/2793d404-3185-4c91-a500-dde362c661dd">
This script makes me spend more time with xCloud, and I hope the same thing happens to you.
If you like this project please give it a 🌟. Thank you 🙏.
- Switch region of streaming server.
- Prefer IPv6 streaming server (might improve latency).
- Force HD stream by disabling bandwidth checking -> xCloud always tries to use the best possible quality.
- Skip Xbox splash video.
- Make the top-left dots icon invisible while playing. You can still click on it, but it doesn't block the screen anymore.
- Stretch video to full sctreen. Useful when you don't have a 16:9 screen.
- Adjust video filters (brightness/contrast/saturation).
- Hide footer and other UI elements.
- Reduce UI animations (the smooth scrolling cannot be disabled).
- Disable social features (friends, chat...).
- Disable xCloud analytics. The analytics contains statistics of your streaming session, so I'd recommend to allow analytics to help Xbox improve xCloud's experence in the future.
[![Latest version](https://img.shields.io/github/v/release/redphx/better-xcloud?label=latest)](https://github.com/redphx/better-xcloud/releases)
[![Total downloads](https://img.shields.io/github/downloads/redphx/better-xcloud/total?color=%23e15f2c)](https://github.com/redphx/better-xcloud/releases)
[![Total stars](https://img.shields.io/github/stars/redphx/better-xcloud?color=%23cca400)](https://github.com/redphx/better-xcloud/stargazers)
## How to use:
1. Install [Tampermonkey extension](https://www.tampermonkey.net/) on suppported browsers. It's also available for Firefox on Android.
2. Install **Better xCloud**:
- [Directly on Github](https://github.com/redphx/better-xcloud/releases/latest/download/better-xcloud.user.js)
## Table of Contents
- [**How to install**](#how-to-install)
- [**Compatibility**](#compatibility)
- [**Features**](#features)
- [**Stream stats**](#stream-stats)
- [**Capture screenshot**](#capture-screenshot)
- [**FAQ**](#faq)
- [**Translators**](#translators)
- [**Donation**](#donation)
- [**Acknowledgements**](#acknowledgements)
- [**Disclaimers**](#disclaimers)
## How to install
1. Install an userscript extension:
- **Safari**: Install [Userscripts extension](https://apps.apple.com/us/app/userscripts/id1463298887). Check [this page](https://github.com/redphx/better-xcloud/wiki/Using-with-Safari) before using.
- **All other browsers**: Install [Tampermonkey extension](https://www.tampermonkey.net/).
3. Install **Better xCloud**:
- [Stable version](https://github.com/redphx/better-xcloud/releases/latest/download/better-xcloud.user.js)
<!-- - [Dev version](https://github.com/redphx/better-xcloud/raw/main/better-xcloud.user.js)-->
I only distribute **Better xCloud** on GitHub, *DO NOT* download it on other websites or from unknown sources.
4. Refresh [xCloud web page](https://www.xbox.com/play/).
5. Click on the new "SERVER NAME" button next to your profile picture to adjust settings.
6. Optional but recommended: change your browser's User-Agent. Check the [User-Agent section](#user-agent) below for more info.
7. Don't forget to reload the page after changing settings.
## User-Agent
Optional, as changing User-Agent won't guarantee a better streaming experience, but it's worth a try. You might need to install an external extension to do that.
To update manually, just install the script again (you won't lose your settings).
It's recommended to change User-Agent to:
```
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.67
```
This will trick xCloud into thinking you're using Edge browser on desktop.
⚠️⚠️⚠️ If you're using Kiwi Browser on Android, make sure to follow the steps correctly and install the script with Tampermonkey (not installing it as an extension), or else it won't work.
Other options (only do one of these):
- Add ` smarttv` to switch to Smart TV layout.
- Add ` Xbox;` to become an Xbox console.
- Add ` 36102dd3-6953-45f6-8b48-031fb95e0e0d` to become a Logitech G Cloud device.
- Add ` 0ed22b6f-b61d-41eb-810a-a1ed586a550b` to become a Razer Edge device.
## Compatibility
- 👍 = best choice, all features work as intended
- ✅ = confirmed to be working, might miss some features
- ❌ = not supported (mostly because of lacking Userscript/extension support)
- = unavailable
- 🗒️ = see custom notes
## Tested on:
- Chrome on macOS.
- Firefox for Android with Tampermonkey add-on.
- *(NOT RECOMMENDED at the moment since its Userscript implementation is not working properly)* [Hermit Browser](https://hermit.chimbori.com) on Android. It supports custom User-Agent and has built-in Userscript support (premium features, only $7.99) so you don't have to install anything else. I built **Better xCloud** just so I could use it with Hermit.
| | Windows/Linux | macOS | Android/Android TV | iOS |
|-----------------------------------------|:-----------------|:-----------------|:-------------------|:-----------------|
| Chrome/Edge/Chromium variants | 👍 | 👍 | ❌ | ❌ |
| Firefox | ✅ | ✅ | 🗒️<sup>(1)</sup> | ❌ |
| Safari | | ✅<sup>(2)</sup> | | ✅<sup>(3)</sup> |
| [Kiwi Browser](https://kiwibrowser.com) | | | 👍 | |
Don't see your browser in the table? If it supports Tampermonkey/Userscript then the answer is likely **"YES"**.
<sup>1</sup> Follow [this guide](https://support.mozilla.org/en-US/kb/find-and-install-add-ons-firefox-android) to install Tampermonkey on Firefox Android. Its Gamepad API doesn't work properly so it might not recognize your controller.
<sup>2, 3</sup> Requires [Userscripts app](https://apps.apple.com/us/app/userscripts/id1463298887) (free & open-source). Check [this page](https://github.com/redphx/better-xcloud/wiki/Using-with-Safari) before using.
---
- **Kiwi Browser** is the best choice on Android. All features work, it means you can get 1080p stream + high-quality codec profile (the best possible quality).
- **Better xCloud** also works on Android TV, but you'll have to sideload the browser APK and need a Bluetooth mouse if you want to interact with the Settings.
## Features
<img width="400" alt="Settings UI" src="https://github.com/redphx/better-xcloud/assets/96280/70b754fa-a638-4d02-bd05-0a3bdf5e1fcd">
<br>
<img width="400" alt="Remote Play dialog" src="https://github.com/redphx/better-xcloud/assets/96280/daf7f698-a228-4f9c-8f23-9669e061a64c">
<br>
<img width="600" alt="Stream HUD" src="https://github.com/redphx/better-xcloud/assets/96280/51bdb96c-79ab-402f-902a-a9e6229973b2">
<br>
<img width="600" alt="Stream settings" src="https://github.com/redphx/better-xcloud/assets/96280/18ed4598-4eca-4626-9434-5f74266b00e7">
&nbsp;
**Demo video:** [https://youtu.be/oDr5Eddp55E ](https://youtu.be/AYb-EUcz72U)
- **🔥 Support [Remote Play](https://support.xbox.com/help/games-apps/game-setup-and-play/how-to-set-up-remote-play)**
> 1080p resolution and can stream Xbox 360 games.
- **🔥 Improve visual quality of the stream**
> Similar to (but not as good as) the "Clarity Boost" of xCloud on Edge browser. [Demo video](https://youtu.be/ZhW2choAHUs).
- **🔥 Show stream stats**
> Check [Stream stats section](#stream-stats) for more info.
- **🔥 Capture screenshot**
> Exclusive to **Better xCloud**. Check the [**Capture screenshot** section](#capture-screenshot) for more info.
- **🔥 Hold the "Quit game" button for one second to refresh the stream**
> Sometimes you can fix the bad connection to the stream simply by refreshing the page.
> Useful on mobile where the pull-to-refresh feature doesn't work while playing.
- **🔥 Touch controller**
> Enable touch controller support for all games.
### Server
- **Set the region of streaming server**
> Connect to another server instead of the default one.
> It's not using VPN.
> ["Can I get banned for using this?"](#faq)
- **Preferred game's language**
> If the game doesn't support this language, it will use the same language as xCloud's website.
- **Prefer IPv6 server**
> Might reduce latency.
### Stream
- **Set target resolution**
> By default you only get 1080p stream when playing on desktop.
> This feature can give you 1080p stream even on mobile, without having to change User-Agent.
- **Change visual quality**
> Increase/decrease the quality of the stream to your liking. Only works in Chrome/Edge/Kiwi...
> Comparison video with the setting ON & OFF: https://youtu.be/-9PuBJJSgR4
- **Disable bandwidth checking**
> xCloud won't warn about slow connection speed.
- **Enable volume control feature**
> Allow increasing stream's volume up to 600%
> ⚠️ Disable this setting if you experience slowdown, choppy/muted stream
- **Enable microphone on game launch**
> Automatically enable the mic when starting to play a game.
- **Hide mouse cursor on idle**
> Hide the mouse cursor after 3 seconds of not moving.
### Controller
- Adjust controller polling rate
> Higher is better (reduce input latency).
- Enable controller shortcuts
> `Home` is the button which activates the Xbox sidebar menu (similar to the Xbox/Nexus button on the official controller).
> Not all controllers have this button. It's the `B16` button on the [Gamepad Tester site](https://hardwaretester.com/gamepad).
> More shortcuts will be added later.
| Shortcut | Action |
|---------------|------------------|
| Home + RB | Take screenshot |
| Home + Select | Toggle stats bar |
### 🔥 Touch controller
- **Availability**
> Only for devices with touch support (Android/iOS/iPadOS/...). Using "Desktop mode" in mobile browsers also disables this feature.
> - **Default**: nothing change.
> - **Off**: stop the touch controller from showing when touching the screen. Useful when you play on a device with a built-in controller like Logitech G Cloud, Steam Deck, etc.
> - **All games**: enable touch controller support for all games. Games with custom layout won't be affected.
> Double-tap anywhere at the bottom of the screen to show/hide the controller. Useful when you're viewing cutscenes.
> &nbsp;
> ![toggle-touch-controller](https://github.com/redphx/better-xcloud/assets/96280/8b9c7091-529a-45ae-8b45-73e61531ecc8)
- **Button styles**
> - Default
> - Muted
> - All white (only for standard/default controller)
> &nbsp;
> <img width="400" alt="Button styles" src="https://github.com/redphx/better-xcloud/assets/96280/2bfef2b3-6712-4924-b067-c2312f8c8062">
### Loading screen
- **Show game art**
> Replace the black background with game art if it's available.
- **Show the estimated wait time**
> The time is estimated by the server.
> It's not 100% correct: you might get in the game sooner or later.
> Check [#51](https://github.com/redphx/better-xcloud/issues/51) for more info.
- **Show/hide the rocket animation**
> Always show/Hide when queuing/Always hide.
> Hide this animation might save some battery life while queuing.
<img height="300" alt="Loading screen" src="https://github.com/redphx/better-xcloud/assets/96280/46074b14-1abb-466d-a859-d46ad4dac2fd">
### UI
- **Switch website's layout**
> Switch between default layout and Smart TV layout (without having to change User-Agent).
- **Simplify Stream's menu**
> Hide the labels of the menu buttons.
- **Skip Xbox splash video**
> Save 3 seconds.
- **Hide System menu's icon**
> You can still click on it, but it doesn't block the screen anymore.
- **Reduce UI animations**
> Disable `transition` CSS property in some elements. The smooth scrolling cannot be disabled.
### Other
- **Disable social features**
> Features like friends, chat... Disable these will make the page load faster.
- **Disable xCloud analytics**
> The analytics contains statistics of your streaming session, so I'd recommend allowing analytics to help Xbox improve xCloud's experience in the future.
### In-game settings
- **Volume control**
> Increase stream's volume up to 600%
> Can be disabled in the Main Settings
- **🔥 Improve stream's clarity**
> Similar to (but not as good as) the "Clarity Boost" of xCloud on Edge browser. [Demo video](https://youtu.be/ZhW2choAHUs).
> Also known as poor man's "Clarity Boost".
> Affects the stream's performance, uses more battery, and may causes frames to drop (especially on lower-end devices).
> Works with Chrome/Chromium browsers.
> Doesn't work with Safari.
> &nbsp;
> ![clarity](https://github.com/redphx/better-xcloud/assets/96280/ed63bbb0-fcbf-43e2-8e51-ac2733e697b8)
> *(click to enlarge)*
- **Change video's ratio**
> Useful when you don't have a 16:9 screen
- **Adjust video filters**
> Brightness/Contrast/Saturation.
> ⚠️ These features don't work when xCloud's "Clarity Boost" feature is ON ([#64](https://github.com/redphx/better-xcloud/issues/64)).
- **Display stream's statuses**
> Region/Server/Codecs/Resolution...
> Current playtime of the session.
> Current battery level. Not working on [some browsers](https://caniuse.com/battery-status).
> Estimated total data sent/received.
### Advanced features
- **Change User-Agent**
> Useful when you're using unsupported browsers.
> This setting only affects xCloud, and it doesn't change browser's global User-Agent.
> 📝 If you get 404 error after using this feature, try refreshing the page a few times. See [#34](https://github.com/redphx/better-xcloud/issues/34).
- **Hide footer and other UI elements**
<sup>(\*)</sup> By default (for compatibility reasons) xCloud only uses high quality codec profile when you use Tizen TV or Chrome/Edge/Chromium browser on Chrome/MacOS. Enable this setting will give you the best experience no matter what platform & browser you're on.
## Stream stats
![stats](https://github.com/redphx/better-xcloud/assets/96280/736548db-316d-4bb3-a0f8-467766ae810b)
<img width="500" alt="Stream stats" src="https://github.com/redphx/better-xcloud/assets/96280/142625ea-20ab-4392-a111-0c5bc08bae09">
- While playing > `...` > `Stream Stats`.
- Double-click on the stats bar to show the Settings dialog.
- This bar is updated every second.
- **Quick glance** feature: only show the stats bar when the System menu is expanded. The 👀 emoji at the beginning indicates that the stats bar is in the quick glance mode.
- ⚠️ Using **Better xCloud** or showing the stats bar also affects the performance of the stream.
| Abbr. | Full name | Explain |
|------:|:-------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------|
| PING | Ping | The number of seconds it takes for data to be sent from your device to the server and back over (the correct term is "Round Trip Time") |
| FPS | Frames per Seconds | The number of decoded frames in the last second of the stream (may not be the same as the FPS of the game) |
| DT | Decode Time | The average time it took to decode one frame in the last second (bugged on Android [#26](https://github.com/redphx/better-xcloud/issues/26)) |
| BR | Bitrate | The amount of data the server sent to your device in the last second |
| PL | Packets Lost | The total number of packets lost |
| FL | Frames Lost | The total number of frames dropped prior to decode or dropped because the frame missed its display deadline |
This info is provided by WebRTC API. You can use browser's built-in tool to see more info:
- Chrome/Edge/Chromium variants: `chrome://webrtc-internals`
- Firefox: `about:webrtc`
Colors:
- Red = Bad
- Yellow = Okay
- Green = Good
- White = Great
⚠️ Having this info on all the time will drain the battery faster, so I'd recommend only using it when having network problems.
## Capture screenshot
- This feature is only available in **Better xCloud**.
- Works on both desktop & mobile, but it was designed for mobile users.
- It's client-side only.
- It captures the current frame of the stream and saves it to a file. That means you won't get the raw quality like when you play on a console, but it's still better than using the built-in screenshot feature on your phone.
- Screenshot's resolution & quality depend on the quality of the stream at the moment.
- Screenshot doesn't include touch UI, notification bar... only the gameplay.
- There might be a slight delay.
- ⚠️ It's not possible to map the Share/Screenshot button on your controller to this feature.
### How to capture screenshot
1. Enable this feature in the Settings.
2. Play a game.
3. Tap once at the bottom left/right (depending on your setting) to show the Screenshot button.
4. Tap on that button to capture screenshot.
5. Screenshot will be saved by the browser.
6. You can double-tap that corner to capture screenshot.
![screenshot](https://github.com/redphx/better-xcloud/assets/96280/b277193e-df94-4d72-b75c-3f728c984974)
## FAQ
1. **Why is it an Userscript and not extension?**
1. **Will I get banned for using this?**
I think it's very unlikely that you'll get banned for using this. Most of the features only affect client-side, except for switching region of streaming server (you'll connect to another server instead of the default one). If you want to be safe just avoid using that. As always, use it as your own risk.
2. **Why is it an Userscript and not an extension?**
It's because not many browsers on Android support installing extensions (and not all extensions can be installed).
2. **I see "???" button instead of server's name**
That means Tampermonkey is not working properly. Please make sure you're using the latest version or switch to a well-known browser.
3. **Why doesn't the xCloud website implement *this* or *that* feature from Better xCloud?**
Think of this project as an unofficial beta version of xCloud.
- **Better xCloud** doesn't have to worry about the compatibility much: if it doesn't work on this browser, it can just suggest you switch to another one. xCloud can't do the same.
- On the xCloud's side, they have a lot more users and devices to support, so it's more difficult for them to implement a new feature.
- Also, it's not easy to explain some of the features of **Better xCloud** to normal xCloud users.
3. **Can I use this with the Xbox Android app?**
No you can't. You'll have to modify the app.
4. **Can I use this with the Xbox Android app?**
No, you can't. You'll have to modify the app.
4. **Will you able to enable "Clarity Boost" feature on non-Edge browsers?**
No. "Clarity Boost" feature uses an exclusive API (`Video.msVideoProcessing`) that's only available on Edge browser for desktop at the moment.
5. **Will it be able to enable the "Clarity Boost" feature on non-Edge browsers?**
~~No. The "Clarity Boost" feature uses an exclusive API (`Video.msVideoProcessing`) that's only available on Edge browser for desktop at the moment.~~
Fake news! This feature has been implemented in **Better xCloud** since version 1.12, but the original "Clarity Boost" still perform better.
7. **Will it be able to request a lower FPS or increase the maximum bitrate (15Mbps) of the stream?**
Sorry, no. The server decides all these settings.
8. **What's the meaning behind the name "Better xCloud"?**
It's a reference to an Userscript called "better360" that I created many years ago. I regret not choosing the name "xCloud Enhancement Suite", or XES for short.
## Translators
- **Chinese (Simplified)**: [@nyavana](https://github.com/nyavana)
- **French**: rodolphe.chouteau, Stay34yth
- **German**: [@KingNothing81](https://github.com/KingNothing81), mynameismanu
- **Korean**: [@rightones](https://github.com/rightones)
- **Italian**: Greenylie, Rakan129, Carza-104, graziequalcuno, DioCannabinoide
- **Japanese**: Tak_attack, udonshi
- **Portuguese (Brazilian)**: [@ricardo404](https://github.com/ricardo404), [@Haisom](https://github.com/Haisom), italorafael22062009, PotatoPTT
- **Polish**: [@aleksishere](https://github.com/aleksishere)
- **Russian**: anpom6
- **Spanish**: [@PabloSebas](https://github.com/PabloSebas), csvnchzn
- **Turkish**: [@transbebek](https://github.com/transbebek)
- **Vietnamese**: [@redphx](https://github.com/redphx)
Visit [here](https://crowdin.com/project/better-xcloud) if you want to translate **Better xCloud** to more languages.
Use [this post](https://github.com/redphx/better-xcloud/discussions/131) for discussion.
## Donation
I'm doing this for fun, so you don't have to donate anything. You're already supporting me by using this script. Save that money toward your Xbox Game Pass Ultimate subscription 😄.
But if you still really want to donate, I have a [Ko-fi page](https://ko-fi.com/redphx). Thank you.
## Acknowledgements
**Better xCloud** is inspired by these projects:
- [n-thumann/xbox-cloud-server-selector](https://github.com/n-thumann/xbox-cloud-server-selector)
- [n-thumann/xbox-cloud-server-selector](https://github.com/n-thumann/xbox-cloud-server-selector) for the idea of IPv6 feature
- Icons by [Phosphor Icons](https://phosphoricons.com)
## Disclaimers
- Use as your own risk.
- Use it at your own risk.
- This project is not affiliated with Xbox in any way. All Xbox logos/icons/trademarks are copyright of their respective owners.

5
better-xcloud.meta.js Normal file
View File

@ -0,0 +1,5 @@
// ==UserScript==
// @name Better xCloud
// @namespace https://github.com/redphx
// @version 2.0
// ==/UserScript==

File diff suppressed because it is too large Load Diff