Skip to content

Add Player stats and improve Telemery #11

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 33 commits into
base: dev
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
1d93932
chore(HTTPConnector): handle correctly a signaling fetch error
thomasjammet Mar 15, 2024
ee5cdd2
fix(StreamerStats): fix video metrics
thomasjammet Mar 15, 2024
fae126b
style(StreamerStats): fix a comment
thomasjammet Mar 20, 2024
310ad2d
feat(PlayerStats): add playerstats class to implement basic player me…
thomasjammet Mar 20, 2024
6592804
docs(Connectors): small typo and comments changes
thomasjammet Mar 22, 2024
60837b5
chore(PlayerStats): add incomingBitrate
thomasjammet Mar 22, 2024
b201c24
chore(Player): make connectioninfos cacheduration configurable
thomasjammet Mar 22, 2024
4fb8ce1
feat(Telemetry): change telemetry report() behavior
thomasjammet Mar 22, 2024
c73ebb3
chore(Streamer): make connectioninfos cacheduration configurable
thomasjammet Mar 22, 2024
c9c3534
chore(examples): add player-stats.html example
thomasjammet Mar 22, 2024
bc21bab
docs(README): document the telemetry + add example
thomasjammet Mar 22, 2024
d4f7352
chore(example): remove customstats timestamp property
thomasjammet Mar 22, 2024
3d88029
Use web-utils (#10)
thomasjammet Mar 26, 2024
e3fd7f3
Merge branch 'dev' into player-stats
thomasjammet Mar 28, 2024
c182d8b
chore(PlayerStats): update playerstats to use web-utils
thomasjammet Mar 28, 2024
5de0989
chore(player-stats.js): improvement to show the timestamps correctly
thomasjammet Apr 4, 2024
98c7f88
chore(CustomStats.js): Correction of custom metrics NaN values
thomasjammet Apr 4, 2024
5bfb81f
chore(player-stats.html): UI improvement for responsiveness
thomasjammet Apr 4, 2024
f967eb9
chore(examples): update webfonts
thomasjammet Apr 4, 2024
4cd3175
Merge branch 'dev' into player-stats
thomasjammet Apr 4, 2024
30df693
Merge branch 'dev' into player-stats
Aug 15, 2024
3678ca8
feat(metrics): add candidate protocol to metrics
Aug 16, 2024
afce5d3
chore(examples): remove custom stats
Aug 16, 2024
3193b8f
chore(examples): add streamer-stats.html
Aug 16, 2024
9c6b920
chore(examples): add logs and report button to player-stats.html
Aug 23, 2024
a7b8e0c
Merge branch 'dev' into player-stats
Aug 27, 2024
4c36a9d
chore(examples): add adaptive bitrate checkbox to streamer-stats.html
Sep 4, 2024
08a2369
Merge branch 'dev' into player-stats
thomasjammet Jan 20, 2025
b7d0c37
test(examples): update player-stats and streamer-stats
thomasjammet Jan 20, 2025
580c6cf
Merge branch 'dev' into player-stats
thomasjammet Jan 20, 2025
976be00
chore(player-stats.html): improve UI metrics example
thomasjammet Jan 24, 2025
b5e12f4
chore(examples): update bootstrap and add colorMode option
thomasjammet Jan 24, 2025
7c9eb5e
chore(examples): improve UI metrics of streamer-stats.html
thomasjammet Jan 24, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 15 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[Requirements](#requirements) | [Usage](#usage) | [Examples](#examples) | [Building locally](#building-locally) | [Documentation](#documentation) | [Contribution](#contribution) | [License](#license)
[Requirements](#requirements) | [Usage](#usage) | [Examples](#examples) | [Building locally](#building-locally) | [Statistics](#statistics) | [Documentation](#documentation) | [Contribution](#contribution) | [License](#license)

# Ceeblue WebRTC Client
[![npm](https://img.shields.io/npm/v/%40ceeblue%2Fwebrtc-client)](https://npmjs.org/package/@ceeblue/webrtc-client)
Expand Down Expand Up @@ -104,6 +104,7 @@ To understand how to use the library through examples, we provide three illustra
- [/examples/streamer.html](./examples/streamer.html) → Publish a stream with your webcam
- [/examples/player.html](./examples/player.html) → Play a stream
- [/examples/player-with-timed-metadata.html](./examples/player-with-timed-metadata.html) → Play a stream with timed metadata
- [/examples/player-stats.html](./examples/player-stats.html) → Play a stream, display and report the statistics

1. In your project directory, if you have installed the [http-server service](#requirements), execute the following command from the Terminal prompt by navigating to:

Expand Down Expand Up @@ -161,6 +162,19 @@ npm run build
> npm run watch:es5
> ```

## Statistics

The library provides :

- A set of statistics that can be accessed from the [Player](./src/Player.ts) and the [Streamer](./src/Streamer.ts) through the `connectionsInfos()` function.
- The [Telemetry](./src/stats/Telemetry.ts) class that allows you to send the statistics to a server through WebSocket or HTTP with different formats.
- An interface called [IStats](./src/stats/IStats.ts) that define the structure of the statistics class to pass to [Telemetry](./src/stats/Telemetry.ts).
- Two implementations of the [IStats](./src/stats/IStats.ts) interface:
- [PlayerStats](./src/stats/PlayerStats.ts) class that serialize the Player [Player](./src/Player.ts).
- [StreamerStats](./src/stats/StreamerStats.ts) class that serialize the Player [Streamer](./src/Streamer.ts).

For a full example, see player-stats.html in [Examples](#examples).

## Documentation

This monorepo also contains built-in documentation about the APIs in the library, which can be built using the following npm command:
Expand Down
Loading
Loading