Download the PHP package b7s/fluentcut without Composer

On this page you can find all versions of the php package b7s/fluentcut. 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 fluentcut

# FluentCut ### 🎬 Craft and compose videos programmatically in PHP with an elegant fluent API [![PHP Version](https://img.shields.io/badge/PHP-8.3%2B-777BB4?logo=php&logoColor=white)](https://www.php.net/) [![PHPStan Level 6](https://img.shields.io/badge/PHPStan-Level%206-brightgreen)](https://phpstan.org/) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

This standalone, developer‑friendly library brings the full power of FFmpeg into a beautifully fluent PHP API. Effortless to use, built for real‑world production environments, and designed with expressive chaining in mind — it handles everything from simple slideshows and video trimming to complex multi‑clip compositions with text overlays, transitions, and audio mixing.

Whether you're automating video generation, building media pipelines, or creating dynamic content at scale, FluentCut gives you a clean, modern, and type‑safe toolkit that makes programmatic video editing feel natural.

✨ Features

Easy to use

📦 Installation

Requirements

FFmpeg must be installed on your system. FluentCut uses ffmpeg and ffprobe under the hood for all media operations.

Check Installation

This will verify that PHP 8.3+, FFmpeg, and FFprobe are available and properly configured.

🚀 Quick Start

Basic Usage

Text Overlays

Resize Video

Cut/Trim Video

GIF Export

Video Effects

Apply visual effects to individual clips. Pass a single effect or an array — duplicates are automatically removed.

Complex Composition

GPU Acceleration

Leverage hardware-accelerated encoding for dramatically faster rendering. FluentCut auto-detects available GPU encoders and uses them automatically.

How it works: Segment rendering uses GPU encoding for parallel speed, while transition passes (xfade) use CPU — this is unavoidable since FFmpeg's xfade filter is CPU-only, but it's only re-encoding already-compressed segments.

🛠️ CLI Commands

doctor - Diagnose Installation

The doctor command checks your installation and shows:

info - Media File Information

The info command probes a media file and displays:

📖 API Reference

Canvas / Dimensions

Set the output canvas size and framerate for your composition. All dimension presets also set sensible default framerates.

Video Clips

Add video files to the composition. Optionally trim by specifying start and end times in seconds.

Image Clips

Add still images as clips with a specified duration. Perfect for building slideshows or title cards.

Color / Background Clips

Add solid-color clips to create title screens, interstitials, or backgrounds.

Text Overlays

Add text to the last added clip. All parameters except text are optional. Supports positioning with pixel values, percentages ('50%'), or keywords ('center', 'top', 'bottom', 'left', 'right').

Image Overlays

Layer images on top of the last added clip, such as watermarks or logos.

Audio

Control the audio layer of your composition. Add background music, preserve source audio, and adjust volume levels. You can add multiple audio tracks with independent control over volume, start time, and duration.

Parameters:

Note: Each audio track plays once by default unless loop: true. When looping, fade is applied at the start and end of each audio iteration for smooth transitions.

Transitions

Define the transition between the current clip and the next one. Transitions are applied between consecutive clips in the timeline.

Available transitions:

Transition Description
None Hard cut (no transition)
Fade Smooth crossfade between clips
FadeBlack Fade through black
FadeWhite Fade through white
FadeGrays Fade through grayscale
Dissolve Pixel dissolve blend
WipeLeft Wipe from right to left
WipeRight Wipe from left to right
WipeUp Wipe from bottom to top
WipeDown Wipe from top to bottom
SlideLeft Slide from left
SlideRight Slide from right
SlideUp Slide from bottom
SlideDown Slide from top
Radial Radial wipe from center
CircleOpen Circle opening from center
CircleClose Circle closing to center
CircleCrop Circular crop transition
RectCrop Rectangular crop transition
Distance Distance-based blend
Pixelize Pixelization effect
HorizontalBlur Horizontal blur transition
HorizontalLeftSlice Horizontal slice from left
HorizontalRightSlice Horizontal slice from right
VerticalUpSlice Vertical slice upward
VerticalDownSlice Vertical slice downward
DiagonalTopLeft Diagonal from top-left
DiagonalTopRight Diagonal from top-right
DiagonalBottomLeft Diagonal from bottom-left
DiagonalBottomRight Diagonal from bottom-right

Video Effects

Apply one or more visual effects per clip. Pass a single VideoEffect, an array of effects, or use the variadic effect() method. Duplicates and None are automatically removed.

Available effects:

Effect Description
VideoEffect::None No effect (default)
VideoEffect::SoftZoom Slow zoom in to center (Ken Burns effect)
VideoEffect::ZoomCenter Slow zoom in to center
VideoEffect::ZoomTopLeft Slow zoom in to top-left
VideoEffect::ZoomTopCenter Slow zoom in to top-center
VideoEffect::ZoomTopRight Slow zoom in to top-right
VideoEffect::ZoomCenterLeft Slow zoom in to center-left
VideoEffect::ZoomCenterRight Slow zoom in to center-right
VideoEffect::ZoomBottomLeft Slow zoom in to bottom-left
VideoEffect::ZoomBottomCenter Slow zoom in to bottom-center
VideoEffect::ZoomBottomRight Slow zoom in to bottom-right
VideoEffect::Grayscale Convert to grayscale
VideoEffect::Sepia Sepia tone (vintage warm look)
VideoEffect::Blur Gaussian blur
VideoEffect::Sharpen Sharpen details
VideoEffect::Vignette Dark edges vignette
VideoEffect::Brightness Increase brightness
VideoEffect::Contrast Increase contrast
VideoEffect::Saturate Boost color saturation
VideoEffect::Desaturate Reduce color saturation
VideoEffect::Negate Invert colors
VideoEffect::EdgeDetect Edge detection outline
VideoEffect::Pixelate Pixelation mosaic

Resize Modes

Control how clips are fitted to the canvas when their aspect ratio doesn't match.

Output Configuration

Configure where and how the final video is saved.

Presets

Pre-configured settings optimized for common use cases. Each preset sets canvas size, framerate, transition, and resize mode.

Progress Monitoring

Track render progress in real time with a callback that receives detailed progress information.

GPU Acceleration

Enable hardware-accelerated encoding for faster rendering. FluentCut auto-detects available GPU encoders.

Platform detection:

Note: Transition effects (xfade) use CPU because FFmpeg's xfade filter has no GPU implementation. This is a minor re-encoding pass — the heavy segment rendering still uses GPU.

Execution (render)

The render() method is the terminal operation that builds the FFmpeg command and executes it, returning a RenderResult object.

Result Object

The RenderResult object contains information about the rendered video and metadata about the render process.

Static Helpers

Utility methods for media inspection and system checks without creating a FluentCut instance.

⚙️ Configuration

Create a fluentcut-config.php file in your project root:

Configuration File Location:

The configuration file is searched in the following order:

  1. Explicit path (if provided programmatically)
  2. Project root (where composer.json is located)
  3. Current working directory
  4. Package root (fallback)

📋 Requirements

🌐 Platform Support

Platform Architecture Notes
Linux x86_64, arm64 Full support
macOS x86_64, arm64 (Apple Silicon) Full support
Windows x86_64 Full support

Running Tests

📄 License

MIT License - see LICENSE file.

🙏 Credits


All versions of fluentcut with dependencies

PHP Build Version
Package Version
Requires php Version ^8.3
symfony/console Version ^7.0|^8.0
symfony/process Version ^7.0|^8.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 b7s/fluentcut contains the following files

Loading the files please wait ...