我已经安装了FFMpeg,所有的工作和转换都如我所愿,但是当我尝试使用水印过滤器时使用
ProtoneMedia\LaravelFFMpeg\Filters\WatermarkFactory
;
它渲染没有问题,但上面没有水印,我可以在日志文件上看到任何错误?
这是我的工作
ConvertVideo.php
文件
public function handle()
{
$destination = '/' . $this->video->uid . '/' . $this->video->uid . '.m3u8';
$low = (new X264('aac'))->setKiloBitrate(500);
$high = (new X264('aac'))->setKiloBitrate(1000);
FFMpeg::fromDisk('videos-temp')
->open($this->video->path)
->exportForHLS()
->addFormat($low, function ($filters) {
$filters->resize(640, 480);
})
->addFormat($high, function ($filters) {
$filters->resize(1280, 720);
})
//watermark filter
->addWatermark(function(WatermarkFactory $watermark) {
$watermark->fromDisk('videos-temp')
->open('videos-temp/logo.png')
->right(-125)
->bottom(25)
->width(100)
->height(100);
})
->toDisk('videos')
->save($destination);
$this->video->update([
'processed' => true,
'proccessed_file' => $this->video->uid . '.m3u8'
]);
}
我可以毫无问题地转换视频,但我无法在其上添加水印,你们“专家”会如何解决这个问题?
完整代码已发布在上面,我添加了以下添加水印过滤器
// watermark filter
->addWatermark(function(WatermarkFactory $watermark) {
$watermark->fromDisk('videos-temp')
->open('videos-temp/logo.png')
->right(-125)
->bottom(25)
->width(100)
->height(100);
})
protonemedia/laravel-ffmpeg
- Github
使用绝对路径设置水印文件,如下所示:
->addWatermark(function(WatermarkFactory $watermark) {
$watermark->fromDisk('videos-temp')
->open(storage_path('videos-temp/logo.png'))
->right(-125)
->bottom(25)
->width(100)
->height(100);
})