F1-Web-Viewer icon indicating copy to clipboard operation
F1-Web-Viewer copied to clipboard

No compatible source was found for this media

Open Placemaster opened this issue 3 years ago • 36 comments

When opening the stream I do get the following message: No compatible source was found for this media. I do have the program running on my laptop (Macbook Air). So opening the webviewer via http://localhost:3000/

Schermafbeelding 2021-12-04 om 14 45 15

Desktop (please complete the following information):

  • MacOS Monterey 12.0.1
  • Chrome Version 96.0.4664.55

F1TV Account (please complete the following information):

  • Pro Subscription
  • Netherlands

Placemaster avatar Dec 04 '21 13:12 Placemaster

Same Issue:

Windows 10 19042.1288 Chrome Version 96.0.4664.45 Pro Subscription US

Issue does not occur using Firefox (current workaround)

trilosi avatar Dec 04 '21 14:12 trilosi

Thanks for letting me know about this! I'll look into it and try to get a fix

bootsie123 avatar Dec 04 '21 14:12 bootsie123

Quick status update on this issue. I'm trying to reproduce it, although, everything seems to be working fine for me when viewing replays (I only have the F1TV Access subscription at this time).

I assume you guys are trying to watch content related to the Saudi Arabian GP? Would you mind sending me the output in the console tab of the Chrome Dev Tools? Also, could you email (specifically email because it could contain sensitive information) me the HAR file from the network tab? Just press the button according to the image below. Screenshot_9

If you could do that, that would be great! Thanks!

bootsie123 avatar Dec 04 '21 18:12 bootsie123

Hi John,

Please find attached the output.

The HAR file will be sent desperately because of it’s size. I already got 1 email returned because of the size.

Regards, Erwin

Op 4 dec. 2021, om 19:35 heeft John Arrandale @.***> het volgende geschreven:

Quick status update on this issue. I'm trying to reproduce it, although, everything seems to be working fine for me when viewing replays (I only have the F1TV Access subscription at this time).

I assume you guys are trying to watch content related to the Saudi Arabian GP? Would you mind sending me the output in the console tab of the Chrome Dev Tools? Also, could you email (specifically email because it could contain sensitive information) me the HAR file from the network tab? Just press the button according to the image below. https://user-images.githubusercontent.com/22622963/144720706-5964b3da-c027-4cda-a951-4e9cde88f107.png If you could do that, that would be great! Thanks!

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/bootsie123/F1-Web-Viewer/issues/50#issuecomment-986073173, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAHRA3AWJPNUI7B4U5VDQRTUPJNONANCNFSM5JLTFBNQ. Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Placemaster avatar Dec 04 '21 18:12 Placemaster

I needed to compress the file.

Op 4 dec. 2021, om 19:35 heeft John Arrandale @.@.>> het volgende geschreven:

Quick status update on this issue. I'm trying to reproduce it, although, everything seems to be working fine for me when viewing replays (I only have the F1TV Access subscription at this time).

I assume you guys are trying to watch content related to the Saudi Arabian GP? Would you mind sending me the output in the console tab of the Chrome Dev Tools? Also, could you email (specifically email because it could contain sensitive information) me the HAR file from the network tab? Just press the button according to the image below. [Screenshot_9]https://user-images.githubusercontent.com/22622963/144720706-5964b3da-c027-4cda-a951-4e9cde88f107.png

If you could do that, that would be great! Thanks!

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/bootsie123/F1-Web-Viewer/issues/50#issuecomment-986073173, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAHRA3AWJPNUI7B4U5VDQRTUPJNONANCNFSM5JLTFBNQ. Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Placemaster avatar Dec 04 '21 18:12 Placemaster

I checked Chrome with the previous race and quali and there it still works with Chrome. So it looks like it is limited to the streams from Saudi Arabia. Maybe F1 TV has changed some things.

Placemaster avatar Dec 05 '21 09:12 Placemaster

It seems Qatar serves up an m3u8 playlist, but Saudi is serving up an mpd file. Never heard of it, but looks like an XML format for multi-bitrate streams.

https://fileinfo.com/extension/mpd

image

Qatar Pre-Race show replay; Working:

