一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

php中獲得視頻時(shí)間總長度的另一種方法

當(dāng)時(shí)獲得視頻長度是采用網(wǎng)上的通用的獲得flv視頻文件長度的方法,但是這個(gè)方法只對(duì)flv視頻支持,其他格式的視頻獲取到的值就很差了,
下面在介紹一種:利用ffmpeg返回值Duration的方法,原來也想過用,但是沒有解決,現(xiàn)在可以了,由于ffmpeg支持很多種格式的視頻,所以這個(gè)具體一定的通用性。
ffmpeg獲得視頻時(shí)間長度的Duration的linux命令:
ffmpeg -i test.flv 2>&1 | grep 'Duration' | cut -d ' ' -f 4 | sed s/,//
可以獲得Duration;看下圖
wps_clip_image-9458

命令分析:

grep命令:匹配查找文件里符合條件的字符串,這里查找Duration字段

cut:以空格為分割符,查詢第四個(gè)元素,cut是很好的切割命令

下面附幾個(gè)cut的實(shí)例:

#ffmpeg -i test.flv

輸入下面信息:

wps_clip_image-19473

①獲得creationdate:文件創(chuàng)建時(shí)間

ffmpeg -i test.flv 2>&1 | grep 'creationdate' | cut -d ' ' -f  5-

說明:Cut是文本截取命令:以空格作為分隔符,截取第5位以后的字段,

wps_clip_image-19643

如果想要截取: 第5個(gè)元素和第8個(gè)元素,應(yīng)該這樣寫:

ffmpeg -i test.flv 2>&1 | grep 'creationdate' | cut -d ' ' -f  5,8

②獲得視頻尺寸大小

使用cut截取以空格為分隔符的第十個(gè)元素也是視頻尺寸

ffmpeg -i test.flv 2>&1 | grep 'Video' | cut -d ' ' -f 10 | sed s/,//

wps_clip_image-25127

sed命令:sed ‘s/要替換的字符串/新字符串/g'

例如:sed s/,//:表示:用空白符替換','號(hào)
下面是利用獲得視頻縮略圖和視頻總長度時(shí)間的代碼:
復(fù)制代碼 代碼如下:
<?php
/*
* 獲得視頻文件的縮略圖和視頻長度
*需要ffmpeg支持
* @author php淮北
* @date 2011-09-14
* @copyright php淮北
*/
//獲得視頻文件的總長度時(shí)間和創(chuàng)建時(shí)間
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));//創(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
);
}
//獲得視頻文件的縮略圖
function getVideoCover($file,$time) {
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 ".$videoCoverName."",$out,$status);
if($status == 0)return $videoCoverName;
elseif ($status == 1)return FALSE;
}
//調(diào)用方法
$duration = getTime('/usr/local/apache/htdocs/test.flv');
echo $duration['vtime'].'<br/>';//總長度
echo $duration['ctime'].'<br/>';//創(chuàng)建時(shí)間
$videoCoverName = getVideoCover('/usr/local/apache/htdocs/test.flv', 6);
echo $videoCoverName;//獲得縮略圖名稱
?>

測試效果

wps_clip_image-21485

視頻長度是:55秒43

視頻創(chuàng)建時(shí)間;2011-9-13

視頻縮略圖:test.jpg

-----------------------------測試完全ok

補(bǔ)充:如果想獲得視頻文件的大小可以使用:

filesize()

filesize() 函數(shù)用于取得文件大小默認(rèn)單位是:bytes,成功返回文件大小的字節(jié)數(shù),否則返回 FALSE 。

php技術(shù)php中獲得視頻時(shí)間總長度的另一種方法,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 国内精品欧美久久精品 | 精品久久久久久蜜臂a∨ | 久久久国产一区二区三区 | 最近免费中文在线视频 | 看全色黄大色黄大片视频 | 欧美成人三级 | 日本高清一区二区三区不卡免费 | 亚洲成人贴图 | 精品国产免费福利片 | 午夜毛片视频 | 麻豆亚洲一区 | 色偷偷人人澡久久天天 | 中国日韩欧美中文日韩欧美色 | 日韩色视频一区二区三区亚洲 | 高清在线亚洲精品国产二区 | 日韩午夜| 国产亚洲精品成人a在线 | 日韩精品一区二区三区中文字幕 | 国产精品视频牛仔裤一区 | 国产精品高清一区二区三区不卡 | 四虎国产精品永久地址99 | 国产精品亚洲一区二区三区 | 欧美日韩a| 国产极品美女在线观看 | 婷婷午夜影院 | 精品视频在线观看 | 国产一区二区三区国产精品 | 五月激情六月 | 亚洲人成一区二区三区 | 搞黄视频免费 | 亚洲色女 | 亚洲高清中文字幕一区二区三区 | 午夜一级做a爰片久久毛片 午夜影院日韩 | 五月综合色啪 | 国产怡红院| 中文字幕在线网站 | 亚洲一区二区三区四区视频 | 91在线一区二区三区 | 在线视频一区二区三区三区不卡 | 亚洲高清中文字幕一区二区三区 | 91国内在线观看 |