leonardoxh / race-control-tv Goto Github PK
View Code? Open in Web Editor NEWThis project forked from groggy/race-control-tv
Android TV app for F1 TV
License: MIT License
This project forked from groggy/race-control-tv
Android TV app for F1 TV
License: MIT License
I was curious if you're going to support other shows in the app like Tech Talk, F1 Highlights, interviews etc in the near future?
Last weekend I used this awesome app to watch the season opener in Bahrain.
I selected 'Nederlands' as my audio track, now when I choose another session to watch, the audio track selection is back at 'English'. It would be very welcome if the app retained the selection across session viewings.
When i try to sideload the 2.0.0 APK from here, i get the following error:
INSTALL_PARSE_FAILED_NO_CERTIFICATES
Never had one π
Amazon's Fire TV (as it is based on Android) support would be really nice if possible.
Maybe this could help:
https://developer.amazon.com/fr/docs/fire-tv/differences-from-android-tv-development.html
Thanks!
Like the FireTV etc? Is there an easy way to get the apk?
That is, at least I feel that sometimes I press the controller back button twice or so and then I go back on the transmission screen so not sure if I should add a confirmation thing or so, maybe behind a setting to enable / disable it? (settings is on the plan)
Well, a bit awkward indeed.
Similar to other apps like you tube, the default is going to be auto, but with the possibility to lock it at certain resolution / frame rate.
The current code is not optimal, it expose all the suspending functions from the data layer back to the UI making the View models pretty much useless, but also launching the scope on UI level makes them not cancellable.
This has to be addressed
Always says Replay or Live ?
Hey there, was referred to this app by a fan.
Unfortunately, when I try to log on with my credentials (confirmed working on official F1TV app and website), I'm getting a toast message "Credentials rejected by F1.com".
My password only has alphanumeric characters, so it's unlikely to be caused by some encoding issues when using F1.com's REST api.
I tried looking through your code, but I'm seeing multiple files that deal with authentication, so not sure which file I should look in :)
This is a non issue, but I'd like to thank Leonardo. Now race-control-tv is infinitelly better than official F1TV on an NVidia Shield Android TV set-top box. I can use nvidia remote without issue, in order to access the content.
Thanks to all original race-control-tv authors and Leonardo, especially.
Obrigado!
Need to find a suitable way to do this, it happens because some events don't have the start neither end date, jeez.
Some times... Due F1 API issues, the playback crashes before it starts... Would be nice to retry sometimes
When the app goes to background for whatever reason like the user pressed the home button or ambient display comes up the player does not resume on correct position, it always restart.
The current problem resides on the ChannelPlaybackFragment as it always reset the media source when the view goes to STARTED state.
The solution could be introduce a ViewModel on this part so we could cache this data as the data source should never change at this point (unless the live transmission requires it)
At this moment a live stream can be time shifted, this wasn't first possible. But when starting a live stream the playback starts with the live moment and when one want to watch the stream from the beginning this is not what one (mostly) wants. So could it be possible to build in the option to start a live stream from the beginning?
The current session view shows past or current broadcasts like this:
From this UI it is not clear which and when next broadcasts can be expected. You'll have to check the website or use F1 TV app on your phone.
It would be very nice if the session view also shows cards for broadcasts coming up during the grand prix weekend, like in this mock-up for the next training session:
In this mock-up, the future session card is raised. I think future session cards should not be raised, because they are really just placeholders for future broadcast and cannot be clicked on.
Looking at the Formula 1 website, I found that https://api.formula1.com/v1/event-tracker returns information about the race weekend, including the dates and times of each session;
{
"seasonContext": {
"timetables": [{
"state": "upcoming",
"session": "p3",
"gmtOffset": "+02:00",
"description": "Practice 3",
"endTime": "2021-05-08T13:00:00",
"startTime": "2021-05-08T12:00:00"
}, {
"state": "completed",
"session": "p2",
"gmtOffset": "+02:00",
"description": "Practice 2",
"endTime": "2021-05-07T16:00:00",
"startTime": "2021-05-07T15:00:00"
}, {
"state": "upcoming",
"session": "r",
"gmtOffset": "+02:00",
"description": "Race",
"endTime": "2021-05-09T17:00:00",
"startTime": "2021-05-09T15:00:00"
}, {
"state": "completed",
"session": "p1",
"gmtOffset": "+02:00",
"description": "Practice 1",
"endTime": "2021-05-07T12:30:00",
"startTime": "2021-05-07T11:30:00"
}, {
"state": "upcoming",
"session": "q",
"gmtOffset": "+02:00",
"description": "Qualifying",
"endTime": "2021-05-08T16:00:00",
"startTime": "2021-05-08T15:00:00"
}
],
},
}
When watching and the ambient display comes up it interrupts the transmission, I believe this is related to the media session focus.
With the past months I gained a lot of knowledge about the F1 service :D this can also be embedded in the app
Using a Nvidia shield (older model) when I open the link to the play store it says not available for any devices. When searching on the shield itself I can not seem to find it. I cloned and build the app myself and side loaded to the shield which seems to work just fine so it is weird why it does not work through the play store.
Hi there,
Any chance you could / intend to convert the app in order for it to support Samsung Smart TV's? (Tizen app store)
Thanks in advance for your return.
Best regards
Hi,
Do you provide the apk? I'm still using race-control-tv from other forks, but yours seems to be the most advanced.
As described in title.
Would it be possible to implement PIP (top right) for live streams, data, drivers etc...
Does the feed support closed captioning? Seems to be the only thing missing to bring the app to parity with the browser based experience.
First of all, MUITO OBRIGADO! You and Groogy did what those geniuses at F1 TV should have done 3 years ago.
I have downloaded v2.0.0 to my MiBox 4K and, besides those small bugs, it worked great.
Now, with v2.0.2, it still works great, but the 2018 to 2020 seasons only shows the first half of the season. The 2nd half races are nowhere to be seen. For example, 2020 season stops at Tuscany GP, see pic below. The v2.0.0 showed all 2020 season. It would be great if you could see what happened (I tried everything before I came here: reinstalled, reset HW, cleared cache, restarted box, but no avail). I have F1 TV Access and I can watch all races at the official app.
Thanks in advance for your effort.
Opening the app results in a spinning wheel for 2 to 3 minutes (same happens when I clear cache/data and sign in again). Then I can choose a year. Once the year is chosen, another 2 or 3 minutes of spinning wheel on the screen. Then the sessions come up with no thumbnails. I select the replay of the Bahrain race and another 2 to 3 minute spinning wheel. Then the content plays for about 30 to 40 seconds and another spinning wheel. Content is unwatchable, even at 288p50, because it is buffering every 30 seconds.
This has to be fall back to the archive, buuuut, it bugs out the 2021 season, needs better investigation
Right now this is order somehow by the start date desc, but what happens is that this only works for the sessions, the season itself does not contain a date to order with, so when the season is in the middle for example it is order from the pre season to the most recent, should it be the other way?
Most of the sessions do not contain a meeting key, so they do not work, would be nice to have something to communicate back on UI, or maybe perhaps restrict it
{
"resultCode": "KO",
"message": "Cannot read property 'total' of undefined",
"errorDescription": "500-10000",
"resultObj": {},
"systemTime": 1615891141264
}
Err, one of the properties is wrongly mapped and it is coming nul.
Highly requested by users will require lot of dig into F1 api
The main idea would be to re arrange this screen into the channel playback part similar to the current f1 tv Android app where you can during the transmission switch the camera easily with a panel on the right or left side.
This makes much more sense then a screen before to change the channel.
But how does this works with the lean back framework ? Is it usual ?
This happens because a wrong mapping and I believe it happens in some old seasons.
Today morning I faced a very interesting issue.
When I was trying to login I was getting a 401 from the login endpoint in my main internet connection, switching to other internet connection it suddenly started to work...
This gives me a indication that sometimes the DNS may bug out, not sure what to do but maybe we could add this to the login work around steps.
For some reason some seasons return this json:
{
"availability_details":{
"is_available":false,
"status_code":2,
"message":"No WIF channel found for this session"
},
"available_for_user":false,
"data_source_fields":null,
"image_urls":[
],
"schedule_after_14_days_url":null,
"schedule_after_24h_url":null,
"schedule_after_2_years_url":null,
"schedule_after_30_days_url":null,
"schedule_after_48h_url":null,
"schedule_after_7_days_url":null,
"schedule_after_midnight_url":null,
"schedule_after_new_year_url":null,
"schedule_urls":[
"/api/schedules/sche_fffd4d24e0c947a6a94d6d6a738f11fe/"
],
"self":"/api/session-occurrence/sess_44c9b57ee97849dab0736396fd51acd9/",
"session_type_url":"/api/session-type/sess_957d59ec0ea94d3a90af80d7b3887f1d/",
"status":null,
"channel_urls":[
],
"content_urls":[
],
"sessiontype_url":"/api/session-type/sess_957d59ec0ea94d3a90af80d7b3887f1d/",
"eventoccurrence_url":"/api/event-occurrence/even_f10b92a1ac494cb8b54bfe366596d8eb/",
"series_url":"/api/series/seri_436bb431c3a24d7d8e200a74e1d11de4/",
"global_channel_urls":[
],
"uid":"sess_44c9b57ee97849dab0736396fd51acd9",
"editability":"normal",
"created":"2018-02-20T17:35:04.448827+00:00",
"data_source_id":"4709",
"last_data_ingest":"2018-02-20T17:35:04.501330+00:00",
"modified":"2018-02-20T17:35:04.448949+00:00",
"live_sources_path":"",
"live_sources_md5":null,
"event_config_md5":null,
"start_time":"2015-10-24T10:00:00+00:00",
"end_time":"2015-10-24T11:00:00+00:00",
"editorial_start_time":"2015-10-24T09:40:00+00:00",
"editorial_end_time":null,
"nbc_pid":null,
"nbc_status":null,
"status_override":null,
"replay_start_time":null,
"session_expired_time":null,
"is_test_session":false,
"language":"en",
"name":"Practice 3",
"session_name":"2015 United States Grand Prix Formula 1 Practice 3",
"slug":"2015-united-states-grand-prix-practice-3"
}
With the 2.0 api migration I am no longer displaying the driver images, I did not find a good way to do it yet.
Hi Leonardo,
Do you have a plan to provide support for other languages?
In Brazil, many young F1 fans know English, but old school ones, like my father, does not. I could help with a Brazilian Portuguese (why not European Portuguese also) translation, if you decide to pursue this development path.
Cheers and go go go Perez!!
:P
Rafael
While playing a video:
Suggestions:
Related with the 422 response...
Theere is no order so the tracker view is in the middle of the channels π
Also the driver names are gone
"At exactly 49:08 in the video I get the buffering circle which fails to ever complete or load any more of the video."
Drivers press conference is an example
When the title is to big, the card title should be scrollable automatically so we can read everything
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.