ffmpeg php在视频的一半时间后或40秒后获取帧/图像

时间:2015-08-05 10:54:43

标签: php ffmpeg

大家好我所有我在我的PHP中有这个代码,我希望在视频持续时间的50%后得到一个图像,并在变量中得到视频的持续时间我已经在我的php和计算机中安装了ffmpeg < / p>

该页面包含以下代码

require 'vendor/autoload.php';
        //ececute ffmpeg generate mp4
        exec('ffmpeg -i '.$uploadfile.' -f mp4 -s 896x504 '.$new_flv.'');
        //execute ffmpeg and create thumb
        exec('ffmpeg  -i '.$uploadfile.' -f mjpeg -vframes 71 -s 768x432 -an '.$new_image_path.'');

我希望在视频持续时间的50%之后显示图像,并将视频持续时间存储在变量

请给我一些建议我被困在这里

1 个答案:

答案 0 :(得分:1)

  

首先,你需要获得第二个视频时长   然后你需要将总秒数乘以0.5得到一半。

试试这个:

$total_sec = exec("ffprobe -loglevel error -show_streams inputFile.mp4 | grep duration | cut -f2 -d=");
$total_half_sec = $total_sec * 0.5;
exec("ffmpeg  -i source.mp4 -f mjpeg -vframes $total_half_sec -s 768x432 -an destination.jpg");

有关详细信息,请https://www.ffmpeg.org/ffmpeg-all.html