我在 Laravel 5.2 应用程序中使用PHP-FFMpeg在VidStab的帮助下稳定视频。我已经正确安装了所有依赖项和所有内容,我可以按照 VidStab 存储库中的说明通过命令行稳定我的视频。
我的问题是我怎样才能在 PHP 中很好地做到这一点(Laravel 方式)?我知道我可以像这样向 Video 对象添加自定义过滤器:
$video = $ffmpeg->open('shaky_video.mp4');
$video->addFilter(new CustomFilter('vidstabdetect=stepsize=6:shakiness=8:accuracy=9:result=transform.trf'));
但是如何在不需要 的情况下执行此命令$video-save()
,我认为它旨在输出视频/音频文件而不是trf
分析文件?
我想我可以只运行一个 PHP exec() 命令,但我想尽可能多地保留这个面向对象的 PHP。有什么建议么?
提前致谢!
我已经尝试过了(添加-f null -
到过滤器,然后尝试运行save()
以执行命令),但它仍然创建 mp4 文件而不是 trf 文件:
$video = $ffmpeg->open('shaky_video.mp4');
$video->addFilter(new CustomFilter('vidstabdetect=stepsize=6:shakiness=8:accuracy=9:result=transform.trf -f null -'));
$video->save(new X264(), 'stabilized.mp4');