【发布时间】:2019-11-05 21:01:18
【问题描述】:
我最近在服务器上安装了 PHP-FFMpeg 库并使用了以下教程: https://github.com/PHP-FFMpeg/PHP-FFMpeg
我设法将 .mov 视频(通过移动设备上传)转换为 webm 和 ogg,但在编码为 mp4 时,我总是从错误对象中收到“编码失败”消息(在 try catch 中)。
这是我在实例化 FFMPEG 后使用的代码
$video->filters()->resize(new FFMpeg\Coordinate\Dimension(756, 461), $mode = RESIZEMODE_SCALE_WIDTH)->synchronize();
$video->frame(FFMpeg\Coordinate\TimeCode::fromSeconds(10))->save('sites/default/files/videos/thumbnails/'.$filename.'.jpg');
$video->save(new FFMpeg\Format\Video\Ogg(), 'sites/default/files/videos/'.$filename.'.ogg')
->save(new FFMpeg\Format\Video\X264(), 'sites/default/files/videos/'.$filename.'.mp4')
->save(new FFMpeg\Format\Video\WebM(), 'sites/default/files/videos/'.$filename.'.webm');
感谢您的帮助!
【问题讨论】:
-
github 页面说您需要在系统路径中安装 FFMpeg 和 FFProbe(否则明确定义路径)。你确定你已经这样做了吗?
-
是的!一切都从这一侧开始运行。顺便说一句,我设法通过这种方法将视频转换为 MP4: exec("ffmpeg -i sites/default/files/videos/originals/video.mov -vcodec copy -acodec copy sites/default/files/videos/video. mp4");虽然让它与图书馆一起工作会很棒。感谢您的回复!
-
恐怕我对库的了解不够,无法帮助您,但如果您使用 exec() 执行此操作,请确保绝对清理来自用户输入的任何内容。
标签: php ffmpeg backend ffmpeg-php