国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - PHP教程 - php中獲得視頻時間總長度的另一種方法

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

2019-12-12 14:38PHP教程網(wǎng) PHP教程

當(dāng)時獲得視頻長度是采用網(wǎng)上的通用的獲得flv視頻文件長度的方法,但是這個方法只對flv視頻支持,其他格式的視頻獲取到的值就很差了

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

命令分析:

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

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

下面附幾個cut的實例:

#ffmpeg -i test.flv

輸入下面信息:

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

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

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

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

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

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

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

②獲得視頻尺寸大小

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

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

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

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

例如:sed s/,//:表示:用空白符替換','號
下面是利用獲得視頻縮略圖和視頻總長度時間的代碼: 

復(fù)制代碼代碼如下:


<?php 
/* 
* 獲得視頻文件的縮略圖和視頻長度 
*需要ffmpeg支持 
* @author PHP淮北 
* @date 2011-09-14 
* @copyright PHP淮北 
*/ 
//獲得視頻文件的總長度時間和創(chuàng)建時間 
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)建時間 
//$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)建時間 
$videoCoverName = getVideoCover('/usr/local/apache/htdocs/test.flv', 6); 
echo $videoCoverName;//獲得縮略圖名稱 
?> 

 

 

測試效果

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

 

視頻長度是:55秒43

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

視頻縮略圖:test.jpg

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

 

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

filesize()

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

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 欧美黄在线观看 | 日韩小视频 | 亚洲国产一区二区三区精品 | 欧美国产视频一区 | 国产一区视频网站 | 国产精品一区二区av | 中文字幕在线永久在线视频 | 亚洲高清视频在线 | 欧美视频第一页 | 国产精品国产精品国产专区不片 | 成人h动漫精品一区二区樱花 | 欧美一区二区久久 | 久久久久中文 | 精品久久国产老人久久综合 | 99精品99| 高清精品一区二区 | 久久久亚洲精品中文字幕 | 国产成人精品一区二区三区 | 亚洲欧美激情精品一区二区 | 亚洲小视频网站 | 亚洲精品一区二区三区蜜桃久 | 亚洲精选一区二区 | 亚洲精品乱码 | av网站在线看 | 精精国产xxxx视频在线观看 | 日韩激情一区 | 亚洲欧美日韩精品久久亚洲区 | 日日爱视频 | 一级毛片视频 | 日本免费高清视频 | 国产精品久久久久久久久图文区 | 国产人妖一区二区 | 综合色久| 丁香五月亚洲综合在线 | 中文字幕一区二区在线观看 | 精品国产久| 久久男人天堂 | 在线色站 | 日韩在线一区二区三区 | 成人免费在线视频 | 亚洲一区二区三区在线播放 |