bjthecod3r/laravel-cloudflare-stream

A Laravel package for Cloudflare Stream.

Maintainers

Package info

github.com/BJTheCod3r/laravel-cloudflare-stream

pkg:composer/bjthecod3r/laravel-cloudflare-stream

Statistics

Installs: 3 464

Dependents: 0

Suggesters: 0

Stars: 20

Open Issues: 0

v1.1.0 2026-04-13 06:01 UTC

README

Laravel Cloudflare Stream Logo

Build Status Total Downloads Latest Version License

Laravel Cloudflare Stream

A Laravel Package for working with Cloudflare Stream seamlessly

Supports Laravel 10, 11, 12, and 13.

Installation

Run

composer require bjthecod3r/laravel-cloudflare-stream

Configuration

You may publish the configuration file using this command:

php artisan vendor:publish --provider="Bjthecod3r\CloudflareStream\CloudflareStreamServiceProvider"

A configuration file named cloudflare-stream with some defaults and required properties will be placed in your config directory.

Usage

Open your .env file and add the following variables, remember to substitute the actual values

CLOUDFLARE_API_TOKEN=xxxxxxxxxxxx
CLOUDFLARE_ACCOUNT_ID=xxxxxxxxxxxxxxxxx
CLOUDFLARE_API_BASE_URL=https://api.cloudflare.com/client/v4/accounts
CLOUDFLARE_KEY_ID=xxxxxxxxxxxxxxx

Using the package is pretty straight forward, you can make use of the class like you would do any in Laravel. There is also support for facade.

use Bjthecod3r\CloudflareStream\CloudflareStream;

use Bjthecod3r\CloudflareStream\Facades\CloudflareStream as CloudflareStreamFacade;

class StreamService
{
    public function fetchStream(string $id, CloudflareStream $cloudflareStream)
    {
        dd($cloudflareStream->fetchVideo($id));
    }
    
    public function fetchVideo(string $id): array
    {
        return CloudflareStreamFacade::fetchVideo($id);
    }
}

Note

This package currently covers my current usage of cloudflare stream, although, in the next couple of weeks I plan to expand its features. However, if there is a need for a particular feature, feel free to reach out to me via fabulousbj@hotmail.com, and I'll gladly attend to it.

Todo

  • Improve tests
  • Add the remaining useful features available on Cloudflare Stream

Contributing

Please feel free to fork this package and contribute by submitting a pull request to enhance the functionalities.

Releases

GitHub releases are managed with Google's release-please action.

  • Merge conventional commits such as fix:, feat:, or feat!: into main.
  • release-please will open or update a Release PR with the next version and changelog changes.
  • Merging that Release PR creates the GitHub release and the next v* tag automatically.
  • If you want other workflows to run on Release PRs or release tags, add a RELEASE_PLEASE_TOKEN secret with a PAT; otherwise the workflow falls back to GITHUB_TOKEN.
  • In GitHub repo settings, enable Settings > Actions > General > Allow GitHub Actions to create and approve pull requests.

License

The MIT License (MIT). Please see License File for more information.