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


利用Ffmpeg獲得flv視頻縮略圖和視頻時間

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

下面在介紹一種:利用ffmpeg返回值Duration的方法,原來也想過用,但是沒有解決,現在可以了,由於ffmpeg支持很多種格式的視頻,所以這個具體一定的通用性。

ffmpeg獲得視頻時間長度的Duration的linux命令:

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

可以獲得Duration;看下圖

wps_clip_image-9458

命令分析:

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

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

下面附幾個cut的實例:

#ffmpeg -i test.flv

輸入下面信息:

wps_clip_image-19473

①獲得creationdate:文件創建時間

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

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

wps_clip_image-19643

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

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/,//

wps_clip_image-25127

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

例如:sed s/,//:表示:用空白符替換','號

下面是利用獲得視頻縮略圖和視頻總長度時間的代碼:

  

測試效果

wps_clip_image-21485

視頻長度是:55秒43

視頻創建時間;2011-9-13

視頻縮略圖:test.jpg

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

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

filesize()

filesize() 函數用於取得文件大小默認單位是:bytes,成功返回文件大小的字節數,否則返回 FALSE 。

語法:


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章