获取上传视频 flv 的视频长度和缩略图

[php] <?php /* * 获得视频文件的缩略图和视频长度 *需要ffmpeg支持 * @author PHP淮北 * @date 2011-09-14 * @copyright PHP淮北 */ //获得视频文件的总长度时间和创建时间 function getTime($file){ $vtime = exec("ffmpeg -i ".$file." 2>&1 | grep 'Duration' | cut -d ' ' -f 4 | sed s/,//");//总长度 $ctime = date("Y-m-d H:i:s",filectime($file));//创建时间 //$duration = explode(":",$time); // $duration_in_seconds = $duration[0]*3600 + $duration[1]*60+ round($duration[2]);//转化为秒 return array('vtime'=>$vtime, 'ctime'=>$ctime ); } //获得视频文件的缩略图 function getVideoCover($file,$time) { if(empty($time))$time = '1';//默认截取第一秒第一帧 $strlen = strlen($file); $videoCover = substr($file,0,$strlen-4); $videoCoverName = $videoCover.'.jpg';//缩略图命名 exec("ffmpeg -i ".$file." -y -f mjpeg -ss ".$time." -t 0.001 -s 320x240 ".$videoCoverName."",$out,$status); if($status == 0)return $videoCoverName; elseif ($status == 1)return FALSE; } //调用方法 $duration = getTime('/usr/local/apache/htdocs/test.flv'); echo $duration['vtime'].'<br/>';//总长度 echo $duration['ctime'].'<br/>';//创建时间 $videoCoverName = getVideoCover('/usr/local/apache/htdocs/test.flv', 6); echo $videoCoverName;//获得缩略图名称 ?> [/php]
原文地址:https://www.cnblogs.com/freefei/p/3234996.html