F1-Web-Viewer
F1-Web-Viewer copied to clipboard
No compatible source was found for this media
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/

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
Same Issue:
Windows 10 19042.1288 Chrome Version 96.0.4664.45 Pro Subscription US
Issue does not occur using Firefox (current workaround)
Thanks for letting me know about this! I'll look into it and try to get a fix
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.
If you could do that, that would be great! Thanks!
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.
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.
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.
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

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

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

Tests
Saudi Pre-Race replay
- Safari - Fail
- Chrome - Fail
- 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.
Same this morning for F2 practise in chrome. I have it working with Safari and Firefox.
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.
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!
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
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
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?
I just tried the world feed on race session for the last 3 races of last season and they all worked
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
Yup! Using contrib-dash should do the trick. Pretty simple fix. Just need to properly test it to make sure
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
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
@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!
I've pulled from master and created an image... I can get the replays of testing to work but not the live session:
when I use https://live.sox.pm/ it all worked

this is all done on a Mac
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
I've pulled from master and created an image... I can get the replays of testing to work but not the live session:
when I use https://live.sox.pm/ it all worked
![]()
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.
Hm. Can you post the output from your browser's console?
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

Awesome, thank you!
Trying to watch 2022 Bahrain GP, Practise 1 and getting this error also.
@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.
Same issue here running hosted, no live streams.