gpt4 book ai didi

php - 使用 PHP FFMpeg 为维度传递负值

转载 作者:行者123 更新时间:2023-12-04 23:25:28 25 4
gpt4 key购买 nike

我正在开发一个使用 FFMpeg 处理上传视频的遗留项目。我继承的代码使用 escapeshellarg()从命令行运行 FFMpeg,这是有问题的,因为它没有提供任何跟踪进度的方法,所以我使用 PHP-FFMpeg 重写它.

我在调整视频大小时有点难过。纵横比需要保持不变,因此传递给命令行的比例尺寸为 -vf scale=-1:720 ,我对文件的解释是,您需要按如下方式传递尺寸:

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

但是, Dimension 的构造函数类只接受整数,目前还不清楚我将如何在这里指定一个负维度。谷歌不是很有用,项目上也没有现有的问题。

知道如何通过所需的尺寸吗?我不经常使用 FFMpeg,所以我对它不是很熟悉。

最佳答案

最后想通了这个。结果是 resize() 的第二个参数是模式,它决定了如何缩放两个维度。如果您将其设置为缩放宽度以适应高度,它应该按预期工作:

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

关于php - 使用 PHP FFMpeg 为维度传递负值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50721973/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com