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

发布于 2022-09-06 09:35:36 字数 1127 浏览 27 评论 0

代码如下:
$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第一个都是传视频对应格式类的实例化,请问这个具体到底怎么用?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

拥抱我好吗 2022-09-13 09:35:36

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

夏九 2022-09-13 09:35:36

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文