Передача отрицательных значений для измерений с PHP FFMpeg

Я работаю над устаревшим проектом, который использует FFMpeg для обработки видео при загрузке. Код, который я унаследовал, использует escapeshellarg() запустить FFMpeg из командной строки, что проблематично, потому что он не предоставляет никаких средств для отслеживания прогресса, поэтому я переписываю его, используя PHP-FFMpeg.

Я немного озадачен изменением размера видео. Соотношение сторон должно оставаться неизменным, поэтому размеры, передаваемые в командную строку для масштаба, были -vf scale=-1:720и моя интерпретация документов заключается в том, что вам необходимо пройти измерения следующим образом:

$dimension = new FFMpeg\Coordinate\Dimension('-1', '720');
$video->filters()->resize($dimension)->synchronize();

Тем не менее, конструктор Dimension класс принимает только целые числа, и неясно, как я могу указать здесь отрицательное измерение. Google не очень полезен, и не имеет существующих проблем в проекте.

Любая идея, как я мог пройти через необходимые размеры? Я не часто использую FFMpeg, поэтому я не очень знаком с ним.

0

Решение

Разобрался в этом в конце. Оказывается, второй аргумент resize() это режим, который определяет, как масштабировать два измерения. Если вы установите масштаб в соответствии с высотой, он должен работать так, как ожидается:

$dimension = new FFMpeg\Coordinate\Dimension('-1', '720');
$mode = FFMpeg\Filters\Video\ResizeFilter::RESIZEMODE_SCALE_HEIGHT;
$video->filters()->resize($dimension, $mode)->synchronize();
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]