JavaCV中怎么獲取視頻文件時(shí)長(zhǎng)

JavaCV中怎么獲取視頻文件時(shí)長(zhǎng),針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。

成都創(chuàng)新互聯(lián)公司專注于豐城網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供豐城營(yíng)銷型網(wǎng)站建設(shè),豐城網(wǎng)站制作、豐城網(wǎng)頁(yè)設(shè)計(jì)、豐城網(wǎng)站官網(wǎng)定制、重慶小程序開發(fā)服務(wù),打造豐城網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供豐城網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。

1、做項(xiàng)目時(shí),需要讀取視頻文件的時(shí)長(zhǎng),網(wǎng)上有很多通過自己寫的JNI接口來實(shí)現(xiàn),但由于項(xiàng)目使用了JavaCV和OpenCV,其中有一些處理視頻的接口,所以還是想打算盡可能使用JavaCV和OpenCV來實(shí)現(xiàn),經(jīng)過查閱了相關(guān)的一些資料,實(shí)現(xiàn)了使用JavaCV獲取視頻文件時(shí)長(zhǎng)的功能。

2、基本實(shí)現(xiàn)思路:獲取視頻的總幀數(shù)和每秒幀數(shù)(FPS),然后通過公式:視頻總幀數(shù)/每秒幀數(shù)(FPS)=時(shí)長(zhǎng)(單位秒)

3、實(shí)現(xiàn)代碼如下:

package com.duoduo.javacv.samples;import static com.googlecode.javacv.cpp.opencv_highgui.CV_CAP_PROP_FPS;import static com.googlecode.javacv.cpp.opencv_highgui.CV_CAP_PROP_FRAME_COUNT;import static com.googlecode.javacv.cpp.opencv_highgui.cvCreateFileCapture;import static com.googlecode.javacv.cpp.opencv_highgui.cvGetCaptureProperty;import static com.googlecode.javacv.cpp.opencv_highgui.cvReleaseCapture;import java.io.File;import com.googlecode.javacv.cpp.opencv_highgui.CvCapture;/** * 獲取視頻時(shí)長(zhǎng) *  * @author chengesheng * @date 2013-5-22 下午11:15:25 * @note VideoFileLength */public final class VideoFileLength { public static void main(String[] argus) { float len = getVideoFileLength("D:/J2EE/kdvp/webrtc/webapp/images/bike.avi"); System.out.println("Video length: " + len + " s"); } public static float getVideoFileLength(String fileName) { File file = new File(fileName); if (!file.exists()) {  return 0; } float len = 0; CvCapture capture = cvCreateFileCapture(fileName); try {  // 獲取視頻總幀數(shù)  long frameCount =(long) cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_COUNT);  // 獲取視頻每秒幀數(shù)  long fps =(long) cvGetCaptureProperty(capture, CV_CAP_PROP_FPS);  len = (float) frameCount / fps; } catch (Exception e) {  e.printStackTrace(); } finally {  cvReleaseCapture(capture); } return len; }}

關(guān)于JavaCV中怎么獲取視頻文件時(shí)長(zhǎng)問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

當(dāng)前名稱:JavaCV中怎么獲取視頻文件時(shí)長(zhǎng)
URL標(biāo)題:http://bm7419.com/article8/jcepip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、微信小程序、ChatGPT、搜索引擎優(yōu)化、域名注冊(cè)、網(wǎng)站營(yíng)銷

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)