You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'd like the ability to pause/resume buffering on video_player, why?
We've got a situation where we have multiple videos loading offscreen and we'd like video_player to buffer only enough to keep up once the user navigates to view that video. As far as I know, video_player currently buffers 100% of the video as quickly as possible which is normally appropriate but not when you have 6-12 videos buffering slightly off screen.
This is a very critical issue actually. For use cases like mine where you have a feed of many videos, the buffering must be dependent on the current position of playback, in the current state it will buffer 100% of the video which increases the data consumed by the application a lot. In regions where people do not all have WiFi connections with unlimited data available, this causes them to hit their data limits within a very short span of time and provides a very negative impression of the app. Once this happens, they may never come back.
Can we do something to control the percentage of video that is buffered ahead?
In the video_player, I don't think it's currently available to control how many amounts of videos are to be buffered.
But I did it by changing the native iOS code into a dependency file.
Has there been any work on this lately? It would be great to have buffering controls and a way to stop buffering, de-initializing the controller causes the video to slow down every time we try to re-visit them.
Has anyone figured out any issue for this. My app which uses pageview builder for displaying videos loads 3 pageviews at time initializing 3 videos at a time on page change it loads another one. But the concern here is that for loading just 3-4 videos which are approximately 6-8 MB in size app consumes 80-90 MB of data which is huge for the users runnig app on mobile network.
Moreover there is no way to track the network consumption and requests made by the video player controller for loading videos in the network profiler tab in the dev tools. @TahaTesser kindly help in this situation.
Any updates on this? @lukepighetti do you have any workarounds? would love to see some implementation that would cache HLS streams, like how instagram reels, tiktok does.
Reacted by Phuc N.G. Nguyen, Javier Arias and Ruby L.
from my research, this can be done in Android, IOS and MACOS. these platforms supports this feature natively.
and for web, i don't think its possible. or rather i didn't find any doc on if this can be implemented in web or not.
so can i try implementing this for Android, IOS and MACOS?
Activity
[-]add partial buffer to video_player[/-][+][video_player] add buffering controls[/+]PaulRaphanaud commentedon Apr 10, 2020
guopeng1994 commentedon Jun 10, 2020
lukepighetti commentedon Jun 10, 2020
vishwajit76 commentedon Jun 20, 2020
jpiabrantes commentedon Jun 25, 2020
lukepighetti commentedon Jun 25, 2020
amirmhmdi commentedon Aug 2, 2020
lukepighetti commentedon Aug 3, 2020
ayush221b commentedon Jan 22, 2021
This is a very critical issue actually. For use cases like mine where you have a feed of many videos, the buffering must be dependent on the current position of playback, in the current state it will buffer 100% of the video which increases the data consumed by the application a lot. In regions where people do not all have WiFi connections with unlimited data available, this causes them to hit their data limits within a very short span of time and provides a very negative impression of the app. Once this happens, they may never come back.
Can we do something to control the percentage of video that is buffered ahead?
cc: @TahaTesser
37 remaining items
sanket-hv commentedon Jul 13, 2023
In the video_player, I don't think it's currently available to control how many amounts of videos are to be buffered.
But I did it by changing the native iOS code into a dependency file.
for iOS we have one option to set a limit on buffering.
Property is preferredForwardBufferDuration.
For More info: https://developer.apple.com/documentation/avfoundation/avplayeritem/1643630-preferredforwardbufferduration
yadavmanishraj commentedon Jul 23, 2023
Any updates
ShahzadUmarBaig commentedon Jul 24, 2023
Has there been any work on this lately? It would be great to have buffering controls and a way to stop buffering, de-initializing the controller causes the video to slow down every time we try to re-visit them.
saurabhunify commentedon Sep 23, 2023
Has anyone figured out any issue for this. My app which uses pageview builder for displaying videos loads 3 pageviews at time initializing 3 videos at a time on page change it loads another one. But the concern here is that for loading just 3-4 videos which are approximately 6-8 MB in size app consumes 80-90 MB of data which is huge for the users runnig app on mobile network.
Moreover there is no way to track the network consumption and requests made by the video player controller for loading videos in the network profiler tab in the dev tools.
@TahaTesser kindly help in this situation.
mrabetachraf commentedon Oct 5, 2023
For people still looking for a solution, i've found a player that let's you configure the buffer. it's called better Player.
Documentation : https://jhomlala.github.io/betterplayer/#/README
buffering documentaion. https://jhomlala.github.io/betterplayer/#/bufferingconfiguration
ps: if you have other player packages such as video player or chiwie it will cause a problem so make sure to remove them and run flutter clean.
NicolasDionB commentedon Oct 5, 2023
It doesn't seems to work on the web and non-mobile platforms though.
saileshbro commentedon Jun 19, 2024
Any updates on this? @lukepighetti do you have any workarounds? would love to see some implementation that would cache HLS streams, like how instagram reels, tiktok does.
Laestry commentedon Oct 14, 2024
and it's only for android, plus having a function to call that actually stops/starts buffering would be amazing
saninthottungal commentedon Dec 26, 2025
is there anyone working on this?
from my research, this can be done in Android, IOS and MACOS. these platforms supports this feature natively.
and for web, i don't think its possible. or rather i didn't find any doc on if this can be implemented in web or not.
so can i try implementing this for Android, IOS and MACOS?
[video_player] Add forwardBufferDuration to cap network read-ahead
[video_player_platform_interface] Add forwardBufferDurationMs
[video_player_platform_interface] Add forwardBufferDurationMs
[video_player_platform_interface] Add forwardBufferDurationMs