过滤concat:out:v0有一个未连接的输出|与php-ffmpeg连接

时间:2016-02-08 17:25:45

标签: php ffmpeg symfony php-ffmpeg

我将PHP-FFMpeg合并到我的symfony3项目中,该项目运行正常。然而,最近我一直需要将两个视频连接成一个,看起来它不受支持。所以我创建了一个基于this

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: Encoding failed, ExecutionFailureException: ffmpeg failed to execute command

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

Filter concat:out:v0 has a unconnected output

哪个给了我这个错误

  

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

这个错误意味着什么,我该怎么做才能摆脱它?

1 个答案:

答案 0 :(得分:2)

你需要

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

您的concat过滤器会导出音频输出,但您没有为其分配输出板,然后将其映射。