我使用以下代码上传视频
$img1 = $_FILES['video']['name'];
if (!empty($img1)) {
$fname = $_FILES['video']['name'];
$img_name1 = "video/" . $fname;
if(move_uploaded_file($_FILES['video']['tmp_name'], $img_name1)){
$new_name = ShowFileName($fname);
$output = 'video/'.$new_name.'.flv';
$command = "$ffmpegpath -i $img_name1 -s 486x368 -b 400kb -ac 1 -ar 44100 -r 25 -s 320x240 -f flv $output";
$command = $ffmpegpath.' -i'.$img_name1.' -s 486x368 -b 400kb -ac 1 -ar 44100 -r 25 -qmin 3 -qmax 5 -y '.$output;
exec($command);
$thumb_dir = 'video_thumbs/';
$thumb = $new_name.'jpg';
exec($ffmpegpath .' -i '.$img_name1.' -an -y -f mjpeg -ss 0.05 -vframes 1 '.$thumb_dir.$img_name1);
unlink($img_name1);
}
}
它正常工作。成功将视频移动到视频文件夹并将视频名称插入数据库表。但问题与此视频的拇指图像有关。拇指名称被插入到数据库中,但图像没有上传到video_thumb文件夹....... 请帮帮我....
答案 0 :(得分:0)
我看到的唯一问题是ffmpeg命令行中的文件名。如果它包含特殊字符,您应该使用escapeshellarg()
。
php function escapeshellarg