GithubHelp home page GithubHelp logo

robvdpol / racecontrol Goto Github PK

View Code? Open in Web Editor NEW
1.2K 1.2K 94.0 328.12 MB

Race Control is a standalone, open source F1TV client for Windows, written in C# on the .NET platform.

License: GNU General Public License v3.0

C# 100.00%
1080p 50fps f1 f1tv flyleaf flyleaflib formula1 mpv race-control streaming video-on-demand

racecontrol's People

Contributors

bartdevriendt avatar c0nd3mnd avatar cheesebaron avatar codecasternl avatar dependabot[bot] avatar edivad99 avatar emyarod avatar jaa101 avatar loht avatar robvdpol avatar spexxel avatar surgeonix avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

racecontrol's Issues

[BUG] Error Load failed when casting 2020 or older race stream

Describe the bug
Error windows when trying to cast a 2020 or older race stream to my Mi Box S with Chromecast built in.
Stream does load normally when playing with Race Control built in player or VLC on desktop.
Error message: Load failed

To Reproduce
Press 'Scan' in 'Options' section
Select Chromecast device from dropdown
Select 2020 or older race stream
Press Cast
Error message will pop-up

Expected behavior
Start casting selected stream to Chromecast device

Screenshots
afbeelding

Desktop (please complete the following information):
Windows 10 x64 20H2 build 19042.867
Casting device: Mi Box S (Chromecast built in)
Race Control version: 2.0.1

F1TV account
F1 TV Pro
Netherlands
No VPN or proxy

Additional context
Add any other context about the problem here.

Easy layouts for multiple streams [FEATURE]

Resizing and organizing more than 4 streams is difficult and time consuming.

Would it be possible to have preset window sizes and/or layouts that would accommodate more than 4 windows?

We could have a size that would fit 3x3 windows, one that would fit 5 (3x3 sized windows) and 1 larger window in the remaining space (that takes the space of 4 3x3 windows). Or perhaps just a way to autosnap when resizing the windows (1/4 width, 1/2, 3/4 etc).

Example of a nice layout with more than 4 equally sized windows:
image

[BUG] Download randomly freezes with no user feedback

Downloading any stream has a high chance of random freeze/stuck without any user feedback that this has happened. Freeze can be observed by looking at file size not increasing or network monitor showing zero network activity. Download window remains in "downloading" state indefinitely when this happens. Tested on 2020 Belgian GP onboard footage.
Suspected "Pipe copy aborted" error is happening in the background. Same error can occur when using streamlink directly in command prompt.

[BUG] audio delayed by 5-7 second on live streams (on v1.8)

As described in title audio is delayed by 5-7 second on live streams in vlc and internal player. Audio is synced in MPV. This happened in previous versions as well sometimes, but mostly in internal player, VLC was fine. Now its also in vlc in 1.8. Makes it unwatchable really.

[FEATURE] Full Screen Hotkeys for every player window

First of all; this is awesome! Thank you for developing such a polished app with no frills that just works!

My feature request is to have a hotkey for every player window that toggles full screen. Currently you have to click on the window and press the full screen hotkey.
It would be nice to have keys 1-9 to toggle full screen for a specific window.

The specific full screen hotkeys can also mute all other windows and only unmute the full screen player.

Full screen should be local to the monitor that the screen is shown on

I am not sure what the best way would be to enumerate each window but maybe they can be enumerated based on the order they were opened,

[FEATURE] Change default install path

Is your feature request related to a problem? Please describe.
The default installation path for applications on Windows is 'C:\Program Files' or 'C:\Program Files (x86)'. The most recent version of this application suggest to install in 'C:\RACECONTROL'

Describe the solution you'd like
Default installation path should either be:

  • C:\Program Files
  • C:\Program Files (x86)

Describe alternatives you've considered
n/a

Additional context
n/a

[FEATURE] Make video dialog movable

