用php-ffmpeg给视频加水印,保存的时候Encoding failed

代码如下:
$con = array('ffmpeg.binaries' => 'path_to_ffmpeg',

            'ffprobe.binaries' => 'path_to_ffprobe',
            'timeout' => 3600,//底层进程的超时时间
            'ffmpeg.threads' => 12
            );
            $logger = 'path_to_/ffmpeg.log';
            $watermarkPath = 'path_to_logo.PNG';
            $ffmpeg = FFMpeg::create($con);
            $video = $ffmpeg->open('path_to_test.mp4');
            $frame = $video->frame(TimeCode::fromSeconds(2));
            $frame->save('path_to_image.jpg');
            $video->filters()
                ->watermark($watermarkPath, array(
                    'position' => 'relative',
                    'bottom' => 50,
                    'right' => 50,
                ));
            $format = new X264();
            $format->on('progress', function ($video, $format, $percentage) {
                echo "$percentage % transcoded";
            });
            $video->save($format,'path_to_video.mp4');
            

我在看官方文档的时候save的第一个参数要format的接口,但是我看网上写的blog第一个都是传视频对应格式类的实例化,请问这个具体到底怎么用?

阅读 5.3k
2 个回答

最后是因为依赖没有安装好,这些依赖不是强制依赖,所以即使不安装FFmpeg也不会报错

需要什么样的依赖呢?需要安装 php ffmpeg 这样的扩展码?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题