MultiViewer for F1

Unofficial desktop client for F1TV®

Changelog

Read about the latest changes in MultiViewer for F1

v1.14.2

Changes:

  • Add additional F1 subscriptions to the allow list
v1.14.1

Changes:

  • Add API mutation to set driver header mode
  • Refactor internals in preparation for new features
  • Fix AM/PM times
  • Fix preview for within-DRS status color customization
  • Fix relative time on the F1 videos page
  • Ensure that users have a subscription before giving access to live timing
  • Add request authorization for F1's live timing endpoint
v1.14.0

Changes:

  • Add widevine reset dialog
  • Add backup domains for API
  • Add new deeplinks
  • Add config patch endpoint
  • Remove CDN steering
  • Add emergency homepage alerts
v1.12.11

Changes:

  • Fix GP radio URL and add clarification that it's no longer available from NL
v1.12.10

Changes:

  • Handle deep links when the application isn't running (windows only for now)
  • Add right-click menu options in player to copy F1TV and MultiViewer URLs
  • Add playerSetAlwaysOnTop to the API
  • Ensure the FIA button loads 2023 content
  • Redesigned the homepage hero
  • Add mode for 12 hour clock
  • Redesign the settings bar for live timing to be closer to replay live timing (auto-hide)
  • Improve non-ideal state for tire stint popover
  • Fix wind speed in weather widget
  • Add codec to player debug data
  • Correct last headshots for drivers, all are now up-to-date with 2023
  • Fix race condition during sign out on troubleshooting page
  • Add "Copy MultiViewer link" to the F1.com videos section
  • Fix deep link for F1.com videos
  • Add 2023 content to troubleshooting
v1.12.8

Changes:

  • Actually fix the error dialog on updates
  • Add additional deep-links
  • Add live-timing button to the sidebar
  • Update driver headshots for 2023
  • Add 2023 FIA documents
v1.12.6

