【问题标题】:Thumbnail Image is creating while uploading the video using ffmpeg-php使用 ffmpeg-php 上传视频时正在创建缩略图图像
【发布时间】:2020-04-13 21:39:24
【问题描述】:

我必须从上传视频中获取缩略图,我下载了 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

【问题讨论】:

  • 您可能会检查对您可能不允许保存文件的文件夹的访问权限!
  • 你的意思是文件夹权限?
  • 是的,文件夹权限,顺便看看这个stackoverflow.com/a/9123936/1007945
  • 但是我在本地工作
  • 我这样做是为了得到同样的结果“获得成功但没有创建图像”是我做 FFmpeg 路径的任何错误。

标签: ffmpeg


【解决方案1】:

我试试这段代码,它正在工作......

$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);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-24
    • 2019-06-08
    • 2015-01-24
    • 2016-09-14
    • 2012-07-25
    • 2021-04-24
    • 2011-08-11
    • 2016-03-26
    相关资源
    最近更新 更多