← Back to all articles
Blog

EFV targeted distribution: distributed file storage and efficient cloud-storage/CDN use

This useful EFV feature works with cloud storage or a CDN. Such storage and CDN systems commonly fetch and cache missing files when their domain is requested. Targeted distribution assigns different batches of video segments to different storage services, so each stores only selected videos. Loading m3u8 automatically adds the assigned delivery domain to segment URLs.

Updates

  • One: Advanced targeted distribution assigns batches of selected videos to one or multiple domains. Images and segments can have separate settings and different domains.
  • Two: Fixed a registration-page BUG and a username-verification BUG in administration.

Details

Most cloud storage or CDN services offer origin/domain synchronization. Combined with targeted distribution, this sends selected batches of segments to one or more domains.

Example:

Qiniu storage one: https://1.moemv.com

Storage two: https://2.moemv.com

Storage three: https://3.moemv.com

Storage four: https://4.moemv.com

Storage five: https://5.moemv.com

Storage six: https://6.moemv.com

Image storage seven: https://7.moemv.com

These examples use Qiniu; production can combine completely different storage services or a CDN.

Suppose EFV Advanced has 1000 videos, all transcoded and sliced.

Assign targeted distribution to 1-200,201-400,401-600,601-800,801-1000 as follows:

Videos 1-200:

Delivery: https://1.moemv.com|https://2.moemv.com

Images: https://7.moemv.com

Playing videos 1-200 adds domain 1 or 2. Missing segments are cached automatically; over time, 1 and 2 cache all segments of videos 1-200.

Images use a single domain, the dedicated storage 7.

201-400:

Delivery: https://1.moemv.com|https://3.moemv.com

Images: https://7.moemv.com

Domains 1 and 3 eventually store all segments of videos 201-400, and EFV cycles between them.

401-600:

Delivery: https://2.moemv.com|https://4.moemv.com

Images: https://7.moemv.com

Domains 2 and 4 eventually store all segments of videos 401-600, and EFV cycles between them.

601-800:

Delivery: https://3.moemv.com|https://5.moemv.com

Images: https://7.moemv.com

Domains 3 and 5 eventually store all segments of videos 601-800, and EFV cycles between them.

801-1000:

Delivery: https://4.moemv.com|https://6.moemv.com

Images: https://7.moemv.com

Domains 4 and 6 eventually cache all segments of videos 801-1000, and EFV cycles between them.

This avoids caching every video on every service, reducing costs. Two storage services per batch provide load balancing and data safety, while putting all images in one service simplifies management.