Download the PHP package jonasfeige/kirby-bunny-stream without Composer

On this page you can find all versions of the php package jonasfeige/kirby-bunny-stream. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package kirby-bunny-stream

Kirby Bunny Stream

A Kirby CMS plugin for seamless video hosting via Bunny Stream.

Features

Requirements

Installation

Composer (recommended)

Manual

Download and extract to site/plugins/kirby-bunny-stream.

Configuration

Add to your site/config/config.php:

Options

Option Type Default Description
apiKey string null Bunny Stream API key (required)
libraryId string null Video library ID (required)
cdnHostname string null CDN hostname from Bunny dashboard (required)
webhookSecret string null Webhook signature verification secret
collection string 'site' Video organization: 'site' or 'page'

Bunny Security Settings

The plugin fetches video thumbnails directly from Bunny's CDN. Depending on your Bunny library's security settings, you may need to configure access.

Recommended Setup

In your Bunny Stream dashboard, go to your library settings and configure:

Option 1: Disable direct URL blocking (simplest)

This allows thumbnails to load from any source. Videos are still protected by Bunny's standard security.

Option 2: Allow your domains (more restrictive)

This restricts thumbnail access to requests originating from your domains.

Not Supported

The plugin does not currently support:

If you enable these features in Bunny, thumbnails will not load in the Panel or on your frontend.

Usage

Adding Videos

Create a files section in your page blueprint:

Upload a video and it will automatically be sent to Bunny Stream. The original file is replaced with a small placeholder while Bunny handles storage and delivery.

Direct Upload (Large Files)

For large files that exceed PHP upload limits, use the direct upload section. This uploads directly from the browser to Bunny via the TUS protocol, bypassing your server entirely.

Add to your page blueprint:

Both upload methods produce identical results – use whichever suits your needs:

Method Best for Upload path
Standard (files section) Small files, familiar UX Browser → Server → Bunny
Direct (bunny-video-upload) Large files (100MB+) Browser → Bunny (TUS)

Custom Thumbnails

The default blueprint includes a customthumbnail field. Upload an image to override Bunny's auto-generated thumbnail. The bunnyThumbnail() method automatically returns the custom thumbnail if set.

Selecting Videos

Use the preset field to select only videos that have finished encoding:

Or use a standard files field:

Filtering by Status

Filter videos by encoding status in blueprints:

Or in PHP:

In Templates

Custom Blueprints

To add custom fields, create your own blueprint that extends the base:

The files/bunny-video-fields blueprint includes the required hidden fields for Bunny metadata.

File Methods

Method Returns Description
$file->bunnyVideoId() ?string Bunny video GUID
$file->bunnyHlsUrl() ?string HLS stream URL
$file->bunnyMp4Url($resolution) ?string Direct MP4 URL (480, 720, 1080, etc.)
$file->bunnyThumbnail() ?string Thumbnail URL (custom or auto)
$file->bunnyWidth() ?int Video width
$file->bunnyHeight() ?int Video height
$file->bunnyAspectRatio() float Width / height (defaults to 16/9)
$file->bunnyDuration() ?int Video length in seconds
$file->bunnyStatus() int Bunny status code (0-6)
$file->bunnyData() array Raw Bunny metadata
$file->isBunnyReady() bool Encoding complete (status 4)?
$file->isBunnyProcessing() bool Still encoding (status 0-3)?

Page Methods

Method Returns Description
$page->bunnyVideos() Files Ready videos on this page
$page->bunnyVideos(false) Files All videos including processing

Status Codes

Code Status
0 Queued
1 Processing
2 Encoding
3 Finished
4 Ready (playable)
5 Error
6 Upload failed

Panel Preview

The plugin includes a custom Panel file preview that shows:

Webhook Setup (Optional)

For instant metadata updates when encoding completes:

  1. In Bunny dashboard, go to Stream > Your Library > Webhooks
  2. Add webhook URL: https://yoursite.com/bunny-stream/webhook
  3. Copy the webhook secret to your config

Without webhooks, metadata updates lazily when the file is accessed in the Panel.

License

MIT


All versions of kirby-bunny-stream with dependencies

PHP Build Version
Package Version
Requires php Version >=8.1
getkirby/cms Version ^5.0
getkirby/composer-installer Version ^1.2
guzzlehttp/guzzle Version ^7.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package jonasfeige/kirby-bunny-stream contains the following files

Loading the files please wait ...