php使用FFmpeg接口獲取視頻的播放時(shí)長(zhǎng)、碼率、縮略圖以及創(chuàng)建時(shí)間https://www.jb51.net/article/96736.htm
FFmpeg獲得視頻文件的縮略圖:
function?getVideoCover($file,$time,$name) {
???if(empty($time))$time?=?'1';//默認(rèn)截取第一秒第一幀
???$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 ".$name."",$out,$status);
???$str?=?"ffmpeg -i ".$file." -y -f mjpeg -ss 3 -t ".$time." -s 320x240 ".$name;
???//echo $str."</br>";
???$result?= system($str);
???}
Fmpeg讀取視頻播放時(shí)長(zhǎng)和碼率
<?php
define('FFMPEG_PATH',?'/usr/local/ffmpeg2/bin/ffmpeg -i "%s" 2>&1');
function?getVideoInfo($file) {
??$command?= sprintf(FFMPEG_PATH,?$file);
??ob_start();
??passthru($command);
??$info?= ob_get_contents();
??ob_end_clean();
??$data?=?array();
??if?(preg_match("/Duration: (.*?), start: (.*?), bitrate: (\d*) kb\/s/",?$info,?$match)) {
????$data['duration'] =?$match[1];?//播放時(shí)間
????$arr_duration?=?explode(':',?$match[1]);
????$data['seconds'] =?$arr_duration[0] * 3600 +?$arr_duration[1] * 60 +?$arr_duration[2];?//轉(zhuǎn)換播放時(shí)間為秒數(shù)
????$data['start'] =?$match[2];?//開(kāi)始時(shí)間
????$data['bitrate'] =?$match[3];?//碼率(kb)
??}
??if?(preg_match("/Video: (.*?), (.*?), (.*?)[,\s]/",?$info,?$match)) {
????$data['vcodec'] =?$match[1];?//視頻編碼格式
????$data['vformat'] =?$match[2];?//視頻格式
????$data['resolution'] =?$match[3];?//視頻分辨率
????$arr_resolution?=?explode('x',?$match[3]);
????$data['width'] =?$arr_resolution[0];
????$data['height'] =?$arr_resolution[1];
??}
??if?(preg_match("/Audio: (\w*), (\d*) Hz/",?$info,?$match)) {
????$data['acodec'] =?$match[1];?//音頻編碼
????$data['asamplerate'] =?$match[2];?//音頻采樣頻率
??}
??if?(isset($data['seconds']) && isset($data['start'])) {
????$data['play_time'] =?$data['seconds'] +?$data['start'];?//實(shí)際播放時(shí)間
??}
??$data['size'] =?filesize($file);?//文件大小
??return?$data;
}
//用法
$video_info?= getVideoInfo('video.mp4');
print_r($video_info);
?>
Fmpeg獲得視頻文件的總長(zhǎng)度時(shí)間和創(chuàng)建時(shí)間
function?getTime($file){
???$vtime?=?exec("ffmpeg -i ".$file." 2>&1 | grep 'Duration' | cut -d ' ' -f 4 | sed s/,//");//總長(zhǎng)度
???$ctime?=?date("Y-m-d H:i:s",filectime($file));//創(chuàng)建時(shí)間
???//$duration = explode(":",$time);
???// $duration_in_seconds = $duration[0]*3600 + $duration[1]*60+ round($duration[2]);//轉(zhuǎn)化為秒
???return?array('vtime'=>$vtime,
???'ctime'=>$ctime
???);
}
need-to-insert-img
作者:往事love隨緣
鏈接:http://www.itdecent.cn/p/ada86968eb0d
來(lái)源:簡(jiǎn)書(shū)
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。