我使用ffmpeg和php一起创建动态缩略图。它将缩略图保存到特定文件然后我使用php检索它。我想为所有类型的视频创建缩略图。我面临的ffmpeg问题是我无法为.mp4扩展名的视频创建缩略图。
<?
$ffmpeg = '/usr/bin/ffmpeg/ffmpeg'; //to load the extension ffmpeg
$video = '/path/to/video'.$file_thumb; //path to the video
$image = '/store/it/here'; //path to store the thumbnail
$interval = 5;
$size = '640x480';
//It runs with the below command
$cmd = "$ffmpeg -i $video -deinterlace -an -ss $interval -f mjpeg -t 1 -r 1 -y -s $size
$image 2>&1";
&GT;
答案 0 :(得分:2)
你可以使用它。
$in = root/path/to/video/filename/with/extension
$out = root/path/to/video/filename/with extension .jpg // always use jpg as image extension
exec("/PATH/TO/FFMPEG -itsoffset -4 -i ".$in." -vcodec mjpeg -vframes 1 -an -f rawvideo -s 120x100 ".$out);
它会在$ out位置创建120x100尺寸图像的缩略图并为我工作。
答案 1 :(得分:0)
试试这个:
<?php
exec("$ffmpeg -itsoffset -105 -i $video -vcodec mjpeg -vframes 1 -an -f rawvideo -s $size $image");
?>
希望这有帮助。
答案 2 :(得分:0)
试试这个:
在pache配置文件中 ffmpeg需要safe_mode Off
// where ffmpeg is located, such as /usr/sbin/ffmpeg
$ffmpeg = 'ffmpeg';
// the input video file
$video = 'videos/'.$file_thumb;
// where you'll save the image
$image = 'uploads/videothumb/'.strtotime("now").'.jpg';
// default time to get the image
$second = 1;
// get the duration and a random place within that
$cmd = "$ffmpeg -i $video -deinterlace -an -ss $second -t 00:00:01 -r 1 -y -vcodec mjpeg -f mjpeg $image 2>&1";
shell_exec($cmd);
我希望它有效..
答案 3 :(得分:0)
验证您的ffmpeg安装是否支持您要求的视频。如果它运行独立的PHP形式,请尝试在计算机上的shell。如果无法创建映像,请先修复ffmpeg安装。
Ffmpeg是一个免费软件项目,如果您无法设置自己的副本,许多相关人员都可以进行咨询:http://ffmpeg.org/consulting.html
答案 4 :(得分:0)
试试这个
$ffmpeg = '/usr/bin/ffmpeg/ffmpeg';
$video = '/path/to/video'.$file_thumb; //path to the video
$image = '/store/it/here'; //path to store the thumbnail
$interval = 1;
$size = '640x480';
shell_exec($ffmpeg.' -i '. $video.' -deinterlace -an -ss $interval -t 00:00:01 -r 1 -y -s 1242x400 -vcodec mjpeg -f mjpeg '. $thumbnail.' 2>&1');
答案 5 :(得分:-2)
现在弃用ffmpeg你可以使用&#34; avconv&#34;
这是示例。
avconv -itsoffset -4 -i VIDEO0001_8265186396728169230.mp4 -vcodec mjpeg -vframes 1 -an -f rawvideo -s 320x240 test.jpg