我最近在服务器上安装了 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');
谢谢你的帮助!
最佳答案
如果有人遇到此问题并需要使用 FFMpeg 将 MOV 转换为 MP4,正确的方法是:
$ffmpeg = FFMpeg\FFMpeg::create();
$video = $ffmpeg->open('path/to/movie.mov');
$format = new FFMpeg\Format\Video\X264();
$format->setAudioCodec("libmp3lame");
$video
->save($format, 'path/to/movie.mp4');
找到答案 here
关于PHP FFMPEG - 将 .mov 转换为 .mp4 (H264),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22875664/