PHP FFMPEG-将.mov转换为.mp4(H264)

PHP FFMPEG-将.mov转换为.mp4(H264),php,ffmpeg,backend,ffmpeg-php,Php,Ffmpeg,Backend,Ffmpeg Php,我最近在服务器上安装了PHP FFMpeg lib,并使用了以下教程: 我设法将通过移动设备上传的.mov视频转换为webm和ogg,但当编码为mp4时,我总是从try catch中的错误对象收到一条编码失败的消息 这是我在实例化FFMPEG后使用的代码 $video->filters()->resize(new FFMpeg\Coordinate\Dimension(756, 461), $mode = RESIZEMODE_SCALE_WIDTH)->synchr

我最近在服务器上安装了PHP FFMpeg lib,并使用了以下教程:

我设法将通过移动设备上传的.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');

Answer found

github页面说需要在系统路径中安装FFMpeg和FFProbe,否则需要明确定义路径。你确定你做到了吗?是的!一切都从这边开始运转。顺便说一句,我通过以下方法将视频转换为MP4:execffmpeg-I sites/default/files/videos/originals/video.mov-vcodec copy-acodec copy sites/default/files/videos/video.MP4;尽管能与图书馆合作将是一件好事。谢谢你的回复!恐怕我对该库的了解还不够,无法帮助您,但如果您使用exec进行此操作,请确保您彻底清理了来自用户输入的任何内容。根据链接的答案,关键是除了视频编解码器之外,您还必须设置兼容的音频编解码器。我不知道,如果试图像这样设置编解码器$format=new FFMpeg\format\Video\X264'libmp3lame','libx264';