{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/peertube/main/json-schema/PlaybackMetricCreate.json", "title": "PlaybackMetricCreate", "properties": { "playerMode": { "type": "string", "enum": [ "p2p-media-loader", "web-video" ] }, "resolution": { "type": "number", "description": "Current player video resolution" }, "fps": { "type": "number", "description": "Current player video fps" }, "p2pEnabled": { "type": "boolean" }, "p2pPeers": { "type": "number", "description": "P2P peers connected (doesn't include WebSeed peers)" }, "resolutionChanges": { "type": "number", "description": "How many resolution changes occurred since the last metric creation" }, "bufferStalled": { "type": "number", "description": "How many times buffer has been stalled since the last metric creation" }, "errors": { "type": "number", "description": "How many errors occurred since the last metric creation" }, "downloadedBytesP2P": { "type": "number", "description": "How many bytes were downloaded with P2P since the last metric creation" }, "downloadedBytesHTTP": { "type": "number", "description": "How many bytes were downloaded with HTTP since the last metric creation" }, "uploadedBytesP2P": { "type": "number", "description": "How many bytes were uploaded with P2P since the last metric creation" }, "videoId": { "oneOf": [ { "$ref": "#/components/schemas/id" }, { "$ref": "#/components/schemas/UUIDv4" }, { "$ref": "#/components/schemas/shortUUID" } ] } }, "required": [ "playerMode", "resolutionChanges", "errors", "downloadedBytesP2P", "downloadedBytesHTTP", "uploadedBytesP2P", "p2pEnabled", "videoId" ] }