The SmartGlass integration with Microsoft's Xbox Music service is similar to Xbox Video. You can use a mobile device as a controller, pausing and skipping tracks, queuing up new music, reading. How to email an imovie. Fast forward to 2013 and the Xbox 360 has a few new tricks up its sleeve. Aside from going through some design revisions, cloud functionality and numerous new software features, there is one of those features that really stands out and it's all part of Microsoft's vision for three screens and a cloud: Xbox SmartGlass.
This library provides the core foundation for the smartglass protocol that is usedwith the Xbox One Gaming console
For in-depth information, check out the documentation: https://openxbox.org/smartglass-documentation
NOTE: Since 29.02.2020 the following modules are integrated into core: stump, auxiliary, rest-serverNOTE: Nano module is still offered seperately
Features
- Power on / off the console
- Get system info (running App/Game/Title, dashboard version)
- Media player control (seeing content id, content app, playback actions etc.)
- Stump protocol (Live-TV Streaming / IR control)
- Title / Auxiliary stream protocol (f.e. Fallout 4 companion app)
- Trigger GameDVR remotely
- REST Server
Major frameworks used
- Xbox WebAPI https://github.com/OpenXbox/xbox-webapi-python
- construct - Binary parsing https://construct.readthedocs.io/
- cryptography - cryptography magic https://cryptography.io/en/stable/
- dpkt - pcap parsing https://dpkt.readthedocs.io/en/latest/
- FastAPI - REST API https://github.com/tiangolo/fastapi
- urwid - TUI app https://github.com/urwid/urwid
- pydantic - JSON models https://github.com/samuelcolvin/pydantic
Install
Via pip
See the end of this README for development-targeted instructions.
How to use
There are several command line utilities to check out::
Some functionality, such as GameDVR record, requires authenticationwith your Microsoft Account to validate you have the right to triggersuch action.
To authenticate / get authentication tokens use::
REST server
Start the server daemon
Usage information
Example localhost:
Example local network:
192.168.0.100 is the IP address of your computer running the server:
REST API
Since the migration from Flask framework to FastAPI, there is a niceOpenAPI documentation available:
Authentication
If your server runs on something else than 127.0.0.1:5557 or 127.0.0.1:8080 youneed to register your own OAUTH application on Azure AD and supply appropriateparameters to the login-endpoint of the REST server.
Check out: https://github.com/OpenXbox/xbox-webapi-python/blob/master/README.md
Fallout 4 relay service
To forward the title communication from the Xbox to your local hostto use third-party Fallout 4 Pip boy applications or extensions
Screenshots
Here you can see the SmartGlass TUI (Text user interface):
Development workflow
Ready to contribute? Here's how to set up xbox-smartglass-core-python
for local development.
- Fork the
xbox-smartglass-core-python
repo on GitHub. - Clone your fork locally
- Install your local copy into a virtual environment. This is how you set up your fork for local development
- Create a branch for local development::
Make your changes.
Before pushing the changes to git, please verify they actually work
- Commit your changes and push your branch to GitHub::
- Submit a pull request through the GitHub website.
Pull Request Guidelines
Before you submit a pull request, check that it meets these guidelines:
- Code includes unit-tests.
- Added code is properly named and documented.
- On major changes the README is updated.
- Run tests / linting locally before pushing to remote.
Credits
Kudos to joelday for figuring out the AuxiliaryStream / TitleChannel communication first!You can find the original implementation here: SmartGlass.CSharp
This package uses parts of Cookiecutter and theaudreyr/cookiecutter-pypackage project template
This library provides the core foundation for the smartglass protocol that is usedwith the Xbox One Gaming console
For in-depth information, check out the documentation: https://openxbox.org/smartglass-documentation
NOTE: Since 29.02.2020 the following modules are integrated into core: stump, auxiliary, rest-serverNOTE: Nano module is still offered seperately
Features
- Power on / off the console
- Get system info (running App/Game/Title, dashboard version)
- Media player control (seeing content id, content app, playback actions etc.)
- Stump protocol (Live-TV Streaming / IR control)
- Title / Auxiliary stream protocol (f.e. Fallout 4 companion app)
- Trigger GameDVR remotely
- REST Server
Major frameworks used
- Xbox WebAPI https://github.com/OpenXbox/xbox-webapi-python
- construct - Binary parsing https://construct.readthedocs.io/
- cryptography - cryptography magic https://cryptography.io/en/stable/
- dpkt - pcap parsing https://dpkt.readthedocs.io/en/latest/
- FastAPI - REST API https://github.com/tiangolo/fastapi
- urwid - TUI app https://github.com/urwid/urwid
- pydantic - JSON models https://github.com/samuelcolvin/pydantic
Install
Via pip
How To Set Up Smartglass On Xbox One Laptop
See the end of this README for development-targeted instructions.
How to use
There are several command line utilities to check out::
Some functionality, such as GameDVR record, requires authenticationwith your Microsoft Account to validate you have the right to triggersuch action.
To authenticate / get authentication tokens use::
REST server
Start the server daemon
Usage information
How to do disk imaging. Example localhost: How to edit videos on windows 7.
How To Set Up Smartglass On Xbox One Controller
Example local network:
192.168.0.100 is the IP address of your computer running the server:
REST API
Since the migration from Flask framework to FastAPI, there is a niceOpenAPI documentation available:
Authentication
If your server runs on something else than 127.0.0.1:5557 or 127.0.0.1:8080 youneed to register your own OAUTH application on Azure AD and supply appropriateparameters to the login-endpoint of the REST server.
Check out: https://github.com/OpenXbox/xbox-webapi-python/blob/master/README.md
Fallout 4 relay service
To forward the title communication from the Xbox to your local hostto use third-party Fallout 4 Pip boy applications or extensions
Screenshots
Here you can see the SmartGlass TUI (Text user interface):
Development workflow
Ready to contribute? Here's how to set up xbox-smartglass-core-python
for local development.
- Fork the
xbox-smartglass-core-python
repo on GitHub. - Clone your fork locally
- Install your local copy into a virtual environment. This is how you set up your fork for local development
- Create a branch for local development::
Make your changes.
Before pushing the changes to git, please verify they actually work
- Commit your changes and push your branch to GitHub::
- Submit a pull request through the GitHub website.
Pull Request Guidelines
Before you submit a pull request, check that it meets these guidelines:
- Code includes unit-tests.
- Added code is properly named and documented.
- On major changes the README is updated.
- Run tests / linting locally before pushing to remote.
Credits
Kudos to joelday for figuring out the AuxiliaryStream / TitleChannel communication first!You can find the original implementation here: SmartGlass.CSharp
This package uses parts of Cookiecutter and theaudreyr/cookiecutter-pypackage project template