使用php ffmpeg进行视频转换无法在浏览器上播放

时间:2016-10-07 08:52:20

标签: php video ffmpeg h.264

我在网络应用程序上使用PHP FFMPEG库https://github.com/PHP-FFMpeg/PHP-FFMpeg将用户上传的不同格式的视频转换为MP4 H264视频格式,可在大多数浏览器上播放。

我对某些带有特定编解码器的MP4视频有问题,这些视频正在使用PHP FFMPEG成功转换,但无法在浏览器上播放。

  • 类型:Vídeo
  • 编解码器:H264 - MPEG-4 AVC(第10部分)(H264)
  • 分辨率:320x258
  • 屏幕分辨率:320x240
  • 帧率:30.000300
  • 解码格式:平面4:2:2 YUV满刻度

在使用不同版本编解码器的其他类似视频上,上传和转换过程正常,结果可在浏览器上播放:

  • 类型:Vídeo
  • 编解码器:H264 - MPEG-4 AVC(第10部分)(avc1)
  • 分辨率:320x258
  • 屏幕分辨率:320x240
  • 帧率:30
  • 解码格式:平面4:2:2 YUV

用于使用PHP FFMPEG转换视频服务器端的代码如下:

server.ext('onPreResponse', (request, reply) => {

    request.raw.req.once('end', () => console.log('DONE!!!'));
    return reply.continue();
});

在浏览器上加载了视频标记:

$video = $ffmpeg->open($path . '/' . $filename);
$video->filters()
         ->resize(new \FFMpeg\Coordinate\Dimension($destWidth, $destHeight))
         ->synchronize();
$video->save(new \FFMpeg\Format\Video\X264('libmp3lame'), $dest);

由于

0 个答案:

没有答案