我最近在服务器上安装了PHP-FFMpeg lib,并使用以下教程:https://github.com/PHP-FFMpeg/PHP-FFMpeg
我设法将.mov视频(通过移动设备上传)转换为 webm 和 ogg,但在编码为 mp4 时,我总是从错误对象收到"编码失败"消息(在尝试捕获中)。
这是我在实例化 FFMPEG 后使用的代码
$video->filters()->resize(new FFMpegCoordinateDimension(756, 461), $mode = RESIZEMODE_SCALE_WIDTH)->synchronize();
$video->frame(FFMpegCoordinateTimeCode::fromSeconds(10))->save('sites/default/files/videos/thumbnails/'.$filename.'.jpg');
$video->save(new FFMpegFormatVideoOgg(), 'sites/default/files/videos/'.$filename.'.ogg')
->save(new FFMpegFormatVideoX264(), 'sites/default/files/videos/'.$filename.'.mp4')
->save(new FFMpegFormatVideoWebM(), 'sites/default/files/videos/'.$filename.'.webm');
感谢您的帮助!
如果有人遇到这种情况并需要使用 FFMpeg 将 MOV 转换为 MP4,正确的方法是:
$ffmpeg = FFMpegFFMpeg::create();
$video = $ffmpeg->open('path/to/movie.mov');
$format = new FFMpegFormatVideoX264();
$format->setAudioCodec("libmp3lame");
$video
->save($format, 'path/to/movie.mp4');
答案在这里找到