An open API service indexing awesome lists of open source software.

https://github.com/w3c/openscreenprotocol

Open Screen Application Protocol + Open Screen Network Protocol
https://github.com/w3c/openscreenprotocol

second-screen

Last synced: 12 months ago
JSON representation

Open Screen Application Protocol + Open Screen Network Protocol

Awesome Lists containing this project

README

          

## Open Screen Protocol

This repository is used to develop
the [Open Screen Application Protocol](https://www.w3.org/TR/openscreen-application/)
and [Open Screen Network Protocol](https://www.w3.org/TR/openscreen-network/), a suite of
network protocols that allow user agents to implement the [Presentation
API](https://www.w3.org/TR/presentation-api/) and [Remote Playback
API](https://www.w3.org/TR/remote-playback/) in an interoperable fashion.

The [explainer](explainer.md) goes into more depth regarding the motivation, and
rationale, and design choices for the protocol.

This work is in scope for the [W3C Second Screen Working
Group](https://www.w3.org/2014/secondscreen/)
([Charter](https://www.w3.org/2024/05/charter-secondscreen-wg.html)).

Please refer to the group's [Work
Mode](https://www.w3.org/wiki/Second_Screen/Work_Mode) for instructions on how
to contribute.

The protocol will meet the [functional and non-functional
requirements](requirements.md) of the respective APIs as well as [hardware
requirements](device_specs.md) for prospective implementations.

### Status

The protocol is considered to be complete for the requirements above. It will
be published as a First Public Working Draft in mid-March 2021. The remaining
issues on the draft are tagged
[_v1-spec_](https://github.com/w3c/openscreenprotocol/labels/v1-spec) in GitHub
and noted [inline in the
spec](https://w3c.github.io/openscreenprotocol/#issues-index).

### Related technologies

The Open Screen Protocol is built on the following standardized technologies:

- [mDNS](https://tools.ietf.org/html/rfc6762)/[DNS-SD](https://tools.ietf.org/html/rfc6763)
to allow networked devices that support OSP (Open Screen agents) to discover
each other;
- [TLS 1.3](https://tools.ietf.org/html/rfc8446) and a Password-Authenticated
Key Exchange
([PAKE](https://datatracker.ietf.org/doc/draft-irtf-cfrg-spake2/)) to create a
secure channel between agents;
- [QUIC](https://datatracker.ietf.org/doc/draft-ietf-quic-transport/) to
transport data and media between agents;
- [CBOR](https://tools.ietf.org/html/rfc8949) to encode structured data and
media on-the-wire.

### Background Information

The excellent [Discovery and Pairing Literature
Review](https://github.com/bbc/device-discovery-pairing/blob/master/document.md)
by [@chrisn](https://github.com/chrisn) and
[@libbymiller](https://github.com/libbymiller) covers a wide range of existing
technologies for ad-hoc interconnection among networked devices, including
mDNS/DNS-SD and SSDP.