http://localhost:3000/proxy/https://f1tv.formula1.com/1.0/R/ENG/BIG_SCREEN_HLS/ALL/CONTENT/PLAY?contentId=1000004967

image

Saudi Pre-Race show replay; Not:

http://localhost:3000/proxy/https://f1tv.formula1.com/1.0/R/ENG/BIG_SCREEN_HLS/ALL/CONTENT/PLAY?contentId=1000004996

image

Tests

Saudi Pre-Race replay

  1. Safari - Fail
  2. Chrome - Fail
  3. Firefox - Works, always gets served streamType:'HLS'

Theory

They're using AVC instead of MP4 and changed the playlist format. Firefox must not be enabled for some reason, so it serves up the legacy m3u8 playlist format.

Looks similar to #35 Perhaps they're playing with updated formats.

JoeMatt avatar Dec 05 '21 19:12 JoeMatt

Same this morning for F2 practise in chrome. I have it working with Safari and Firefox.

Plebster avatar Dec 10 '21 08:12 Plebster

Same problem here for Abu Dhabi during Practice 1. I'm on Chrome with an F1 Pro subscription. All channels show that no compatible sources have been found.

However, if I try to replay a Practice session from Last race there's no problem.

Edit: I can confirm there's no such problem on FireFox.

ManCaveMedia avatar Dec 10 '21 09:12 ManCaveMedia

Hi everyone! So sorry for letting this issue sit here. I've gotten pretty busy these last few months and haven't had much time to work on this project. However, it's come to my attention that F1TV may have changed the file format for replays as well. So, I'm going to be making this a high priority or myself and address it once and for all.

I'm hoping to get time this weekend to work on a fix. I'll give an update on where I stand Monday.

Thanks in advanced for your patience with this!

bootsie123 avatar Feb 11 '22 02:02 bootsie123

Hi all! Apologies for no update like I promised. Don't worry though, I am currently working on this as we speak. I also have off for the next 4 days. So, I'm going to set aside all of my time to work on this. As of right now, I'm currently working on issue #35 since it's affecting the replays in general right now.

It also seems like everything is being served as m3u8 at the moment instead of mpd. However, I'll work on adding compatibility of mpd's in case they switch back again

bootsie123 avatar Feb 19 '22 19:02 bootsie123

Hey, I'm getting this for the testing session now, I've tried a few races from last season the ones I tried seemed to work.

I'm running in docker, just pulled the latest image and I built the image myself, neither worked for testing. Running version 1.7.13

Thanks for all your good work

Plebster avatar Mar 10 '22 08:03 Plebster

Thanks for letting me know! I'll definitely take a look at this. I assume it's probably because they switched to the mpd format. I'll see what I can do in the meantime. I'm currently using F1TV Access, so I may not be able to reproduce the issue.

Is this only when watching preseason testing live? Or do you get the same problem with preseason replays too?

bootsie123 avatar Mar 10 '22 12:03 bootsie123

I just tried the world feed on race session for the last 3 races of last season and they all worked

Plebster avatar Mar 10 '22 13:03 Plebster

Thanks for letting me know! I'll definitely take a look at this. I assume it's probably because they switched to the mpd format. I'll see what I can do in the meantime. I'm currently using F1TV Access, so I may not be able to reproduce the issue.

Is this only when watching preseason testing live? Or do you get the same problem with preseason replays too?

Seems the only thing you need is a contrib-dash plugin, and some tiny modifications - I made my version worked, which can be accessed at https://live.sox.pm/

Changes: https://github.com/iebb/F1-Web-Viewer/commit/69fcbc33d18288a1656f03cac771e685f5600c57#diff-a9a5ba5f07e2a582c080946915d4cfe61011f72b6b7935afdbaef8ec2da2b49bR126-R143

iebb avatar Mar 10 '22 17:03 iebb

Yup! Using contrib-dash should do the trick. Pretty simple fix. Just need to properly test it to make sure

bootsie123 avatar Mar 10 '22 17:03 bootsie123

image

iebb avatar Mar 10 '22 17:03 iebb

oddly I couldn't get my newly built image to work but https://live.sox.pm/ worked fine for me... thank you for being on the ball :D

