PHPackages                             laborb/bunny-stream - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Image &amp; Media](/categories/media)
4. /
5. laborb/bunny-stream

Abandoned → [laborb/statamic-bunny-stream](/?search=laborb%2Fstatamic-bunny-stream)Statamic-addon[Image &amp; Media](/categories/media)

laborb/bunny-stream
===================

Upload and embed videos from Bunny Stream

1.2.11(1y ago)13.6k1[1 issues](https://github.com/laborb/statamic-bunny-stream/issues)MITVuePHP ^8.2

Since Aug 30Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/laborb/statamic-bunny-stream)[ Packagist](https://packagist.org/packages/laborb/bunny-stream)[ Docs](https://laborb.de)[ RSS](/packages/laborb-bunny-stream/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (2)Dependencies (1)Versions (27)Used By (0)

Video Stream GDPR Compliant (aka Bunny Stream)
==============================================

[](#video-stream-gdpr-compliant-aka-bunny-stream)

> Bunny Stream is a Statamic add-on that integrates the Bunny Stream API for single stream libraries into the Statamic CP.

Features
--------

[](#features)

- ✅ **GDPR/DSGVO-Compliant Video Hosting &amp; Embedding**
    - Fully GDPR/DSGVO-compliant, no cookies or consent manager required
    - No ads, tracking, or related videos from third parties
    - EU-based data processing with geo-replicated CDN for global delivery
- 🔄 **Seamless Statamic Integration**
    - Native Statamic CP integration for easy uploads &amp; management
    - Custom thumbnails &amp; cover images for full branding control
    - Supports background videos with minimal UI mode
- 🎥 **Advanced Streaming &amp; Vidstack Video Player**
    - Adaptive Bitrate Streaming (ABR) with HLS for smooth playback
    - Vidstack Player with full customization (controls, branding, and playback settings)
    - Multi-format support (HLS, DASH, MP4, WebM) for maximum compatibility
- ⚙️ **Developer-Friendly &amp; Flexible**
    - Works with Statamic Bard, Replicator, and Antlers templating
    - Headless-compatible for API-based or JAMstack integrations
    - Secure, scalable, and supports token-authenticated video access

Bunny Account Required 🐰
------------------------

[](#bunny-account-required-)

To use this addon, you'll need a Bunny.net account. If you don't have one yet, you can sign up using our [affiliate link](https://bunny.net?ref=uhvsqhaw0n). By doing so, you'll be supporting the development of this addon at no extra cost to you. 💙

Thank you for your support! 🚀

Installation
------------

[](#installation)

Install the addon using composer:

```
composer require laborb/statamic-bunny-stream
```

Insert the required styles &amp; scripts using the following tags:

- Use `{{ bunny:scripts }}` to add all required javascript files. We recommend adding this to the end of the ``.
- Use `{{ bunny:styles }}` to add all required css files. We recommend adding this to the ``.

All inserted files can be configured using the configuration file.

Configuration
-------------

[](#configuration)

You need to provide the following .env-Variables:

```
BUNNY_LIBRARY_ID=yourid            # Your Bunny Stream LibraryID
BUNNY_API_KEY=yourapikey           # Your Libraries API Key
BUNNY_CDN_HOSTNAME=yourcdnhostname # Your Libraries CDN Hostname
```

You can find these values in your Bunny Stream Dashboard at  `Delivery > Stream > API`

You can enable Video embedding by setting the following variables:

```
BUNNY_EMBED_PATH="yourpath"
BUNNY_EMBED_DOMAIN="*"
```

All videos will then be available through a direct url. Check the video browser to get the correct url for each video.

Using `BUNNY_EMBED_DOMAIN` you can change the Access Control Header, if you want to limit access.

### Custom CDN Hostname

[](#custom-cdn-hostname)

To add a custom hostname you can do the following:

1. Login to your bunny dashboard and head over to `Delivery > Stream > API`
2. At Pull zone click `Manage`
3. Create a CName entry in your DNS settings pointing to the displayed bunny CDN hostname
4. Enter your custom hostname in the bunny settings and activate SSL
5. Use your custom hostname in the .env `BUNNY_CDN_HOSTNAME=yourcdnhostname`

Now your videos are delivered over your custom hostname.

### Publish Configuration (optional)

[](#publish-configuration-optional)

After installing the addon you can publish and update the default configuration:

```
php artisan vendor:publish --tag=bunny-config
```

### Publish Views (optional)

[](#publish-views-optional)

All views are completely customizable. To publish them use:

```
php artisan vendor:publish --tag=bunny-views
```

Usage
-----

[](#usage)

The bunny tag allows you to display a Bunny video stream using the Vidstack player in your Statamic site.

```
{{ bunny id="bunny-video-id" title="My Video" poster="https://example.com/poster.jpg" preload="auto" class="custom-class" tracks="{{ tracks }}" }}
```

### Parameters

[](#parameters)

ParameterTypeDescription`id`stringThe id of the video you want to display.`title`string (optional)A title to display for the video. Defaults to `null`.`poster`string (optional)A poster image URL to display before the video starts. Defaults to `null`.`width`int (optional)The width of the video. Defaults to `null`.`height`int (optional)The height of the video. Defaults to `null`.`controls`boolean (optional)Whether the video should have controls. Defaults to `true`.`preload`string (optional)How the video should be preloaded. Options: `auto`, `metadata`, `none`. Defaults to `metadata`.`tracks`array (optional)An array of additional tracks (e.g., captions, subtitles). Defaults to `[]`.`class`string (optional)Additional HTML classes to be added to the wrapper.### Configuring Tracks Array

[](#configuring-tracks-array)

The `tracks` parameter must be formatted as an array of objects, where each object represents a caption or subtitle track. The structure follows loosely the [Vidstack track format](https://vidstack.io/docs/wc/player/api/text-tracks/):

Each track object must include the following properties:

- `source`: The URL of the caption file.
- `kind`: The type of track, e.g., `subtitles`, `captions`, `descriptions`.
- `language`: The language code, e.g., `en`, `es`, `fr`.
- `label`: The visible label for the track.

Example JSON configuration for tracks:

```
[
    { "source": "/path/to/captions-en.vtt", "kind": "subtitles", "language": "en", "label": "English" },
    { "source": "/path/to/captions-es.vtt", "kind": "subtitles", "language": "es", "label": "Spanish" }
]
```

### Bunny-Field &amp; -Fieldset

[](#bunny-field---fieldset)

This addon includes a basic Bunny fieldset that you can use.

When using the fieldset you can use the following markup to output the video player:

```
{{ bunny :id="bunny_video" :poster="bunny_poster[0]" :controls="bunny_controls" :tracks="bunny_captions" }}
```

You can also just use the Bunny field by adding it to any blueprint.

Customization
-------------

[](#customization)

You can customize the video player to your needs. Check the [vidstack.io](https://vidstack.io/docs/wc/player) documentation for details.

Disclaimer
----------

[](#disclaimer)

This addon is not affiliated with, endorsed by, or sponsored by Bunny.net. It is an independent project designed to integrate Bunny.net's streaming services with Statamic. All trademarks, service marks, and company names mentioned are the property of their respective owners.

Users of this addon are responsible for complying with Bunny.net's terms of service and any applicable usage policies. We recommend reviewing Bunny.net's official documentation and support channels for any inquiries related to their services.

Support
-------

[](#support)

If you have any questions, feature requests or find any bugs, feel free to [contact us](mailto:support@laborb.de).

You can also just create an issue on Github. We will get back to you as soon as possible.

###  Health Score

38

—

LowBetter than 85% of packages

Maintenance45

Moderate activity, may be stable

Popularity19

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity66

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~14 days

Recently: every ~27 days

Total

26

Last Release

637d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/7f205ad8cb7aeee5fdbc88eee18f3c5df3c751b9ef6403adfefd1766e7482a62?d=identicon)[laborb](/maintainers/laborb)

---

Top Contributors

[![labSupport](https://avatars.githubusercontent.com/u/3942647?v=4)](https://github.com/labSupport "labSupport (9 commits)")

---

Tags

streamingvideoBunny.nethostingStatamic addon

### Embed Badge

![Health badge](/badges/laborb-bunny-stream/health.svg)

```
[![Health](https://phpackages.com/badges/laborb-bunny-stream/health.svg)](https://phpackages.com/packages/laborb-bunny-stream)
```

###  Alternatives

[php-ffmpeg/php-ffmpeg

FFMpeg PHP, an Object Oriented library to communicate with AVconv / ffmpeg

5.0k21.7M165](/packages/php-ffmpeg-php-ffmpeg)[happyworm/jplayer

jPlayer allows you to create a media player with a consistent interface and experience across all browsers.

4.6k114.2k1](/packages/happyworm-jplayer)[opentok/opentok

OpenTok is a platform for creating real time streaming video applications, created by TokBox.

1413.0M10](/packages/opentok-opentok)[daun/statamic-mux

Seamless video encoding and streaming using Mux on Statamic sites

132.3k](/packages/daun-statamic-mux)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
