SMIL events reporting
SMIL player has the option to turn on logging of major events which are happening during playlist lifecycle.
To turn logs on, you have to specify <meta>
tag with log value in the SMIL header.
<head>
<meta log="true" type="standard"/>
</head>
its also possible to specify multiple logging types at the same time:
<meta log="false" type="manual,standard" endpoint="testingEndpoint"/>
Logged events
- each file download successful or unsuccessful
- each media playback successful or unsuccessful
- some major errors ( trigger initialization, sensors etc...)
Payload of messages
Download
Success
{
"type": "SMIL.FileDownloaded",
"itemType": "unknown",
"source": {
"filePath": {
"path": "smil/images/img_5_37da4499.jpg",
"storage": "internal"
},
"uri": "https://demo.signageos.io/smil/zones/files/img_5.jpg",
"localUri": "smil/images/img_5_37da4499.jpg"
},
"startedAt": "2024-11-19T21:18:28.781Z",
"succeededAt": "2024-11-19T21:18:29.483Z",
"failedAt": null,
"errorMessage": null
}
Fail
{
"type": "SMIL.FileDownloaded",
"itemType": "unknown",
"source": {
"filePath": {
"path": "smil/images/img_5_37da4499.jpg",
"storage": "internal"
},
"uri": "https://demo.signageos.io/smil/zones/files/img_5.jpg",
"localUri": "smil/images/img_5_37da4499.jpg"
},
"startedAt": "2024-11-19T21:18:28.781Z",
"succeededAt": null,
"failedAt": "2024-11-19T21:18:29.483Z",
"errorMessage": "File not found"
}
Playback
Success
{
"type": "SMIL.MediaPlayed",
"itemType": "image",
"source": {
"filePath": {
"path": "http://localhost:8090/indexed_db/218603c29e5e7275a238c43a1422a9b19188752893c12c5128//internal/smil/images/img_4_762d1382.jpg",
"storage": ""
},
"uri": "http://localhost:8090/indexed_db/218603c29e5e7275a238c43a1422a9b19188752893c12c5128//internal/smil/images/img_4_762d1382.jpg?__smil_version=310446_0",
"localUri": "http://localhost:8090/indexed_db/218603c29e5e7275a238c43a1422a9b19188752893c12c5128//internal/smil/images/img_4_762d1382.jpg"
},
"startedAt": "2024-11-19T21:18:36.342Z",
"endedAt": "2024-11-19T21:18:41.357Z",
"failedAt": null,
"errorMessage": null
}
Fail
{
"type": "SMIL.MediaPlayed",
"itemType": "video",
"source": {
"filePath": {
"path": "http://localhost:8090/indexed_db/218603c29e5e7275a238c43a1422a9b19188752893c12c5128//internal/smil/images/img_4_762d1382.jpg",
"storage": ""
},
"uri": "http://localhost:8090/indexed_db/218603c29e5e7275a238c43a1422a9b19188752893c12c5128//internal/smil/images/img_4_762d1382.jpg?__smil_version=310446_0",
"localUri": "http://localhost:8090/indexed_db/218603c29e5e7275a238c43a1422a9b19188752893c12c5128//internal/smil/images/img_4_762d1382.jpg"
},
"startedAt": "2024-11-19T21:18:36.342Z",
"endedAt": null,
"failedAt": "2024-11-19T21:18:41.357Z",
"errorMessage": "Unsupported video format"
}
General error
{
"type": "SMIL.Error",
"failedAt": "2024-11-19T21:18:31.996Z",
"errorMessage": "No sensors specified for nexmosphere triggers: []"
}
How to retrieve logs from api
You need to make GET
request on endpoint
/v1/device/{{deviceUid}}/applet/{{appletUid}}/command