我正在尝试添加水印到我有一个视频,但它给我这个错误,而应用水印
库已安装并与注释的代码一起工作,但在试图添加水印时不这样做
use FFMpegFFMpeg;
use ProtoneMediaLaravelFFMpegFiltersWatermarkFactory;
$ffmpeg = FFMpeg::create();
$video = $ffmpeg->open(public_path('video-making-test/test1.mp4'));
// $video
// ->filters()
// ->resize(new FFMpegCoordinateDimension(320, 240))
// ->synchronize();
// $video
// ->frame(FFMpegCoordinateTimeCode::fromSeconds(10))
// ->save(public_path('video-making-test/results/frame.jpg'));
$video->addWatermark(function(WatermarkFactory $watermark) {
$watermark->fromDisk('public')
->open('video-making-test/logo.png')
->right(25)
->bottom(25);
});
尝试使用ProtoneMediaLaravelFFMpegSupportFFMpeg
代替FFMpegFFMpeg
。
use ProtoneMediaLaravelFFMpegSupportFFMpeg;
$video = FFMpeg::open(public_path('video-making-test/test1.mp4'));
$video->addWatermark(...);
如果你想使用addWatermark(),你需要按照@shingo的建议去做。
但是,如果您坚持使用FFMpegFFMpeg,请尝试使用水印方法代替:
$video
->filters()
->watermark($watermarkPath, array(
'position' => 'relative',
'bottom' => 50,
'right' => 50,
));