Я включаю 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
Затем я скопировал и вставил фактическую командную строку ffmpeg, чтобы увидеть, какую ошибку она выдаст:
Что дает мне эту ошибку
Фильтр concat: out: v0 имеет неподключенный выход
Что означает эта ошибка, и что я могу сделать, чтобы избавиться от нее?
Тебе нужно
$params[] = '-filter_complex';
$params[] = 'concat=n='.$count.':v=1:a=1 [v][a]';
$params[] = '-map';
$params[] = '[v]';
$params[] = '-map';
$params[] = '[a]';
Ваш фильтр concat экспортирует аудиовыход, но вы не назначили ему выходную площадку, а затем отобразили его.
Других решений пока нет …