3

我正在将PHP-FFMpeg 合并到运行良好的 symfony3 项目中。但是最近我一直需要将两个视频连接成一个,并且似乎不受支持。所以我基于这个ConcatVideoFilter创建了一个我正在使用的类

    public function apply(Video $video, VideoInterface $format)
    {
        $params = [];
        $count = count($this->files) + 1;
        foreach ($this->files as $i => $file) {
            $params[] = '-i';
            $params[] = $file;
        }
        $params[] = '-filter_complex';
        $params[] = 'concat=n='.$count.':v=1:a=1 [v]';
        $params[] = '-map';
        $params[] = '[v]';
        return $params;
    }

我的 symfony 分析器出现编码失败错误

RuntimeException:编码失败,ExecutionFailureException:ffmpeg 执行命令失败

然后我复制粘贴了实际的 ffmpeg 命令行,看看它会给出什么错误:

过滤器 concat:out:v0 有一个未连接的输出

这给了我这个错误

过滤器 concat:out:v0 有一个未连接的输出

这个错误是什么意思,我能做些什么来摆脱它?

4

1 回答 1

2

你需要

    $params[] = '-filter_complex';
    $params[] = 'concat=n='.$count.':v=1:a=1 [v][a]';
    $params[] = '-map';
    $params[] = '[v]';
    $params[] = '-map';
    $params[] = '[a]';

您的 concat 过滤器导出音频输出,但您没有为其分配输出垫然后对其进行映射。

于 2016-02-08T17:41:38.190 回答