FFMpeg::fromDisk('videos')
->open('video.mp4')
->addWatermark(function(WatermarkFactory $watermark) {
$watermark->open('logo.png')
->width(100)
->height(100)
->greyscale();
});
FFMpeg::fromDisk('videos')
->open('video.mp4')
->export()
->inFormat(new X264)
->dd('output.mkv');
FFMpeg::fromDisk('videos')
->open('video.mp4')
->resize(640, 360);
- HLS export with multiple filters per format
use ProtoneMedia\LaravelFFMpeg\Exporters\HLSVideoFilters;
FFMpeg::open('video.mp4')
->exportForHLS()
->addFormat($lowBitrate, function (HLSVideoFilters $filters) {
$filters->addWatermark(function ($watermark) {
$watermark->open("logo.png")
->top(15)
->left(15)
->width(100)
->height(100);
});
$filters->resize(640, 360);
})
->addFormat($highBitrate, function (HLSVideoFilters $filters) {
$filters->addWatermark(function ($watermark) {
$watermark->open("logo.png")
->top(30)
->left(30)
->width(200)
->height(200);
});
$filters->resize(1280, 720);
})
->toDisk('local')
->save('adaptive.m3u8');