Is your feature request related to a problem? Please describe.
Currently I cannot move the video dialog. I have a dual monitor setup and would like to move the video window from my primary to my secondary monitor. The only I way I can do that now is by resizing/moving the right border of the dialog to the 2nd monitor, then do the same with the left border.

Describe the solution you'd like
I would like to be able to drag the video dialog by clicking and holding the title bar and then drag/drop the window to my 2nd screen

Describe alternatives you've considered
n/a

Additional context
The buttons for full screen and placing the video dialog in a corner is nice to order multiple dialogs, but cannot be used to move them to a 2nd monitor. I would still like to keep these buttons though!

[FEATURE] Manual Sync Correction

This would basically help overcome some the of issues of the auto sync since it's still being improved. This would allow you to type in the time that a feed is delayed which would then be taken into account when the sync button is pressed. For example, I notice that one feed is delayed by 5 seconds to the rest of them, I could enter 5 seconds into a box on that player and it would then set that feed ahead by 5 seconds of what the sync estimation is when I press sync. This would help when skipping through a race so you don't have to manually fix the sync by pausing all the other feeds.

[FEATURE] Support for Linux systems

I just found out about this project and it is really cool to have a dashboard with multiple streams on view instead of juggling with browser windows like I'm currently doing. Unfortunately all my current machines use linux systems, which is not currently supported by the project.

I'm sure there are many others who have this same scenario. Spinning up a VM seems like a bit of stretch for a single application. Hence, it would be a good idea to have a linux based version of the project.

I'm a novice, but I can help out in the project if you decide to do so.

Session overzicht

Hallo Rob,

In versie 1.8.2 zie ik keurig een overzicht van de komende sessies maar in versie 2.0.2 zie ik dit overzicht niet.

Hoe komt dit ?

v182
v202

[Bug] layout does not open correctly in MPV

I have a windows laptop that is connected to a 4k TV. Current resolution settings are:

  • 3840x2160
  • scale 125%

When i open race control and create a layout with the internal player (afaik this is the only method of creating a layout that can be saved?). Next i close all windows and press the button, open saved layout in MPV. The layout is then much smaller then it should be and it doesn't use the full screen. Attached are some screenshots for comparison.

Note: opening the layout in internal player does work correctly and uses the full screen.
This is the correct layout in the internal player:
internal

This is the smaller layout in the MPV player.
MPV

[FEATURE] sort SESSIONS by race class

SESSIONS are currently sorted by chronological (?) order. F3, F2 and F1 are intertwined making it harder to rewatch a race weekend (if only interested in 1 class)

Suggested solution: checkbox for F3 F2 F1 (next to SESSIONS), making a quickfilter for one or more raceclasses, and cluster the F3/F2/F1 SESSIONS to their respective classes.

[FEATURE] Race Seasons older than 2018

I'd love to have older seasons showing up in the list. I'm currently rewatching from 2014 onwards, and I'd rather want to watch via Race Control than F1TV as the website kind of slows down my computer while playing a game simultaneously and often the audio is low quality.

Thanks! :-)

[BUG] Windows cannot be dragged around

Stream windows are unable to be dragged around by the new menu bar.

Open any stream
Click and drag on the menu bar
Nothing happens

Main Race Control window can be dragged by the menu bar, streams cannot

Windows 10 Pro 64bit V2.0.0

Shouldn't matter but Pro access, US, no VPN

[BUG]Can't move Windows

Describe the bug
Thanks again for your program. I can't move any window to position it at any place of the desktop. Moving them by the arrows beneath instead works. Seems like i'm unable to get a focus on the window. And i must add, i use 2 Monitors.

image

Desktop Gerätename SpassMaschine
Prozessor Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz 4.00 GHz
Installierter RAM 16,0 GB
Geräte-ID DFA40D09-D252-4C3F-A708-C596D401AEC7
Produkt-ID 00330-80000-00000-AA371
Systemtyp 64-Bit-Betriebssystem, x64-basierter Prozessor

F1TV account

  • Subscription type (Pro)
  • Country Germany
  • Using VPN or proxy? no

Additional context
Add any other context about the problem here.

