Skip to content

Add Cache data to Hard Drive,Preload data to Hard Drive #340

@123seven

Description

@123seven

Disk Cache & Preload Support for Better High-Bitrate / Poor-Network Playback Experience

Background

We are currently using fvp in Flutter to implement video playback.
When playing high-bitrate videos (e.g. Dolby, high frame rate, high bitrate streams) over the network, especially under unstable or poor network conditions, the player frequently enters buffering states. This results in noticeable stuttering, long waiting times, and an overall degraded playback experience.

Current Limitations

Playback mainly relies on in-memory or streaming-based buffering

High-bitrate videos continuously buffer under weak or unstable network conditions

Cached data is not persisted to disk, so previously downloaded data cannot be reused after app restart or page switching

There is no way to preload video data in advance to ensure smooth playback later

Expected Features

To improve playback experience, we would like to see support for the following capabilities:

Cache data to Hard Drive
  • Persist downloaded video data to local storage (hard drive)

  • Support cache reuse and resume playback from cached data (seek / resume)

Preload data to Hard Drive
  • Allow preloading a specific duration or size of video data to disk before playback or during idle time

  • Reduce initial startup latency (first frame delay) and re-buffering during playback

Questions

Is there already any plan or roadmap for these features?

Is there any preliminary design or technical direction for implementing disk caching / preloading?

If these features are not yet implemented or are currently under planning, I would be very happy to contribute to the development or help with the design and implementation.
Thank you for your work on maintaining the project!

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions