$video_name = $_FILES['video_file']['name'];
$video_tmp_name = $_FILES['video_file']['tmp_name'];
$video_size = $_FILES['video_file']['size'];
// where ffmpeg is located
$ffmpeg = 'C:\\ffmpeg\bin\\ffmepg';
//video dir
$video = $video_tmp_name;
//where to save the image
$image = 'video/image.jpg';
//time to take screenshot at
$interval = 5;
//screenshot size
$size = '640x480';
//ffmpeg command
echo $cmd = $ffmpeg ."-i". $video ." -an -ss".$interval." -s ".$size . "-vcodec mjpeg ".$image ." 2>&1";
shell_exec($cmd);
我写下了那段代码。但它不是从视频中创建任何缩略图。我无法理解这段代码的错误。
答案 0 :(得分:0)
您的代码可能非常适合Linux(“2>&!”)部分。
在Windows上,我成功使用此选项:
ffmpeg -y -i klip.flv -f mjpeg -ss 10 -vframes 1 160x120 thumb.jpg
答案 1 :(得分:0)
这是视频缩略图的c#代码段。
fullVideoPath=@"C:\Users\Madan\Desktop\wpflib\10.wmv"
thumbnailPath=@ "C:\Users\Madan\Desktop\wpflib\Thumbnail\10.jpg"
ffmpeg = new Process();
ffmpeg.StartInfo.Arguments = " -i " + "\"" + fullVideoPath+ "\"" + " -ss 00:00:02 -vcodec mjpeg -vframes 1 -an -f rawvideo -s 200x200 " + "\"" + thumbnailPath+ "\"";
ffmpeg.StartInfo.FileName = ffmepgPath;
ffmpeg.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
var status = ffmpeg.Start();
使用它可能对您有帮助。我已使用以下扩展程序对其进行了测试
{ ".wmv", ".avi", ".mpg", ".mpeg", ".mp4", ".mkv", ".flv", ".mov", ".vob", ".3gp" }