Plebster avatar Mar 10 '22 21:03 Plebster

The fix isn't quite pushed to the master branch yet. I should have enough time today to get it done. If not, definitely by tomorrow unless I run into issues pushing to Dockerhub again. I'll update this comment once it's complete. Unfortunately, since I have F1TV Access, I won't be able to properly test it, but I'll try with a different source and of course refer to the fork from @iebb

bootsie123 avatar Mar 10 '22 21:03 bootsie123

@Plebster Just pushed a fix to the master branch. Would you mind giving it a test for me? I currently have F1TV Access so unfortunately I can't watch the latest replays from testing yet to actually test it. I did try a few mpd streams that also included DRM though and it seemed to work.

If so, thanks so much!

bootsie123 avatar Mar 11 '22 01:03 bootsie123

I've pulled from master and created an image... I can get the replays of testing to work but not the live session: Screenshot 2022-03-11 at 07 29 04

when I use https://live.sox.pm/ it all worked

Screenshot 2022-03-11 at 07 31 29

this is all done on a Mac

Plebster avatar Mar 11 '22 07:03 Plebster

I have done a little more testing...

I copied the docker image to a Debian server... same result as above, spinning circle on live

I started the server with npm start (after building) same result as above, spinning on live can watch yesterdays replays

I'm going to have one more go with @iebb branch

Plebster avatar Mar 11 '22 08:03 Plebster

I've pulled from master and created an image... I can get the replays of testing to work but not the live session: Screenshot 2022-03-11 at 07 29 04

when I use https://live.sox.pm/ it all worked

Screenshot 2022-03-11 at 07 31 29

this is all done on a Mac

older replays(more than 24h?) are already in m3u8(hls) and live / recent replays are in mpd, so it's still some mpd issues.

iebb avatar Mar 11 '22 09:03 iebb

Hm. Can you post the output from your browser's console?

bootsie123 avatar Mar 11 '22 11:03 bootsie123

