Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No compatible source was found for this media #50

Open
Placemaster opened this issue Dec 4, 2021 · 36 comments
Open

No compatible source was found for this media #50

Placemaster opened this issue Dec 4, 2021 · 36 comments
Assignees
Labels
bug Something isn't working

Comments

@Placemaster
Copy link

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 Placemaster added the bug Something isn't working label Dec 4, 2021
@trilosi
Copy link

trilosi commented Dec 4, 2021

Same Issue:

Windows 10 19042.1288
Chrome Version 96.0.4664.45
Pro Subscription
US

Issue does not occur using Firefox (current workaround)

@bootsie123
Copy link
Owner

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

@bootsie123
Copy link
Owner

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!

@Placemaster
Copy link
Author

Placemaster commented Dec 4, 2021 via email

@Placemaster
Copy link
Author

Placemaster commented Dec 4, 2021 via email

@Placemaster
Copy link
Author

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.

@JoeMatt
Copy link

JoeMatt commented Dec 5, 2021

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.

@Plebster
Copy link

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

@ManCaveMedia
Copy link

ManCaveMedia commented Dec 10, 2021

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.

@bootsie123
Copy link
Owner

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
Copy link
Owner

bootsie123 commented Feb 19, 2022

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

@Plebster
Copy link

Plebster commented Mar 10, 2022

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

@bootsie123
Copy link
Owner

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?

@Plebster
Copy link

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

@iebb
Copy link

iebb commented Mar 10, 2022

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: iebb@69fcbc3#diff-a9a5ba5f07e2a582c080946915d4cfe61011f72b6b7935afdbaef8ec2da2b49bR126-R143

@bootsie123
Copy link
Owner

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

@iebb
Copy link

iebb commented Mar 10, 2022

image

@Plebster
Copy link

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

@bootsie123
Copy link
Owner

bootsie123 commented Mar 10, 2022

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
Copy link
Owner

@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!

@Plebster
Copy link

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
Copy link

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

@iebb
Copy link

iebb commented Mar 11, 2022

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.

@bootsie123
Copy link
Owner

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

@Plebster
Copy link

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
Copy link

Screenshot 2022-03-11 at 12 14 35

@bootsie123
Copy link
Owner

Awesome, thank you!

@mnicex
Copy link

mnicex commented Mar 18, 2022

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

@tvandergeer
Copy link

tvandergeer commented Mar 18, 2022

@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.

@vexersa
Copy link

vexersa commented Mar 18, 2022

Same issue here running hosted, no live streams.

@mnicex
Copy link

mnicex commented Mar 18, 2022 via email

@castoridae
Copy link

Electron version works just fine.

@mnicex
Copy link

mnicex commented Mar 19, 2022

oh...so the Latest release does not include the fix for this yet? how do I pull master branch to docker ?

@bobk81
Copy link

bobk81 commented Mar 27, 2022

Any chance of creating a docker image with the fix in it? the last update to the docker image was on 25/02/2022. I have tried the npm option, but the install keeps failing, so if you could update the docker image it would be great. thx

@aeleos
Copy link

aeleos commented Mar 28, 2022

I am having the same issue with the current master branch. I was able to get it working with the modifications iebb made (https://github.com/iebb/F1-Web-Viewer) on the master branch. I would presume this is the code running on https://live.sox.pm/

@iebb
Copy link

iebb commented Apr 8, 2022

I am having the same issue with the current master branch. I was able to get it working with the modifications iebb made (https://github.com/iebb/F1-Web-Viewer) on the master branch. I would presume this is the code running on https://live.sox.pm/

there's a layer of reverse proxy behind https://live.sox.pm/ , besides that it's the same code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests