php - 过滤器连接 :out:v0 has a unconnected output | Concatenating with php-ffmpeg

标签 php ffmpeg symfony ffmpeg-php

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

    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

这是给我这个错误

Filter concat:out:v0 has a unconnected output

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

最佳答案

你需要

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

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

关于php - 过滤器连接 :out:v0 has a unconnected output | Concatenating with php-ffmpeg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35275631/

相关文章:

php - 使用 for 循环将数组插入 SQL

php - 配置在 Symfony Cache 中使用哪个 Redis 适配器

php - 将 XSLT 1.0 转换为 XSLT 2.0

java - 安卓/MySQL : Spinner not populate data from MySQL

video - 使用raw格式时ffmpeg音视频不同步

windows - ffmpeg - 使用 -filter_complex 对视频素材进行颜色分级并将原始源显示为画中画

video - 是否可以在 M3U8 播放列表中播放 M3U8 播放列表?

symfony - 使用 Symfony 2.7 进行 JWT 身份验证

php - Doctrine 如何删除缓存

php - 如何在 Laravel 5.1 中向电子邮件添加 header