videojs-dash.es.js:50633 GET http://localhost:3000/proxy/https://ott-video-cf.formula1.com/f7b399c8cf81ac81/out/v1/c78fd9aa48b6439d8261b62793ebc063/index_audio_7_0_init.mp4?m=1645202309 400 (Bad Request) r @ videojs-dash.es.js:50633 P @ videojs-dash.es.js:50241 k @ videojs-dash.es.js:50291 o @ videojs-dash.es.js:50519 g @ videojs-dash.es.js:28874 O @ videojs-dash.es.js:47657 R @ videojs-dash.es.js:47642 ce @ videojs-dash.es.js:34491 (anonymous) @ videojs-dash.es.js:17838 r @ videojs-dash.es.js:17837 H @ videojs-dash.es.js:41388 B @ videojs-dash.es.js:41363 setTimeout (async) j @ videojs-dash.es.js:41318 qe @ videojs-dash.es.js:33912 (anonymous) @ videojs-dash.es.js:42171 Promise.then (async) Se @ videojs-dash.es.js:42151 i @ videojs-dash.es.js:42119 videojs-dash.es.js:50633 GET http://localhost:3000/proxy/https://ott-video-cf.formula1.com/f7b399c8cf81ac81/out/v1/c78fd9aa48b6439d8261b62793ebc063/index_video_2_0_init.mp4?m=1645202309 400 (Bad Request) r @ videojs-dash.es.js:50633 P @ videojs-dash.es.js:50241 k @ videojs-dash.es.js:50291 o @ videojs-dash.es.js:50519 g @ videojs-dash.es.js:28874 O @ videojs-dash.es.js:47657 R @ videojs-dash.es.js:47642 ce @ videojs-dash.es.js:34491 (anonymous) @ videojs-dash.es.js:17838 r @ videojs-dash.es.js:17837 H @ videojs-dash.es.js:41388 B @ videojs-dash.es.js:41363 setTimeout (async) j @ videojs-dash.es.js:41318 qe @ videojs-dash.es.js:33912 (anonymous) @ videojs-dash.es.js:42171 Promise.then (async) Se @ videojs-dash.es.js:42151 i @ videojs-dash.es.js:42119 videojs-dash.es.js:50633 GET http://localhost:3000/proxy/https://ott-video-cf.formula1.com/f7b399c8cf81ac81/out/v1/c78fd9aa48b6439d8261b62793ebc063/index_video_2_0_init.mp4?m=1645202309 400 (Bad Request) r @ videojs-dash.es.js:50633 P @ videojs-dash.es.js:50241 (anonymous) @ videojs-dash.es.js:50097 setTimeout (async) j @ videojs-dash.es.js:50090 XMLHttpRequest.send (async) r @ videojs-dash.es.js:50633 P @ videojs-dash.es.js:50241 k @ videojs-dash.es.js:50291 o @ videojs-dash.es.js:50519 g @ videojs-dash.es.js:28874 O @ videojs-dash.es.js:47657 R @ videojs-dash.es.js:47642 ce @ videojs-dash.es.js:34491 (anonymous) @ videojs-dash.es.js:17838 r @ videojs-dash.es.js:17837 H @ videojs-dash.es.js:41388 B @ videojs-dash.es.js:41363 setTimeout (async) j @ videojs-dash.es.js:41318 qe @ videojs-dash.es.js:33912 (anonymous) @ videojs-dash.es.js:42171 Promise.then (async) Se @ videojs-dash.es.js:42151 i @ videojs-dash.es.js:42119 videojs-dash.es.js:50633 GET http://localhost:3000/proxy/https://ott-video-cf.formula1.com/f7b399c8cf81ac81/out/v1/c78fd9aa48b6439d8261b62793ebc063/index_audio_7_0_init.mp4?m=1645202309 400 (Bad Request) r @ videojs-dash.es.js:50633 P @ videojs-dash.es.js:50241 (anonymous) @ videojs-dash.es.js:50097 setTimeout (async) j @ videojs-dash.es.js:50090 XMLHttpRequest.send (async) r @ videojs-dash.es.js:50633 P @ videojs-dash.es.js:50241 k @ videojs-dash.es.js:50291 o @ videojs-dash.es.js:50519 g @ videojs-dash.es.js:28874 O @ videojs-dash.es.js:47657 R @ videojs-dash.es.js:47642 ce @ videojs-dash.es.js:34491 (anonymous) @ videojs-dash.es.js:17838 r @ videojs-dash.es.js:17837 H @ videojs-dash.es.js:41388 B @ videojs-dash.es.js:41363 setTimeout (async) j @ videojs-dash.es.js:41318 qe @ videojs-dash.es.js:33912 (anonymous) @ videojs-dash.es.js:42171 Promise.then (async) Se @ videojs-dash.es.js:42151 i @ videojs-dash.es.js:42119 videojs-dash.es.js:50633 GET http://localhost:3000/proxy/https://ott-video-cf.formula1.com/f7b399c8cf81ac81/out/v1/c78fd9aa48b6439d8261b62793ebc063/index_video_2_0_init.mp4?m=1645202309 400 (Bad Request) r @ videojs-dash.es.js:50633 P @ videojs-dash.es.js:50241 (anonymous) @ videojs-dash.es.js:50097 setTimeout (async) j @ videojs-dash.es.js:50090 XMLHttpRequest.send (async) r @ videojs-dash.es.js:50633 P @ videojs-dash.es.js:50241 (anonymous) @ videojs-dash.es.js:50097 setTimeout (async) j @ videojs-dash.es.js:50090 XMLHttpRequest.send (async) r @ videojs-dash.es.js:50633 P @ videojs-dash.es.js:50241 k @ videojs-dash.es.js:50291 o @ videojs-dash.es.js:50519 g @ videojs-dash.es.js:28874 O @ videojs-dash.es.js:47657 R @ videojs-dash.es.js:47642 ce @ videojs-dash.es.js:34491 (anonymous) @ videojs-dash.es.js:17838 r @ videojs-dash.es.js:17837 H @ videojs-dash.es.js:41388 B @ videojs-dash.es.js:41363 setTimeout (async) j @ videojs-dash.es.js:41318 qe @ videojs-dash.es.js:33912 (anonymous) @ videojs-dash.es.js:42171 Promise.then (async) Se @ videojs-dash.es.js:42151 i @ videojs-dash.es.js:42119 videojs-dash.es.js:50633 GET http://localhost:3000/proxy/https://ott-video-cf.formula1.com/f7b399c8cf81ac81/out/v1/c78fd9aa48b6439d8261b62793ebc063/index_audio_7_0_init.mp4?m=1645202309 400 (Bad Request) r @ videojs-dash.es.js:50633 P @ videojs-dash.es.js:50241 (anonymous) @ videojs-dash.es.js:50097 setTimeout (async) j @ videojs-dash.es.js:50090 XMLHttpRequest.send (async) r @ videojs-dash.es.js:50633 P @ videojs-dash.es.js:50241 (anonymous) @ videojs-dash.es.js:50097 setTimeout (async) j @ videojs-dash.es.js:50090 XMLHttpRequest.send (async) r @ videojs-dash.es.js:50633 P @ videojs-dash.es.js:50241 k @ videojs-dash.es.js:50291 o @ videojs-dash.es.js:50519 g @ videojs-dash.es.js:28874 O @ videojs-dash.es.js:47657 R @ videojs-dash.es.js:47642 ce @ videojs-dash.es.js:34491 (anonymous) @ videojs-dash.es.js:17838 r @ videojs-dash.es.js:17837 H @ videojs-dash.es.js:41388 B @ videojs-dash.es.js:41363 setTimeout (async) j @ videojs-dash.es.js:41318 qe @ videojs-dash.es.js:33912 (anonymous) @ videojs-dash.es.js:42171 Promise.then (async) Se @ videojs-dash.es.js:42151 i @ videojs-dash.es.js:42119 videojs-dash.es.js:50633 GET http://localhost:3000/proxy/https://ott-video-cf.formula1.com/f7b399c8cf81ac81/out/v1/c78fd9aa48b6439d8261b62793ebc063/index_video_2_0_init.mp4?m=1645202309 400 (Bad Request) r @ videojs-dash.es.js:50633 P @ videojs-dash.es.js:50241 (anonymous) @ videojs-dash.es.js:50097 setTimeout (async) j @ videojs-dash.es.js:50090 XMLHttpRequest.send (async) r @ videojs-dash.es.js:50633 P @ videojs-dash.es.js:50241 (anonymous) @ videojs-dash.es.js:50097 setTimeout (async) j @ videojs-dash.es.js:50090 XMLHttpRequest.send (async) r @ videojs-dash.es.js:50633 P @ videojs-dash.es.js:50241 (anonymous) @ videojs-dash.es.js:50097 setTimeout (async) j @ videojs-dash.es.js:50090 XMLHttpRequest.send (async) r @ videojs-dash.es.js:50633 P @ videojs-dash.es.js:50241 k @ videojs-dash.es.js:50291 o @ videojs-dash.es.js:50519 g @ videojs-dash.es.js:28874 O @ videojs-dash.es.js:47657 R @ videojs-dash.es.js:47642 ce @ videojs-dash.es.js:34491 (anonymous) @ videojs-dash.es.js:17838 r @ videojs-dash.es.js:17837 H @ videojs-dash.es.js:41388 B @ videojs-dash.es.js:41363 setTimeout (async) j @ videojs-dash.es.js:41318 qe @ videojs-dash.es.js:33912 (anonymous) @ videojs-dash.es.js:42171 Promise.then (async) Se @ videojs-dash.es.js:42151 i @ videojs-dash.es.js:42119 videojs-dash.es.js:17670 [4082][FragmentController] No video bytes to push or stream is inactive. I @ videojs-dash.es.js:17670 S @ videojs-dash.es.js:17621 C @ videojs-dash.es.js:39041 (anonymous) @ videojs-dash.es.js:17838 r @ videojs-dash.es.js:17837 M @ videojs-dash.es.js:47727 (anonymous) @ videojs-dash.es.js:17838 r @ videojs-dash.es.js:17837 r @ videojs-dash.es.js:28865 error @ videojs-dash.es.js:28896 j @ videojs-dash.es.js:50110 XMLHttpRequest.send (async) r @ videojs-dash.es.js:50633 P @ videojs-dash.es.js:50241 (anonymous) @ videojs-dash.es.js:50097 setTimeout (async) j @ videojs-dash.es.js:50090 XMLHttpRequest.send (async) r @ videojs-dash.es.js:50633 P @ videojs-dash.es.js:50241 (anonymous) @ videojs-dash.es.js:50097 setTimeout (async) j @ videojs-dash.es.js:50090 XMLHttpRequest.send (async) r @ videojs-dash.es.js:50633 P @ videojs-dash.es.js:50241 (anonymous) @ videojs-dash.es.js:50097 setTimeout (async) j @ videojs-dash.es.js:50090 XMLHttpRequest.send (async) r @ videojs-dash.es.js:50633 P @ videojs-dash.es.js:50241 k @ videojs-dash.es.js:50291 o @ videojs-dash.es.js:50519 g @ videojs-dash.es.js:28874 O @ videojs-dash.es.js:47657 R @ videojs-dash.es.js:47642 ce @ videojs-dash.es.js:34491 (anonymous) @ videojs-dash.es.js:17838 r @ videojs-dash.es.js:17837 H @ videojs-dash.es.js:41388 B @ videojs-dash.es.js:41363 setTimeout (async) j @ videojs-dash.es.js:41318 qe @ videojs-dash.es.js:33912 (anonymous) @ videojs-dash.es.js:42171 Promise.then (async) Se @ videojs-dash.es.js:42151 i @ videojs-dash.es.js:42119 videojs-dash.es.js:50633 GET http://localhost:3000/proxy/https://ott-video-cf.formula1.com/f7b399c8cf81ac81/out/v1/c78fd9aa48b6439d8261b62793ebc063/index_audio_7_0_init.mp4?m=1645202309 400 (Bad Request) r @ videojs-dash.es.js:50633 P @ videojs-dash.es.js:50241 (anonymous) @ videojs-dash.es.js:50097 setTimeout (async) j @ videojs-dash.es.js:50090 XMLHttpRequest.send (async) r @ videojs-dash.es.js:50633 P @ videojs-dash.es.js:50241 (anonymous) @ videojs-dash.es.js:50097 setTimeout (async) j @ videojs-dash.es.js:50090 XMLHttpRequest.send (async) r @ videojs-dash.es.js:50633 P @ videojs-dash.es.js:50241 (anonymous) @ videojs-dash.es.js:50097 setTimeout (async) j @ videojs-dash.es.js:50090 XMLHttpRequest.send (async) r @ videojs-dash.es.js:50633 P @ videojs-dash.es.js:50241 k @ videojs-dash.es.js:50291 o @ videojs-dash.es.js:50519 g @ videojs-dash.es.js:28874 O @ videojs-dash.es.js:47657 R @ videojs-dash.es.js:47642 ce @ videojs-dash.es.js:34491 (anonymous) @ videojs-dash.es.js:17838 r @ videojs-dash.es.js:17837 H @ videojs-dash.es.js:41388 B @ videojs-dash.es.js:41363 setTimeout (async) j @ videojs-dash.es.js:41318 qe @ videojs-dash.es.js:33912 (anonymous) @ videojs-dash.es.js:42171 Promise.then (async) Se @ videojs-dash.es.js:42151 i @ videojs-dash.es.js:42119

Plebster avatar Mar 11 '22 12:03 Plebster

Screenshot 2022-03-11 at 12 14 35

Plebster avatar Mar 11 '22 12:03 Plebster

Awesome, thank you!

bootsie123 avatar Mar 11 '22 12:03 bootsie123

Trying to watch 2022 Bahrain GP, Practise 1 and getting this error also. image

mnicex avatar Mar 18 '22 13:03 mnicex

@mnicex Are you using the hosted version of the F1 Webviewer or are you running the code from Master?

I had Master running locally during FP1 but all I got was "spinners" when I tried watching live video streams. However I am able to watch videos of previous test sessions.

tvandergeer avatar Mar 18 '22 14:03 tvandergeer

Same issue here running hosted, no live streams.

vexersa avatar Mar 18 '22 15:03 vexersa