Changes:

  • Fix error during updates on Windows (will still show one more time, shouldn't for the next update)
  • Fix live timing crash with corrupt/incorrect live timing state
v1.12.5

Changes:

  • Update F1TV availability data for India, Israel, and Pakistan.
  • Add RPM build for Linux
  • Add driver headshots for SAR & PIA, allow fallback to 2022 if 2023 headshots aren't available
  • Fix deeplinks from F1TV without handle
  • Lower the min-height and fix a layout issue on the login page
  • Add a subscription error if you sign in with an account without a valid F1TV subscription
  • Fix race condition in sign out logic
  • Fix tooltip not appearing on speedometer button in the player
  • Improve troubleshooting steps when no subscription is detected
v1.12.4

Changes:

  • Fix dead links
  • Update API domain
  • Add .deb for Linux
  • Fix deeplinking on Linux
v1.12.3

Changes:

  • Allow opening muvi.gg URLs from the search bar (acts as a fallback option for Linux)
  • Show notification when the player is paused because of the Watch Party's host
v1.12.2

Changes:

  • Various bugfixes for watch parties
v1.12.1

Changes:

  • Improved a bug where watch party sync wasn't picked up
v1.12.0

Changes:

  • Watch Parties
  • Preparations for new player
  • Preparations for new layout engine
v1.11.9

Changes:

  • Add lap time graph
  • Fix bug in live lap-by-lap position graph
  • Improve replay sync precision by removing per-player delays
  • Improve team radio list styling
  • Revert back to normal branding
v1.11.8

Changes:

  • Add lap chart (experimental, open via live timing's settings menu)
  • End of season banner, with short survey: https://forms.gle/a7AAxLoz6RM9pVUj9

Thank you all for an amazing season 💚🙏

v1.11.6

Changes:

  • Add deep-link for live timing (to be used later)
  • Add pop-outs for Team Radio, Sector/Speed trap leaderboards, and Championship Predictions
  • Add quick settings for live timing
  • Fix bug where on-board telemetry would scale incorrectly when "Show car telemetry" was disabled
  • Better handle multiple subscriptions in troubleshooting
v1.11.5

Changes:

  • Add homage to Sebastian Vettel
  • Add "Stopped" sectors to the live timing explanation
  • Add initial deep-linking functionality, allowing in the future to open content in MultiViewer from other apps/websites
  • Troubleshooting now scrolls up before taking a screenshot when pressing S
  • Added playback tokens to troubleshooting
  • Add backup login option using deep-link
  • Add custom subcategorisation for RaceControlMessages via the GraphQL API
  • Check for updates before starting the app (similar to Discord)
  • For the beta release channel, download links will now show the beta download page
  • On startup, clear any remaining persistent DRM licenses to avoid issues
  • Fix bug where syncing/seeking in live timing for qualifying sessions could crash the app's UI
  • Avoid flashing tutorial/pre-check during app startup
v1.11.4

Troubleshooting improvements

You can now get to troubleshooting easier than before, press Shift+T in the main window, and you will be taken to the troubleshooting page. You can also get to the troubleshooting page by clicking the "Troubleshooting" button in the sidebar.

And, if you're asked to provide a screenshot, you can now press S to take a screenshot and it's copied to your clipboard. You can then paste it into Discord.

Other changes:

  • You can now open settings by pressing Cmd/Ctrl+, in the main window
  • Live timing item countdown will try to reload the live timing state when the live timing is scheduled to go live
  • Holding the Alt/Option/Ctrl key while using the Switch stream option in the right-click menu, it will open the stream in a new player
  • The column size in the live timing screen is now dynamically decided, so if you turn off "car telemetry" in settings it will use a smaller column size
  • You can turn off animations for cars in the track map. This leads to a very stuttery experience in the track map, but reduces CPU/GPU usage significantly
  • You can step through the tutorial with arrow keys
  • Fixed a missing rounding operation on the live timing delay
v1.11.2

Troubleshooting improvements

You can now get to troubleshooting easier than before, press Shift+T in the main window, and you will be taken to the troubleshooting page. You can also get to the troubleshooting page by clicking the "Troubleshooting" button in the sidebar.

And, if you're asked to provide a screenshot, you can now press S to take a screenshot and it's copied to your clipboard. You can then paste it into Discord.

Other changes:

  • You can now open settings by pressing Cmd/Ctrl+, in the main window
  • Live timing item countdown will try to reload the live timing state when the live timing is scheduled to go live
  • Holding the Alt/Option key while using the Switch stream option in the right-click menu, it will open the stream in a new player
  • The column size in the live timing screen is now dynamically decided, so if you turn off "car telemetry" in settings it will use a smaller column size
  • You can turn off animations for cars in the track map. This leads to a very stuttery experience in the track map, but reduces CPU/GPU usage significantly
  • You can step through the tutorial with arrow keys
  • Fixed a missing rounding operation on the live timing delay
v1.11.1

Changes:

  • Fix an issue where live timing sync wouldn't set the correct time (but would show it in the text box)
  • Clarify "timing drift" setting
  • Add little hint that ESC toggles the live timing settings bar at the top
v1.11.0

Onboarding improvements

The app now greets you with a short tutorial and a pre-check, to ease the onboarding process. The pre-check checks for a number of common issues and will tell warn you if there are issues. The tutorial will guide you through the most important features of the app.

Other changes:

  • Fixed a bug where team radios would show "An error occurred"
v1.10.6

Changes:

  • Improves live timing sync by using the live-timing latency and correcting for it
  • Adds two new settings as a "escape hatch" in case the new corrections don't work as intended (I'll keep people up to date in Discord)
v1.10.5

Changes:

  • Fix track map (position) and car telemetry
  • Hopefully fix the live timing sync
v1.10.3

Improved live sync

Live sync had a number of issues for people, mainly that the live timing sync didn't work at all. This release is supposed to fix that, but it's impossible to test that without a live session. If you experience issues, please check your "Default base latency" in settings (if you didn't touch it, it's 30s by default), and calculate the "correct" live timing delay: live timing delay = (default base latency in ms, so 30000 by default) + 15500. You'll need this in case the new algorithm doesn't work for you. On Discord, we have a #syncing channel that you can read updates and instructions.

Other changes:

  • Troubleshooting now also checks if you have "play from start" turned on
  • Improved error messages with status code and body
v1.10.2

Changes:

  • Fix layout schema validation
  • Add link to troubleshooting in the app menu
v1.10.1

Troubleshooting

MultiViewer for F1 now has a "Troubleshooting page", accessible from the sidebar. This page is basically a health-check and checks all kinds of common issues and shows you how to fix them. If you have any issues, please check this page first and see if it helps you. If not, you can reach out on Discord and we'll try to help you out.

GraphQL API

MultiViewer for F1 now has a GraphQL API, which is available at http://localhost:10101/api/graphql (or check Settings, your installation might be using a different port). This API is currently in beta and is subject to change. If you have any feedback, please reach out on Discord.

Team Radio

You can now view and listen to select team radio captures (the same that were available in the F1 mobile app). If you don't want to see them, you can disable it in Settings. See how it works

Other changes:

  • When clicking on the speed in the driver telemetry bar, it'll now open detailed speed trap information
  • Changes to how gaps are shown
    • If the driver is within 1s and it's a (sprint) race session, the gap will have a green background
    • If the driver is marked as "catching" (meaning that over the last few laps, the driver has been gaining time on the driver in front), the gap will have a green border
  • Config and layouts now reside in the correct folder (instead of directly in %AppData% on Windows, and Application Support on macOS)
  • Speed up initial boot by not loading developer extensions in production
  • Add 360p and 240p presets to "Set size" in the player context menu
  • When turning off driver telemetry, the DRS will remain visible
  • Fix possible (slow) memory leak in live timing

Fixed since the beta builds:

  • Add GraphQL explorer
  • Fix country detection
v1.9.8

Live sync

Live sync is now available by default, and a number of improvements have been made. Live sync now also attempts to sync the live-timing (this is considered experimental), and now works from any player, not just from international. Feedback is still appreciated.

Moar data = Moar better

You can now view leaderboards for speeds on speed traps and best sector times by using the new buttons next to the weather in live-timing.

Championship predictions

That's how they're called anyway, but it's more like "live championship points", where you can see what the standings would be like were the session to finish right now. This is only available in sessions where points are awarded, not during qualifying (except sprint-qualifying) or practice.

Other changes:

  • Hide car telemetry: if you don't use car telemetry, or want to preserve your CPU/GPU, you can now hide it.
  • Close all other players is now an option in the context menu
  • Live in schedule: Schedule now uses items from the homepage to show them as live, instead of just scheduled start time
  • Players will now prefer cloudfront CDN, which is more reliable, and only fall back if that fails
  • Wind direction simplified, limited to 8 directions, no longer 3-character
  • Warning is now shown when "play from start" is enabled, since various features are unavailable and people may have it left enabled
  • Switch stream context menu now has consistent sorting
  • ChampionshipPrediction topic is now available in the API
v1.9.7

Changes:

  • Add recovery vehicle RCM detection
  • Make sure safety-car related penalties/investigations don't get the safety-car icon
  • When dates are unavailable in schedules, events will be sorted using their "session index", ensuring they are still in logical order (for older seasons)
  • Update Electron to 21.2.0
v1.9.6

Experimental live sync

There's now a very experimental live sync method available. To enable it, open Settings, scroll all the way down to "Experimental settings" and enable "Live sync". This method will try to see the differences in the live latencies across players and correct for it. This may not work, and may screw with your sync, which is why it's disabled by default. Try at your own risk, and please report any issues you may have with it using this form

Other changes:

  • Refactor cross-window player communication
  • Add live-latency diff tracking (for use with live-sync)
  • Add live-content error dialog (for people in regions without F1TV Pro)
v1.9.5

Changes:

  • Fixed auto-update mechanism for multi-platform builds
v1.9.4

Changes:

  • Fixes a DRM issue on macOS (please note there are now separate builds, if you're on a M1 or M2 Mac, you want to get the "Apple Silicon" or arm64 build, if you're on an Intel Mac, you want to get "Intel" or x64)
  • Added test tire compound (note that the test compound is only identified as such later in the FP2 session, it starts out as unknown)
v1.9.2

Changes:

  • Align the titles used in the schedule with F1TV
  • Add analytics for player errors
  • Refactor API internally to remove unneeded helpers and fix error handling
v1.9.1

Changes:

  • Fix an error with SVGs in previous seasons
  • Fix analytics bug
v1.9.0

Automatic updates are here

Yes, you read that right. Finally. This should be the last update that you have to install manually! (unless you're on Linux, but I hope to share news for Linux soon as well) In addition, macOS users no longer get annoying popups saying the app isn't trusted/secure, because thanks to @heyitznick the app is now signed & notorized by Apple.

Windows joins the dark side

Windows joins macOS and Linux on the dark side, with all platforms now supporting dark-themed window frames if your OS has dark mode enabled.

App Analytics

I asked for feedback earlier this week in #polls and want to thank many of you who responded. The poll is still open, so you're welcome to make your voice heard, but the first version of app analytics is here. I'll try to share aggregate statistics here (likely in #technical, #development-updates or #offtopic) and if you want you can read more about it here. If there's anything I think you should know is that: 1) I try to collect only what I can use to improve the app, and will never collect anything that could be personally identifiable and 2) it is opt-in, and you can always change your mind afterwards.

WIP: Player API

It's coming. @(718)Rob shared a super cool demo of "what could be" when there's a good player API and he's surely convinced me. While it's still a work-in-progress, the next versions will have more functionality added to the API to allow you to automate just about anything related to video players.

Other changes:

  • Added automatic updates for macOS and Windows, so you'll always have the latest version of the app, without having to update it yourself
  • Users on Windows with dark mode now have dark window frames
  • App now, after you allow it to, collects anonymous usage data to help us improve the app. Learn more
  • Initial version of player API allowing you to play/pause players (more coming very soon)
  • MultiViewer stands with Ukraine, and asks you to, if you have the means, donate to help the people of Ukraine
  • Avoid showing the login buttons while the app is still trying to renew your expired tokens
  • Added update channels, so you can opt in to beta versions of the app
v1.8.5

Changes:

  • Added quick settings toggle in replay live timing to show/hide race-control messages
  • Added icon for medical car race-control messages
  • Allow color customizations for Speedometer and Marshalling Sector highlights (for yellow/red flags)
  • Added setting for speedometer transparency
  • Added empty state for stint popover (when you click on the tire icon)
  • Added test tire compound to list of tire compounds
  • Track sectors will now be highlighted regardless of the "Marshal light panel" setting
  • Fixed a bug where track sectors would remain highlighted even when the track was declared clear
  • Added various safeguards to prevent crashing when things don't go as planned (servers down, telemetry data unavailable etc.)
v1.8.4

Changes:

  • Fix issue with settings not applying correctly
  • Fix window dragging issue in track map for Windows
v1.8.3

Changes:

  • Track map
    • Highlight marshalling sectors for select tracks (more coming soon)
    • Allow map to be transparent (see settings)
    • Fully customizable sizes for all things track-related
    • There are now lines connecting track markers to the point on track
  • Schedule is now open by default on the homepage (but can be collapsed by default in settings)
  • RCM audio notification is now less loud
v1.8.2

Changes:

  • Hotfix for startup issue that prevented launching the app in certain cases
v1.8.1

Changes:

  • Fixed the speedometer when the car is turned off
  • More goodies for watch-along streamers
v1.8.0

Changes:

  • Speedometer for on-board players
  • Track map improvements
    • Tracks are now rotated to match F1TV's driver tracker
    • The track map will now show the finish line
    • By default, corner numbers are now present
    • Optionally, you can enable FiA Marshal Light panel indicators on the track map
    • Drivers that are in pit will now shrink to indicate that they are pitting
    • Drivers that are out will shrink and have a lower opacity
    • Drivers that are ahead will now be "on top" of drivers behind them when their indicators overlap
    • Fixed a bug where some tracks would not correctly fit in the window size
  • Redesign for Grand Prix pages
    • Now shows a flag and the Grand Prix name on top
    • When a schedule is missing, MultiViewer will try to piece together the weekend sessions and add a makeshift schedule (it may not have the start times though, when the information for that is missing)
    • Some content folders now have icons, to make them easier to spot
  • Add API endpoint to get the app version
  • Add API endpoint to get information related to the race clock
  • Add v2 API for live timing, with bug fixes that remove RCM mapping, and allow getting multiple topics at once
  • Remove player retry limits (in an attempt to fix Akamai issues)
  • Fix sort order for archive
  • The update banner now actually checks if the app's current version is older than the new version, in case you're running a pre-release that isn't yet published
  • (internal) A map editor to allow to mark corners, Marshal sectors and Marshal light posts
  • The race clock will now no longer show leading zeros for hours, and if there's less than one hour left, hours will not be shown at all
  • (breaking change) If you previously enabled "animate speedometer", you need to disable it and enable "animate speed in live timing" instead.
  • Replay live timing seek bar now no longer auto-hides when the quick settings popover is opened
  • On-board live timing will now resize on players that are smaller than 720px wide
  • When the player fails to load the source, it will now display the error message, and in some cases, explain what the error is (currently only geoblocking-related errors)
  • Schedule items will now show the year if the event isn't/wasn't in the current year
  • Redesigned the settings page to make settings easier to find
  • Grand Prix entries on the homepage and in the Archive will now show what round they are, and testing sessions are marked as "testing"
  • When page titles are provided by F1TV, they are now shown (Archive, seasons, etc.)
  • Found during testing of the release candidates:
    • Fixed a regression in race control message identification & filtering
    • Fixed a regression in the track map where cars that were not reporting positions were still shown on the map
    • Fixed a bug where imperial units would not be shown on the speedometer's gauge
    • Fixed a regression where corner numbers may have been cut off the map
    • Improved the appearance of FIA Light posts
    • Fixed a regression where OBC timing placement set to "bottom" would cause it to not be flush with the edge of the window
    • Fixed a bug where the reported frame rate in the debug data may not have been correct
v1.7.3

Changes:

  • Automatically refresh FiA documents page (every 2 minutes)
  • Automatically refresh F1.com videos page (every minute)
  • Allow to hide race control messages in the main timing screen (so you can use the popout, without double notification sounds)
  • Add "Copy Link" button on the F1 Video page to make sharing easier
  • Add DEV headshot
  • Add Widevine reset button to settings, in case Widevine's CDM is broken, this may help
v1.7.2

Changes:

  • Make the track map cars slightly bigger (temporary fix)
  • Fix the tire stints tire compound (it was displaying the current compound instead of the one used in the one used in the stint)
v1.7.1

Changes:

  • New tire stint view: click on the tire compound and a popup will show you the past stints and the best laptimes set on each
  • Audio desync fix: after adding the panning feature on the on-board cameras, a desync issue was introduced. Panning is now only available on the on-board cameras, reducing the audio desync issue
  • Open links in search: Search now also supports a select number of link types, currently F1TV pages, F1TV videos and F1.com video URLs. Paste them into search and press Enter, and MultiViewer will try to open them
  • Improve startup time for live timing header for on-board camera players
  • Fix bug in fullscreen restoration from layouts
  • The "F1.com" spoiler warning can now be hidden by clicking on it
  • Live timing clock now shows :00 instead of :60 on the whole minute
  • You can now toggle between live timing header, driver headshot or no overlay when pressing t in on-board camera players
v1.7.0

Changes:

  • New design: homepage now has a sidebar and settings and search are easier to access
  • During the race and sprint, the gained/lost places are now shown
  • During qualifying, the drivers at risk highlight is now more pronounced
  • Added F1.com videos, so you can now watch clips and interviews from F1.com
  • FiA documents are now available as a separate page in the app
  • Added experimental toggle to disable media key handling (play/pause, prev/next track)
  • Added API to get color customizations (for plugins, /api/v1/config/color-customizations)
  • Fixed sorting of seasons in the Archive page
v1.6.11

Changes:

  • Add setting to allow access to F1MV's internal API from all origins (allowing apps to use it from any domain)
  • Testing a new sync system (not automatic yet, manual to test)
v1.6.10

Changes:

  • Remove configuration for Windows that may have caused issues with fullscreen and Win+arrow keys
  • Swap best and last lap times to make more sense
  • Add setting to show each driver's best sector times under their last sector times
  • Show drivers at risk of being knocked out during qualifying
  • Fix scroll issue in track map
  • Hopefully correct time-adjustments for position and car telemetry data
  • Corrected OBC default sync
v1.6.9

Changes:

  • Refactor how live timing data is shared between windows in the app
  • You can now open the track map in a new window
  • Fix seeking bug in replay live timing
  • Correctly fix videoSegmentStartTime in live streams
v1.6.8

Changes:

  • Updated default live sync offsets to better suit Dutch GP
  • Reverted changes to fix audio desync (this caused a regression resulting in being unable to change the audio output device), I'll continue to look for improvements here
  • Fixed team icons not being shown in the "Change stream" menu
v1.6.7

Changes:

  • Attempt to reduce frame width on Windows
  • Automatically hide the seekbar for replay live timing when the mouse is idle
  • Add frameRate to debug data
  • Fix issue where schedule items would stop being live 10 minutes before they were scheduled to end
  • Improve logic for reverse-seeking in live timing replay, which removes null values in the API
  • Hide top setting bar in replay timing (this is now all contained in the settings dropdown in the seekbar)
  • Attempt to fix audio delay/desync issue
  • Add experimental way to seek in "watch from start during live" viewing (same keyboard shortcuts, will break stuff if you do this when "watch from start" is not enabled)
  • Fix videoSegmentStartTime during live
  • Fix rounding issues in bitmoving during frame-accurate seeking
  • Use new API for F1TV content details, fixes issue with certain content not loading
v1.6.6

Changes:

  • Fixed typos in "set size" menu
  • Live timing item now shows up when it's actually live
  • Schedule items will now be marked as "live" 5 minutes before they are scheduled to start
v1.6.5

Changes:

  • Fixed an issue with configuration that caused syncing to be broken when you booted without changing any configuration entry, causing default config to be missing
  • Fixed clock sync for live timing (replay and live)
  • Attempt to add "best effort" syncing when playing live sessions from the start
  • Optimize image loading, reducing memory usage and startup time
v1.6.4

Changes:

  • Fixed audio selection bug, that prevented you from selecting a different audio language
  • Added missing French language to the settings
  • Fixed issue where all flags were being hidden, not just blue flags, when "hide blue flags" was turned on
  • Updated sync offsets to hopefully better match the offsets from this weekend
v1.6.3

Changes:

  • You can now set your preferred audio languages in settings, and they will be used in order of preference (whichever is available)
  • Added a toggle to filter out blue flag messages (enabled by default)
  • Limit number of "new race control message" sounds, will now have 1.5s between sounds
  • Fixed issue with tire information in replay live timing when rewinding
  • Fixed crash on the stream selector page
  • Fixed an issue that caused configuration to be incorrectly read, causing issues with syncing live timing (among other things)
  • Refactored sync manager to avoid silent errors
v1.6.2

Changes:

  • Fixed a caching issue with "Live timing" in the stream selector. It'll now show up right when it's available, not a few minutes before the end of the session
v1.6.1

Changes:

  • Fixed a memory leak in live timing (live and replay)
  • Fixed a bug in the sync manager (still working on getting some others out)
  • Filter out content items that link to external websites
  • Added "Guide to F1", a beginners guide, to the dropdown menu
  • Moved FiA documents slightly, so when you hide the settings with esc, this button is still visible
  • Replay live timing settings are now in the seekbar (and in the future, the seekbar will auto-hide)
  • (still under active development) I'm working on getting F2/F3 live timing to be available
  • Better support for grids with more than 20 cars
  • In the schedule, live content now has a more pronounced button
  • "Force High-performance GPU" is now added to settings
v1.6.0

Changes:

  • Replay Live Timing is finally here! For most races since 2018, you can replay live timing data and have the same information you're used to during live. Better yet, it's all synced, just press S or open the sync settings dialog in any player and press "Sync open players"
  • Sync data is now available for all races with multiple streams, and I'm working on ways to add the same syncing for Qualifying, Sprints and even free practice
  • Driver headshots our now season-specific, so instead of showing the 2022 driver headshot, you'll see the one that's applicable to the race you're watching
  • Authentication tokens will, from now on, automatically be renewed. You may still have to sign in once, but after that, as long as you are active at least once every 4 weeks, you shouldn't have to sign in again (hopefully!)
  • Improved syncing logic now takes into account differences in latency when seeking individual streams. I've also made preparations for even better replay syncing that "locks" the sync and will correct it when it drifts out of sync
  • New time-server for live-streams should make syncing multiple streams more precise
  • Circuit and track data is now no longer hard-coded and instead uses a new API to retrieve track and circuit data
  • Improved live timing clock/time logic which now will update the clock immediately when you alter the delay
  • Live timing is now shown in the list of streams when live timing is currently available for that session
  • Added tire icons for 2018 tires
  • Performance improvements in driver tracker in live timing
  • Improved date and duration formatting on the homepage
  • Compensate for delayed car telemetry and positioning for replay (live pending for now)
  • Improved APIs for FIA documents and sync data
  • Added a way to force high-performance GPU on dual-GPU systems
  • Added CDN and DRM types to debug data
  • Removed player control animation to avoid frame drops after pausing/playing all streams
  • Various internal improvements and code refactors
v1.5.10

Changes:

  • Fixed the token expiration dialog timing (it would show up way to late, leading to tokens already being expired)
  • Added setting to turn off the "limit playback resolution to window size" option, which is enabled by default, limiting the resolution for smaller windows
  • Weekend schedule now contains buttons to watch replays or live streams of planned events
  • A lot of work behind the scenes to prepare for replay live-timing (still some things to be done for this, but it's getting close, see https://youtu.be/A6Pvpu8cK6c)
v1.5.9

Changes:

  • Fixed time zone weirdness in live timing
  • Updated track map design slightly, improved animation performance a bit
v1.5.8

Changes:

  • Attempt to improve CPU usage
  • Fix replay syncing for sessions where no dedicated syncs are available
  • Fix Live state in sync dialog not showing up
v1.5.7

Changes:

  • New windows are now opened in a different way, which allows the main window to be closed and fixes a rare bug that caused the app to crash on Windows in certain situations.
  • Races are now sorted above other pages, in the homepage
  • Update monitor contains a link to the full changelog
  • Small homage to Vettel 💚
  • Race control messages by default now play a notification sound when new messages arrive (can be turned off in settings)
  • Improved telemetry performance
  • Fixed "sync" button for replays
  • Fixed a layout issue that was caused by upstream API changes
  • Update track map
  • Improve replay syncing precision, it's now accurate within 1-3 frames
  • Attempted to force low-latency audio processing (if this doesn't improve the audio delay, I'll add a switch to turn off audio processing)
  • Added keyboard hotkey R to the homepage to refresh the content list (F1 has a 10s cache, so refreshing more often than this wouldn't make sense). It automatically refreshes when you focus the window and every minute.
  • Fixed an issue where some players sometimes refused to load, requiring a refresh
v1.5.6

Changes:

  • Hide the sync settings initially
  • Fix issue where dragging volume and seekbar would move the Window on Windows
  • Added replay sync support to the sync UI
  • Fix issue where dragging the driver image would cause the window to get stuck to the cursor
v1.5.5

Changes:

  • Added first version of a sync UI (with support for live sync now)
  • Fixed an issue in live timing where if your clock was behind, it would jump straight to live
v1.5.4

Changes:

  • Fixed issue where pressing "refresh" in live timing wouldn't work as expected
  • Reduced the live timing countdown to 1 decimal place
  • Audio output device selection now correctly shows the active device again
v1.5.3

Changes:

  • Fix OBC timing background
v1.5.2

Changes:

  • Improve live timing performance (now uses about 50% less CPU)
  • Improved animations for position changes in live timing
  • Added audio panning (Press P to toggle between center, left and right), which can help reduce engine noise in "Team Radio" audio channel on OBCs (see the active pan state in the debug data, pressing D to show/hide)
  • Schedule now has alternating row colors to make them easier to read
  • Live timing now supports more column options (3 columns, and 5 columns), and layout is more stable and should cause less "twitching" in the timing display
  • Improved numeric inputs in the settings panel, which previously would make life hard if you wanted to replace a number, because it would validate it immediately and reject your input
  • Fixed issue where the base target latency wouldn't apply to live timing
v1.5.1

Changes:

  • Add Shift+N for OBC streams to activate "noise cancelling" (using the right channel which has less engine noise mixed in)
  • Fix issue with live timing latency determination
v1.5.0

Changes:

  • Color customization's color picker now supports entering hex colors.
  • An experimental API has been added to allow retrieving current live-timing state (#technical channel for more info)
  • Improved stream selector with driver tags
  • Highlight in debug data when your live latency is met
  • Highlight in debug data when your buffer isn't keeping up
  • Fixed an issue where pressing the pause button, then using <kbd>Shift+Space</kbd> would pause the active window and resume playback on the others
v1.4.5

Changes:

  • Add color customizations for live timing You can now tweak almost every color used in the live timing window. If you want to change a team's color slightly to make it better readable, or if you have a color deficiency, you can use this feature to adapt F1MV to your needs.
  • Fix authentication issue
  • Prevent event listener memory leak
  • Show more precise bitrate for bitrates < 4Mbit/s
  • Prevent error when audio device from layout isn't found
  • Fix minor issues with caching while saving layouts
  • Auto-update notifier will now download the update when you click the button. Installation is still manual, but saves a few clicks
  • Release notes for the new version are now available (and a changelog is available on the website)
  • Performance improvements for the live timing window, it now is more efficiently rendering updates
  • DRS icons are now a checkmark or cross in a circle so you can identify them without needing to perceive the color
  • Lap numbers are now shown for race control messages, and hopefully the "show timestamps in track time" setting works correctly now
  • "In pit" sectors are now colored in blue, similar to the "Driver Performance Channel" used by commentators. You can change this color through color customizations if you wish to do so
  • Fixed minor issues in the maps used in the live timing window
  • Changed labels for Leader to Ldr to save space
  • Hide series with no events from the weekend schedule
  • Updated algorithm in the live timing window so events are ensured to be sorted while they are buffered
  • Prevent cursor from hiding when the context menu is active
v1.4.4

Changes:

  • On macOS, clicking the Dock icon again will open the main window again, if it wasn't open
  • "Close all players" is now only shown in the context menu, where it makes sense
  • On Windows & Linux, dragging the window now works correctly. A few issues remain:
    • On non-native scaling (not exactly 100% or 200%), the window will be offset by 1 or 2 pixels, when you click on it.
    • You may not be able to drag the audio or seek bar, just clicking works though.
    • If the window gets stuck to your mouse, please report, but also, <kbd>esc</kbd> should release it
  • For Windows & Linux, scrollbars are now minimal, so it should look much better.
  • For macOS, you can now drag the volume slider and seek bar.
  • Cursors now auto-hide when you have not moved the mouse
v1.4.3

Changes:

  • Syncs are now retrieved from the sync server, so no more updates after the race/sprints needed
  • Close all player windows using the context menu
  • FIA documents now show all events, and the button to view them is available from the main screen, too
  • Added additional useful links to the dropdown menu
  • Driver tag colors should now animate when position is changed
  • "Home hero" is now replaced with "Featured videos"
v1.4.2

Changes:

  • Improvements in Live Timing resource usage
  • Fixed an issue requiring sign-in every time you launch the app
  • Weekend schedule is now collapsible, and is collapsed by default on the main screen
  • Position changes now are coloured and have an arrow indicating the position change
v1.4.1

Changes:

  • Add weekend schedule to GP pages
  • Take base latency into account in live timing window
  • Fix loader in FIA documents popover
  • Don't animate speedometer by default
v1.4.0

Changes:

  • Fix issue with undefined showing in title bars
  • Debug data now shows the playback resolution and bitrate, not the upcoming downloaded resolution/bitrate
  • Added animation for telemetry position changes (can be turned off)
  • Optional animation for car speed
  • Add track map (off by default, press <kbd>m</kbd> to toggle on/off, very much in alpha state)
  • Fixed issue with telemetry not updating consistently
  • Added FIA documents to live timing
  • Pressing esc in live timing now toggles visibility of the settings bar
  • Show forward & backward buffer in debug window, and some additional debugging info
  • Added dialog for renewing authentication token when it's expired
  • Fixed minor issues in weather widget in live telemetry
  • Add offsets for CA, FR, AT, G, DE GPs of 2019 (thanks @Macaw)
  • Fixed always on top level (may require you to update the setting one time)
  • Do not show "LAP XX" in live timing, to avoid overflows
  • Open layout button should now show immediately after saving your first layout
  • Added toggle to turn off hardware acceleration (but this may break DRM-protected playback)
  • Preparations for sync without hard-coded offsets (using API)
  • Preparations for sharing live-syncs
  • Add log level selection, defaults to "INFO"
  • Change settings logic to only write non-default values
v1.3.1

  • Add syncs for British GP
v1.3.0

  • Configure forward and backward buffer in settings
  • Configure base target latency in settings
  • Configure (experimental) option to show race control messages in the track local timezone
  • Added links in the navbar dropdown to other great tools
  • Added hotkey for escaping full screen with <kbd>esc</kbd>
  • Added hotkey to reset target latency to default (<kbd>R</kbd>)
  • Added titles to more windows (timing screen, race control messages)
  • Use 4-column layout in live timing on ultra-wide monitors
v1.2.5

  • Fix OBC telemetry
v1.2.4

  • Always on top can now be configured through settings to be higher than the task bar/dock
  • Units can now be set to "British" which use a mix of different unit systems 🤷‍♂️
  • Live timing window will now automatically go to a one-column layout when <1400px wide (you can zoom out if you have a smaller screen but still want 2-column)
v1.2.3

  • Fix layout saving
v1.2.2

  • Weather widget in Timing window
  • Better video quality restoration from your layout (needs a re-save before it would work)
v1.2.1

  • Fix typo in legal footer
  • Attempt to fix "play from start"
v1.2.0

  • Settings are now available!
    • Change the unit system to metric or imperial
    • Control the OBC live timing's appearance, position
    • Hide the homepage banner
    • Hide the disclaimers
  • Play from start during live (sync is likely far from perfect, but I can't really test that yet)
  • New debug menu is easier to understand (not using JSON anymore), and doesn't cover the timing sidebar from the broadcast
  • Donation page now available in menu (along with docs, and social links)
  • Improved live caption styling
  • Add missing country data
  • Fix bug where on Windows, Chrome executable could not be found
  • Improve car data refresh rate (now updates approx. every 300ms, rather than 1-1.5s)
  • Small redesign on the telemetry window
  • Added help links on the login screen
  • You can now search for content
  • Home button is removed, you can click the logo/wordmark instead
  • Telemetry now shows laps remaining and chequered flag (during race)
  • Race control messages are now in the track's local time (hover to see the timestamp in your timezone)
  • Segments now show up red if it's marked as "stopped"
  • Speeds can be shown in mph optionally
v1.1.0

  • Add sync for Saudi Arabia 2021
  • Add secondary sign in option using Puppeteer to launch Chrome (installed on the client's machine) to sign in to avoid bot-protection (Distil Networks)
v1.0.2

  • Fixed frame-exact syncing
  • Possible fix for login issues
v1.0.1

  • Add syncs for races 2019 (BH, CN, AZ, ES, MC for now) thanks to Macaw
  • Add even more Race Control message-matching
v1.0.0

  • Add precision syncing for all past races in 2022, and the season finale of 2021
  • Add initial frame-seeking (it's not exact yet, but will be) with , and . (shift makes it 10 frames)
  • Use local assets for driver headshots
  • Use native fullscreen on double-click and Enter
  • Add country flag on the stream selection list page

Some links on this website are affiliate links. This means that if you click on the link and purchase the item, it supports the development of MultiViewer for F1. This is at no additional cost to you.

MultiViewer for F1 is an unofficial app and is not associated in any way with the Formula 1 companies. F1, FORMULA ONE, FORMULA 1, FIA FORMULA ONE WORLD CHAMPIONSHIP, GRAND PRIX and related marks are trade marks of Formula One Licensing BV. MultiViewer for F1 requires a paid F1TV subscription and doesn't help circumvent any content protection or limitations by F1TV. MultiViewer for F1 is a non-commercial, fan-made application. Data is used for non-commercial, fair use.

All product and company names are trademarks™ or registered® trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.

Any product names, logos, brands, and other trademarks or images featured or referred to within the app are the property of their respective trademark holders. These trademark holders are not affiliated with MultiViewer for F1 or its contributors. They do not sponsor or endorse MultiViewer for F1 or any of our products.

"F1 TV®", "Formula 1®", "F1®", "Alfa Romeo®", "AlphaTauri®", "Alpine®", "Aston Martin®", "Ferrari®", "Haas®", "Haas F1 Team®", "McLaren®", "Mercedes®", "Red Bull®", "Red Bull Racing®", "Williams®" are trademarks of their respective owners and are not affiliated, endorsed, connected or sponsored in any way to this app.