[FEATURE] Support for mutliple window position setups (3x3, 1x3, etc)

I'd love to see the ability to choose a race, then choose a window layout, then have the windows populate on screen, and finally be able to click each window and select which feed I want to load. Alternatively, just the ability to snap multiple windows in different layouts. See attached for ideas!
Layouts

Will not run

error about runtime which is installed shows up every time on windows 10.

[BUG] Unable to pause live sessions in the native player

Describe the bug
Unable to pause the live feed in the native session, which means there's no way to sync the feeds.

To Reproduce
Steps to reproduce the behavior:

  1. Go to a live session
  2. Play multiple streams
  3. Press pause button
  4. Nothing happens.

Expected behavior
Stream to stop and fill a buffer which is played back when pause pressed again, like earlier versions.

Desktop (please complete the following information):

  • Windows 10 2004
  • 64-bit
  • RC 2.0.2

F1TV account

  • F1TV Pro
  • Netherlands
  • No VPN or Proxy used

[IMPROVEMENT] UX for close window button of the player

A UX suggestion.
close-window
These buttons are all very handy, but I'd put the closing button somewhere else:

  • You might inadvertently close the window when clicking on other options, since they are pretty closely displayed.
  • People are used to having the close button at the top left/right, but I guess you want to keep a no title bar design. Maybe a background-less X that would appear over the video could be an option? Don't know.

Just some first impression feedback, feel free to close this :)

[BUG] changing audio tracks is only working in MVP player

Describe the bug*
All the different movie players (mvp, VLC, watch) will start the stream correctly in English. But only MVP works when changing the audio track to another track then English. For VLC and Watch player, changing the audio track back to english doesn't work either.

Desktop (please complete the following information):

  • Windows 10 Version 20h2
  • 64 bit
  • 2.0.2

F1TV account

  • Pro
  • Belgium
  • Zscaler proxy

[FEATURE] Ability to change aspect ratio

Loving this program!
With your built-in video player, can you add the option to change aspect ratio?
Currently I use MPV and when I do SHIFT+A I can switch aspect ratios.

Very useful for ultrawide screens as it allows for more screen area to be used, plus the image stretching gets fixed by your brain in a few seconds anyways

Thanks!!

[FEATURE] Linear volume controls in internal player

Currently only way to control volume in internal is either on or off. Linear volume controls with scroll wheel adjustment (VNC like) would be good since currently only way to do is trough operating system volume mixer.

[BUG] Casting races before 2018

When I watch a race BEFORE 2018 (not available through 'Race Seasons') I can not cast to my THOMSON (android) TV.

How To Recreate:

  1. Click on 'Full Race', and select anything
  2. Click Cast
  3. Not Connecting.

I have F1 TV Access.

[FEATURE] 'Internal' MPV does not read config files

Not sure if really a bug, but the internal MPV player does not read the config from the 'default' MPV config file location (%AppData%/mpv/mpv.conf).

I would like to change the render mode (vo) from 'gpu' (shaders) to 'direct3d' because my relatively old GPU can not handle more than 1 stream in this default configuration and works fine with the latter. I could use the 'external' MPV option, but then I lose the handy shortkey options.

Is is possible to somehow change the configuration of the internal player?

[BUG] Installer doesn't remove previous version

I upgraded from 2.0.0 to 2.0.1 and had 2 versions installed, and needed to manually remove the previous version

I think for this sort of project it is not a big deal at all but wanted to at least let you know

I looked through the vdproj and didn't see anything obvious to me (but I am more familiar with the WiX installer framework). But I will check back and take a stab at it if it isn't something super obvious/trivial for you

Also, huge thanks, the app is really awesome, I look forward to using it throughout the season :)

No sound when changing audio

The video starts correctly with audio in English, but when changing to another language (for example Spanish) it runs out of sound. Even if I go back to English audio, it still has no sound.

  • Windows 10 Pro

  • 64 bit

  • 20H2

  • F1TV Pro

  • Argentina

  • No VPN

[FEATURE] Update to new API

