Skip to main content
Version: 3.2.7

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