pulse00 / ffmpeg-bundle
Symfony bundle to provide PHP-FFmpeg as a Symfony service (https://github.com/alchemy-fr/PHP-FFmpeg)
Installs: 434 909
Dependents: 2
Suggesters: 0
Security: 0
Stars: 57
Watchers: 8
Forks: 29
Open Issues: 9
Type:symfony-bundle
Requires
- php: ^5.3.9 || ^7.0
- php-ffmpeg/php-ffmpeg: ^0.5 || ^0.6
- symfony/dependency-injection: ^2.3 || ^3.0
- symfony/framework-bundle: ^2.3 || ^3.0
Requires (Dev)
README
This bundle provides a simple wrapper for the PHP_FFmpeg library, exposing the library as a Symfony service.
Download FFmpegBundle using composer
Require the bundle with composer:
$ composer require pulse00/ffmpeg-bundle "^0.6"
Composer will install the bundle to your project's vendor/pulse00/ffmpeg-bundle
directory.
Enable the bundle
Enable the bundle in the kernel
<?php // app/AppKernel.php public function registerBundles() { $bundles = array( // ... new Dubture\FFmpegBundle\DubtureFFmpegBundle(), // ... ); }
Configuration
Configure which ffmpeg binary to use in config.yml
:
dubture_f_fmpeg: ffmpeg_binary: /usr/bin/ffmpeg ffprobe_binary: /usr/bin/ffprobe binary_timeout: 300 # Use 0 for infinite threads_count: 4
Usage
$ffmpeg = $this->get('dubture_ffmpeg.ffmpeg'); // Open video $video = $ffmpeg->open('/your/source/folder/input.avi'); // Resize to 1280x720 $video ->filters() ->resize(new Dimension(1280, 720), ResizeFilter::RESIZEMODE_INSET) ->synchronize(); // Start transcoding and save video $video->save(new X264(), '/your/target/folder/video.mp4');