Как установить pad с помощью PHP-FFMpeg?

#php #ffmpeg #ffmpeg-php

#php #ffmpeg #ffmpeg-php

Вопрос:

Я использую библиотеку PHP-FFMpeg (https://github.com/PHP-FFMpeg/PHP-FFMpeg ) и попытайтесь сделать это:

 ffmpeg -i input.mp4 -vf "crop=960:1080, scale=960:1080,pad=w=960 iw:h=ih:x=960:y=0" output.mp4
  

У меня есть видео с размерами 1920х1080. В php я делаю это:

 $video = $ffmpeg->open('input.mp4');
$video->filters()->crop(new FFMpegCoordinatePoint(480, 0, true), new FFMpegCoordinateDimension(960, 1080));
$video->save(new FFMpegFormatVideox264('aac'), 'output.mp4');
  

Я получаю обрезанное видео в центре кадра, но не с правой стороны. Как я могу переместить output.mp4 или установить правильную начальную точку?

Ответ №1:

Это работает:

 $advancedMedia = $ffmpeg->openAdvanced(array('input.mp4'));
$advancedMedia->filters()
->custom('[0]', 'crop=960:1080, scale=-1:1080, pad=w=960 iw:h=ih:x=960:y=0', '[vmap]');
$advancedMedia
->map(array('[vmap]'), new FFMpegFormatVideox264('aac'), 'output.mp4')
->save();