3

完全に機能しているsymfony3プロジェクトにPHP-FFMpegを組み込んでいます。ただし、最近、2 つのビデオを 1 つに連結する必要がありましたが、サポートされていないようです。だから私はこれに基づいて使用しているクラスを作成しまし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 に答える