|
1 | 1 | # Eyevinn Player Analytics Specification ( EPAS ) |
2 | 2 |
|
3 | | -The EPAS is an open specification that defines a standard for implementing analytics in any video/audio player. |
| 3 | +EPAS is an open specification that defines a standard for implementing analytics in any media player. By implementing the specification, a player can send analytics data to an EPAS-compatible backend. |
4 | 4 |
|
5 | | -By implementing the specification, a player can send analytics data to an EPAS-compatible backend. |
| 5 | +## Specification |
6 | 6 |
|
7 | | -The specification consists of a JSON schema, typescript definitions, and an event flow. |
| 7 | +See the [Specification README](specification/README.md). |
| 8 | + |
| 9 | +The specification consists of typescript definitions, a generated JSON schema, documentation , and an event flow. |
| 10 | + |
| 11 | +The specification is strictly for tracking playback quality using a concise set of events, that must follow a predictable sequence. |
| 12 | + |
| 13 | +The specification makes no assumptions about metadata surrounding quality tracking, like device type, user agent, or operating system version. Metadata is considered implementation specific. The specification is designed to allow for custom metadata to be added to a session at any time, see [Metadata Event](specification/README.md#metadata). |
| 14 | + |
| 15 | +## Contributing |
| 16 | + |
| 17 | +We welcome contributions, and recommend creating a Github Issue to discuss changes before starting work. This helps ensure that the changes align with the goals of the specification, and that we can provide guidance on implementation. |
| 18 | + |
| 19 | +The specification is written in TypeScript, and requires a Node.js environment with Yarn to build and test. To transform the specification into a JSON schema, use the `npm run json` command. |
| 20 | + |
| 21 | +Contributions should: |
| 22 | + |
| 23 | +- Update the TypeScript definitions in `/specification` |
| 24 | +- Update the README in `/specification` |
| 25 | +- Run `npm run json` to generate an updated JSON schema |
| 26 | +- Run `npm run typedoc` to generate updated documentation |
| 27 | +- OPTIONAL: Update the flowchart in `/specification/flowchart.md` |
8 | 28 |
|
9 | 29 | ## About Eyevinn Technology |
10 | 30 |
|
|
0 commit comments