Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用ffmpeg从视频中获取缩略图_Php_Video_Ffmpeg - Fatal编程技术网

Php 如何使用ffmpeg从视频中获取缩略图

Php 如何使用ffmpeg从视频中获取缩略图,php,video,ffmpeg,Php,Video,Ffmpeg,几个星期以来,我一直在想如何使用ffmpeg在php中上传视频时从视频中获取缩略图。 这是我的代码,我不知道我哪里出错了,请帮助 <?php if (logged_in() === true) { if (isset($_POST['up'], $_FILES['file'])) { $file_name = $_FILES['file']['name']; $file_type = explode('.', $file_name);

几个星期以来,我一直在想如何使用
ffmpeg
php
中上传视频时从视频中获取缩略图。 这是我的代码,我不知道我哪里出错了,请帮助

<?php
if (logged_in() === true) {
    if (isset($_POST['up'], $_FILES['file'])) {
        $file_name = $_FILES['file']['name'];
        $file_type = explode('.', $file_name);
        $file_type = strtolower(end($file_type));
        $random    = rand();
        $file_tmp  = $_FILES['file']['tmp_name'];

    $file_dir = "jobalertme/includes/video_uploads/$random.$file_type";
    if ($file_type == 'mp4' || $file_type == 'avi' || $file_type == 'wmv' || $file_type == 'mov' || $file_type == 'flv') {
        if (move_uploaded_file($file_tmp, "$file_dir")) {
            $ffmpeg    = "C:\\ffmpeg\\bin\\ffmpeg";
            $img_name  = "1.jpg";
            $img_size  = "120x90";
            $getimgsec = 5;
            $cmd       = "$ffmpeg -i $file_tmp -an -ss $getimgsec -s $img_size  www/jobalertme/includes/img_thumnail/$img_name <br>";
            if (shell_exec($cmd)) {
                echo "ok";
            } else {
                echo "not";
            }


            $updat = "UPDATE registration SET video='$file_dir' WHERE uname='$username'";
            $qry   = mysqli_query($con, $updat);
            if ($qry) {
                echo "<script> alert('your file has been successfully uploaded ')</script>";
                echo "<script>window.open('upload_vid.php','_self')</script>";
                exit();
            } else {
                echo "<script> alert('we ran into some problems')</script>";
                echo "<script>window.open('upload_vid.php','_self')</script>";
                exit();
            }
        } else {
            echo "<script> alert('we ran into some problems')</script>";
            echo "<script>window.open('upload_vid.php','_self')</script>";
            exit();
        }
    } else {
        echo "<script>alert('please this file extension is not allowed, it must be an mp4 file format')</script>";
        echo "<script>window.open('upload_vid.php','_self')</script>";
        exit();
    }
}
} else {
    echo "<script>alert('please you need login before you can upload resume.')</scrpt>";
    echo "<script>window.open('upload_vid.php','_self')</script>";
    exit();
}
?>

这需要更多信息,收集这些信息可能会帮助您解决问题。使用
move\u uploaded\u file
将文件移动到另一个目录,但在ffmpeg命令中没有使用目标文件的完整路径,因此请尝试使用完整路径,看看是否有效。将整个$cmd变量记录在某个地方,然后查看它是否从交互式shell运行。
shell_exec
的php文档建议它返回一个字符串,而不是布尔值,请尝试保存输出并查看它是什么。
move\u uploaded\u file
命令是否有效?ffmpeg给出了什么错误消息?我放置了完整目录并删除了if语句,但仍然不起作用