Alpha GSOC 2020 - Interested in working on "Bitrate Switch"
#1
Thumbs Up 
Bitrate Switch

My name is Khaled Sabry and this is my last year at Cairo University - Faculty of Computer Engineering

I have applied in the last year to do a library for pictures - https://forum.kodi.tv/showthread.php?tid=342302 -  but the idea itself was cancelled.

so, let's get into this year’s idea which I find it really beneficial and critical to make "Bitrate Switch"

The output you want is:
1)  automatically select (you mean you could do the bitrate manually - this is the current- or make the user do it automatically - this is what I will add to kodi)
2) changes of bitrate depends on the external factors (as you have noted in the https://kodi.wiki/view/Google_Summer_of_Code/2020
the external factors are 
a) network fluctuations (so if another process on your computer download something or your laptop cannot get high download speed then should decrease the quality/bitrate  or will do on another metric)
b) changes in window size (smaller window sizes, low quality looks descent on it but not on a high window size so I will need to deal with that)
c) performance stats of rendered frames it should be possible to switch seamlessly to lower / higher stream representations. (I salute you for this because on my old laptop some of the high quality made the rendering of frames is really bad)

so, for now, I see those three features are good to make a good automatic bitrate selection but I will need to make my research if there is a more feature could I add to make it better or even how to make a matric to combine all these three features or more to get a great result at the end.

I have looked to the repository https://github.com/peak3d/inputstream.adaptive and I have some questions I need to ask to complete the idea and the architecture in my head and start to write the document.
so, how to contact you?
Reply
#2
(2020-03-25, 13:57)khaledsab1997 Wrote: Bitrate Switch

My name is Khaled Sabry and this is my last year at Cairo University - Faculty of Computer Engineering

I have applied in the last year to do a library for pictures - https://forum.kodi.tv/showthread.php?tid=342302 -  but the idea itself was cancelled.

so, let's get into this year’s idea which I find it really beneficial and critical to make "Bitrate Switch"

The output you want is:
1)  automatically select (you mean you could do the bitrate manually - this is the current- or make the user do it automatically - this is what I will add to kodi)
2) changes of bitrate depends on the external factors (as you have noted in the https://kodi.wiki/view/Google_Summer_of_Code/2020
the external factors are 
a) network fluctuations (so if another process on your computer download something or your laptop cannot get high download speed then should decrease the quality/bitrate  or will do on another metric)
b) changes in window size (smaller window sizes, low quality looks descent on it but not on a high window size so I will need to deal with that)
c) performance stats of rendered frames it should be possible to switch seamlessly to lower / higher stream representations. (I salute you for this because on my old laptop some of the high quality made the rendering of frames is really bad)

so, for now, I see those three features are good to make a good automatic bitrate selection but I will need to make my research if there is a more feature could I add to make it better or even how to make a matric to combine all these three features or more to get a great result at the end.

I have looked to the repository https://github.com/peak3d/inputstream.adaptive and I have some questions I need to ask to complete the idea and the architecture in my head and start to write the document.
so, how to contact you?
@khaledsab1997  sorry for the late reply, things are getting a little bit out of normal currently.

I would be happy to invite you into our team slack, if you send me your your email via mail using the mail address attached to my github account, we'll send you an invitation.
If you prefer freenode, join us with #kodi-gsoc

Edit: Your analysis of the topic is correct, for UI we would like to remove the manual / auto option in inputstream.adaptive settings. Instead the user should have the choice between supported resolution AND an auto option in the list, which can be already accessed in video settings while playing a movie.
But: This UI thing is not necessarily part of the GSOC project.
What has to be solved: 1.) implement preloading of multiple segments (currently only the active one is loaded), and choose the best bitrate (respecting your a.) to c.) cases.
c) is also optional for this project, because it needs API interface changes which are sometimes time consuming to implement. But your logic should alredy be prepared for this c.) option.
Reply

Logout Mark Read Team Forum Stats Members Help
GSOC 2020 - Interested in working on "Bitrate Switch"0