Introduction
bunny.net offers a unique feature named 'Optimize for Video Delivery'. This feature allows for better handling and processing of video content, improving the viewing experience for your users. This article provides a detailed overview of this feature and how it functions.
What is 'Optimize for Video Delivery'?
The 'Optimize for Video Delivery' feature is an a mechanism designed to enhance the delivery of video content across the network. When enabled, this feature breaks down cached files into smaller, manageable 5MB chunks. This segmentation provides several benefits, particularly when handling byte range requests, which are crucial for video streaming services.
Prerequisites
Before proceeding, ensure that you have the following:
- A bunny.net account. If you don't have one, sign up here.
- An active pull zone. If you haven't created one yet, follow the instructions in this guide.
Enabling 'Optimize for Video Delivery' in our dashboard
You should first login to your account, and then click the 'Delivery' drop down on the left hand side. Within this drop down, please click 'CDN' and then click on the respective pull zone that you wish to configure.
Following this, please click the 'Caching' option shown within the sub-menu for pull zone configuration.
You will be greeted with a large amount of configuration options that relate to how the CDN will handle caching of your given pull zone.
For this guide, you will want to scroll down to the bottom right until you see a box called 'Optimize for Video Delivery'.
This feature is a one click toggle, and requires no further configuration once enabled. Please bare in mind, enabling this option will reset all cached content on the zone and make it pull from the origin, using byte-range requests.
Benefits of 'Optimize for Video Delivery'
1. Support for Byte Range Requests
Byte range requests allow a client (such as a browser or a video player) to request specific parts of a file instead of the entire file. This is particularly useful for video content because it allows users to skip to different parts of a video without having to download the entire file.
When the 'Optimize for Video Delivery' feature is enabled, we can process byte range requests even for uncached files. This means that users can efficiently skip to different sections of a video, even if the video is not cached on the network.
🚧 Origin byte range request support
With this feature enabled we request content from the origin in 5 MB chunks. This may have an impact on services that operate a usage based cost model such as some 3rd party storage platforms. Please ensure that your origin supports byte-range requests when this feature is enabled.
2. Reduced Origin Traffic
Segmenting cached files into 5MB chunks also has the added advantage of reducing origin traffic. By delivering only the necessary chunks, this avoids sending redundant data, thereby saving bandwidth and reducing load on the origin server.
Performance Considerations
Because the Optimize For Video feature splits and requests data in smaller chunks, it can reduce the overall throughput when delivering large uncached files. This is because the CDN servers need to make a new HTTP request for each chunk that it needs to build a response. This is fine for Video Delivery, but not efficient for non-video based content.
Considerations When Using 'Optimize for Video Delivery'
While 'Optimize for Video Delivery' offers significant benefits, it is essential to consider that enabling this feature can slightly reduce the throughput for large uncached files. This is due to the overhead of processing multiple smaller chunks instead of one large file. However, the slight reduction in throughput is generally outweighed by the benefits of improved video delivery and reduced origin traffic.
Conclusion
Our 'Optimize for Video Delivery' feature is a powerful tool for anyone hosting video content. By enabling support for byte range requests and reducing origin traffic, it provides an optimized user experience for viewers while simultaneously reducing the load on your servers.
Remember to consider your specific use case and the nature of your files when deciding to enable this feature. If you're uncertain, please reach out to our Support team for further guidance.