首页 > 解决方案 > 使用 ffmpeg-php 上传视频时正在创建缩略图图像

问题描述

我必须从上传视频中获取缩略图,我下载了 FFmpeg 并移到了我的项目文件夹中。我从互联网上获得了代码,我上传了视频并回显了它说成功的结果,但是在文件夹中,图像没有保存或没有创建。我不明白是什么问题,请帮助解决这个问题。

代码

<?php

$ffmpeg = "../../ffmpeg/bin/ffmpeg";
$myFile1   = $_FILES["video_path"]["tmp_name"];
$imageFile = "../../student_videos/1.jpg";
$size = "120x90";
$getFrameSecond = 20;

echo $cmd = "$ffmpeg -i $myFile1 -an -ss $getFrameSecond -s $size $imageFile";

if(!shell_exec($cmd)){
    echo "success";
}else{
    echo "Error";
}

?>

结果是

http://localhost/nibm/ffmpeg/bin/ffmpeg -i C:\xampp\tmp\php3267.tmp -ss 20 -s 120x90 ../../student_videos/1.jpg

success

标签: ffmpeg

解决方案


我试试这个代码它正在工作......

$ffmpeg = 'C:\\ffmpeg\\bin\\ffmpeg';
$myFile1   = $_FILES["video_path"]["tmp_name"];
$imageFile = 'output.jpeg';
$size = "350x350";
$getFrameSecond = 20;

//$cmd = "$ffmpeg -i $myFile1 -an -ss $getFrameSecond -s $size $imageFile";
$cmd = "{$ffmpeg} -i {$myFile1} -deinterlace -an -ss {$getFrameSecond} -t 00:00:40  -s {$size} -r 1 -y -vcodec mjpeg -f mjpeg {$imageFile} 2>&1";

if(shell_exec($cmd)){
    echo '<img src="http://localhost/nibm/student_videos/output.jpeg">';
    echo "success";
}else{
    echo "Error";
    //echo shell_exec($cmd);
}

推荐阅读