WebRTC JavaScript Client demo playback issues

In Milestone WebRTC JavaScript client, live stream is working fine but below issues are observed with playback stream:

1. Playback time format with Z not working

The expected playback time format (as shown in the input placeholder) is:

2023-01-01T01:01:01.000Z

However, if I include the trailing Z in the playback time, the stream fails to load (viewer only shows the spinner). If I remove the Z (e.g. 2025-08-27T11:00:00.000), playback starts — but then issue (2) occurs.

2. Date and Time label shows wrong time

When playback is started without Z, the “Date and time” label initially shows the requested value correctly (e.g. 2025-08-27 11:00:00). After ~1–2 seconds (when the first frame arrives), the label suddenly jumps forward to 2025-10-15.

Note: The camera is in fact streaming video from the requested playback time (2025-08-27 11:00:00). The underlying stream is correct, but the Date and Time label displays wrong date time.

Live streaming does not show this problem — the Date and Time label is correct and stable.

3. Playback stream not smooth (frame loss / jitter)

During playback, video frames are dropped — the stream appears jittery with missing frames, unlike Live streaming which is smooth. Playback is working fine in XProtect Smart Client.

Environment information:

Milestone XProtect 2025 R2

I cannot reproduce when testing.

When I use something like “2025-08-29T08:23:47.0911248Z” I get playback from the expected time. My time zone is currently +2 (Copenhagen and summer time) so I have to remember to subtract 2 hours from the time I want to playback compared to the local time.

When I use something invalid, like the same time string without the Z, the UI of the sample will have a red text box showing me the format is off. However in this situation I can still use the start button effectively putting in a time format that is not correct, I can then see the behavior where the Date and Time label clearly shows an incorrect information, this matches your observation.

I will ask Milestone Development if they can explain the behavior we observe when invalid input is used.

Please try to double check whether you can get it to work using a valid time string including Z, making sure you do not use a time that is in the future, preferably use a time where you can verify that there is recorded footage on the camera you are testing with.

Thank you!

As suggested, I got playback stream working with the playback time format:

2025-08-29T08:00:00.000Z

The playback stream is now working as expected.

The Date and Time label is also displayed correctly with the correct time.