Is your feature request related to a problem? Please describe.
As of the end of February 2021, the F1TV website has been redesigned and has a new API that serves video. This new API has all newly added video content, and serves 50fps video when available. The old API currently used should be considered deprecated.

Describe the solution you'd like
Update to the new API in order to continue accessing content with the best quality possible.

Describe alternatives you've considered
N/A

Additional context
It is possible that this will be a larger effort, so I am creating similar issues for all F1TV related repositories. Hopefully there is a way we can all collaborate.

[FEATURE] Overscan / window size control

Ability to change overscan for each window (ie increase or decrease the size of each stream within it's window). Especially useful on 16:10 monitors or when you want to maximize the action on a certain feed (like the data tracker, where I like to enlarge just the main data panel and cut off the rest).

[FEATURE] Would it be possible to implement that when you hover over expired live session buttons to show the last standings of this session instead of a random picture?

So lets say, i hover over the F1 Training 1 session button from yesterday, it shows the latest standings from this session so we know what happened at a glance. Would this be feasible, but only for expired sessions, maybe optional for those who don't want to be spoiled?

Yes, i know, you could also take a random pic here, caus first two are always the same, but ... /s

And again i want to thank you for this gorgeous program!!

[BUG] Object reference not set to an instalnce of an object

Describe the bug
windowsdesktop-runtime-3.1.9-win-x64 installed
Racecontrol 1.8.1 installed

To Reproduce
Steps to reproduce the behavior:
installed to c:\RaceControl
Open the app as administrstor
Get to login prompt
Enter any username/password and hit login button (valid/invalid credentials have the same effect)
after 2 seconds red text under password field " Object reference not set to an instalnce of an object."

Expected behavior
I expect to log in and browse streams presented to me. I have previously used your applicaiton on 1.8 which I upgraded to 1.8.1.

I have deleted the stored credentials in Windows
I have deleted \AppData\Local\RaceControl
I have run the installer again and deleted the app
I have rebooted
I have reinstalled the app and experienced the same issues.

Screenshots
https://i.imgur.com/IjcBGCY.png

Desktop (please complete the following information):

  • Windows 10 Pro N 1909 64bit

F1TV account

  • Subscription type - Pro
  • Country - NA
  • Using VPN or proxy? Attempted with and without and same issue occurs

Additional context
When running the application I see a request for api.formula1.com hit my firewall and is forwarded.

Cant watch or download anything

tried watching and downloading highlight of 2021, a race of 2020, and worldfeed all giving the same errors

image

snippet of the log:

2021-03-15 20:44:59.4124 ERROR [VLC] cannot initialize COM (error 0x80010106)
2021-03-15 20:44:59.4124 INFO Getting tokenised URL for content-type 'Asset' and content-URL 'CONTENT/PLAY?contentId=1000001387'...
2021-03-15 20:44:59.7221 WARN A non-critical error occurred.
System.ArgumentNullException: Value cannot be null. (Parameter 'mrl')
at LibVLCSharp.Shared.Media.SelectNativeCtor(LibVLC libVLC, String mrl, FromType type)
at LibVLCSharp.Shared.Media.<>c__DisplayClass2_0.<.ctor>b__0()
at LibVLCSharp.Shared.Internal..ctor(Func1 create, Action1 release)
at LibVLCSharp.Shared.Media..ctor(Func1 create, Action1 release, String[] options)
at LibVLCSharp.Shared.Media..ctor(LibVLC libVLC, String mrl, FromType type, String[] options)
at RaceControl.Vlc.VlcMediaDownloader.StartDownloadAsync(String streamUrl, String filename) in D:\Projects\RaceControl\RaceControl\RaceControl\Vlc\VlcMediaDownloader.cs:line 45
at RaceControl.ViewModels.DownloadDialogViewModel.GetTokenisedUrlAndStartDownloadAsync(String subscriptionToken) in D:\Projects\RaceControl\RaceControl\RaceControl\ViewModels\DownloadDialogViewModel.cs:line 68
at System.Threading.Tasks.TaskExtensions.Await(Task task, Action completedCallback, Action1 errorCallback, Boolean configureAwait) 2021-03-15 20:45:01.8877 ERROR [VLC] cannot initialize COM (error 0x80010106) 2021-03-15 20:45:01.8877 INFO Getting tokenised URL for content-type 'Asset' and content-URL 'CONTENT/PLAY?contentId=1000001387'... 2021-03-15 20:45:01.9531 ERROR A critical error occurred. System.ArgumentNullException: Value cannot be null. (Parameter 'mrl') at LibVLCSharp.Shared.Media.SelectNativeCtor(LibVLC libVLC, String mrl, FromType type) at LibVLCSharp.Shared.Media.<>c__DisplayClass2_0.<.ctor>b__0() at LibVLCSharp.Shared.Internal..ctor(Func1 create, Action1 release) at LibVLCSharp.Shared.Media..ctor(Func1 create, Action1 release, String[] options) at LibVLCSharp.Shared.Media..ctor(LibVLC libVLC, String mrl, FromType type, String[] options) at RaceControl.Vlc.VlcMediaPlayer.StartPlaybackAsync(String streamUrl) in D:\Projects\RaceControl\RaceControl\RaceControl\Vlc\VlcMediaPlayer.cs:line 106 at RaceControl.ViewModels.VideoDialogViewModel.StartStreamAsync() in D:\Projects\RaceControl\RaceControl\RaceControl\ViewModels\VideoDialogViewModel.cs:line 437 at RaceControl.ViewModels.VideoDialogViewModel.InitializeAsync() in D:\Projects\RaceControl\RaceControl\RaceControl\ViewModels\VideoDialogViewModel.cs:line 408 at System.Threading.Tasks.TaskExtensions.Await(Task task, Action completedCallback, Action1 errorCallback, Boolean configureAwait)

[BUG] No access to race archive (races pre 2018 season) in version 2?

Describe the bug
In RaceControl 1.8.2, I could access the F1TV archive. In version 2.0, I can not find it. Content pre-2018 seems unavailable. May be it is a bug?

To Reproduce
Just launch the software and try to find the race archive.

I am sorry if I am just blind and congratulations for this superb project! The key reason I pay for F1TV.

[FEATURE] Dark Mode for transport controls

I often watch in a darkened room and find that when I mouseover the windows and the transport controls popup they are eye searingly bright - a dark mode for these would be great. In addition to being able to suppress the transport popup (as mentioned in another request).

[FEATURE] Prevent transport control popup on mouseover

I find it distracting that whenever I move the mouse over the windows the transport controls pop up immediately - perhaps suppress the popup unless the mouse is in a hot spot area of the feed - like the bottom left corner, etc.

[BUG] Value cannot be NULL

Describe the bug

This isn't critical, just FYI.

When using an expired session, clicking on any action button (download, copy, watch, etc) will result in an expected error message.

To Reproduce
Steps to reproduce the behavior:

  1. Go to Pre-season Testing 2020, I selected Test 2 - Day 3, session 2, but others likely work as well
  2. Try to copy URL
  3. See error

Expected behavior
Probably another well defined error message.

Screenshots

bug-report-f1tv-null

Desktop (please complete the following information):

  • Windows 10
  • System type 64 bit
  • Version latest

[BUG] when using the Open internal video layout option volume settings are not restored correct

I have 3 windows set up in the racecontrol.layout.json i have "Volume": 0 for two windows and "Volume" : 100 for one.

If i use Open internal they are all opened at 100%
If i close all 3 and open internal again still 100%
But if i set one window to say 22% and close that as the last window the windows set to 0 are at 22% volume when all are opened with open internal.

If i set a non 0% volume for a window and save to the json then it's set to the correct volume when open internal is used.

So seems to only impact windows set to 0% volume picking up the volume of the last closed window

[FEATURE] Android App ?

Make a mobile application, downloadable on a download link.
Because the original application is not optimized

That my idea

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.