最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javaCV開發(fā)詳解之收流器實現(xiàn)

 更新時間:2021年04月22日 10:29:13   作者:eguid_1  
這篇文章主要介紹了javaCV開發(fā)詳解之收流器實現(xiàn),對javaCV有研究的同學(xué),可以參考下

本章基于javaCV實現(xiàn)收流器功能和錄制功能

補充:基于本功能可以實現(xiàn)遠程流媒體服務(wù)器實時視頻錄制到本地

一、開發(fā)所依賴的包

javacv.jar,javacpp.jar,ffmpeg.jar,ffmpeg-系統(tǒng)平臺.jar,opencv.jar,opencv-系統(tǒng)平臺.jar。 其中ffmpeg-系統(tǒng)平臺.jar,opencv-系統(tǒng)平臺.jar中的系統(tǒng)平臺根據(jù)開發(fā)環(huán)境或者測試部署環(huán)境自行更改為對應(yīng)的jar包,比如windows7 64位系統(tǒng)替換為ffmpeg-x86-x64.jar

本章使用windows環(huán)境開發(fā),基于javaCV的基礎(chǔ)支撐包以及ffmpeg-3.1.2-1.2.jar、ffmpeg-3.1.2-1.2-windows-x86.jar、ffmpeg-3.1.2-1.2-windows-x86_64.jar;

二、代碼實現(xiàn)

本功能采用按幀實現(xiàn)收流器錄制功能

/**
 * 按幀錄制視頻
 * @param inputFile-該地址可以是網(wǎng)絡(luò)直播/錄播地址,也可以是遠程/本地文件路徑
 * @param outputFile
 * 該地址只能是文件地址,如果使用該方法推送流媒體服務(wù)器會報錯,原因是沒有設(shè)置編碼格式
 * @throws FrameGrabber.Exception
 * @throws FrameRecorder.Exception
 * @throws org.bytedeco.javacv.FrameRecorder.Exception
 */
public static void frameRecord(String inputFile, String outputFile, int audioChannel)
throws Exception, org.bytedeco.javacv.FrameRecorder.Exception {
	boolean isStart=true;//該變量建議設(shè)置為全局控制變量,用于控制錄制結(jié)束
	// 獲取視頻源
	FFmpegFrameGrabber grabber = new FFmpegFrameGrabber(inputFile);
	// 流媒體輸出地址,分辨率(長,高),是否錄制音頻(0:不錄制/1:錄制)
	FFmpegFrameRecorder recorder = new FFmpegFrameRecorder(outputFile, 1280, 720, audioChannel);
	// 開始取視頻源
	recordByFrame(grabber, recorder, isStart);
}
private static void recordByFrame(FFmpegFrameGrabber grabber, FFmpegFrameRecorder recorder, Boolean status)
		throws Exception, org.bytedeco.javacv.FrameRecorder.Exception {
	try {//建議在線程中使用該方法
		grabber.start();
		recorder.start();
		Frame frame = null;
		while (status&& (frame = grabber.grabFrame()) != null) {
			recorder.record(frame);
		}
		recorder.stop();
		grabber.stop();
	} finally {
		if (grabber != null) {
			grabber.stop();
		}
	}
}

3、測試收流器錄制功能

inputFile設(shè)置為服務(wù)器播放地址,outputFile設(shè)置為本地地址,這里演示.mp4,也可以是flv等其他后綴名

public static void main(String[] args)
		throws FrameRecorder.Exception, FrameGrabber.Exception, InterruptedException {
	 String inputFile = "rtsp://admin:admin@192.168.2.236:37779/cam/realmonitor?channel=1&subtype=0";
	 // Decodes-encodes
	 String outputFile = "recorde.mp4";
	 frameRecord(inputFile, outputFile,1);
}

以上就是javaCV開發(fā)詳解之收流器實現(xiàn)的詳細內(nèi)容,更多關(guān)于javaCV收流器的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Java中的CountDownLatch同步工具類使用解析

    Java中的CountDownLatch同步工具類使用解析

    這篇文章主要介紹了Java中的CountDownLatch使用解析,CountDownLatch初始化的時候必須指定一個count,await方法會一直阻塞直到調(diào)用countdown方法,count為0,當count為0時,所有的等待線程都會被釋放,需要的朋友可以參考下
    2023-12-12
  • Java線程的并發(fā)工具類實現(xiàn)原理解析

    Java線程的并發(fā)工具類實現(xiàn)原理解析

    本文給大家講解Java線程的并發(fā)工具類的一些知識,通過適用場景分析大數(shù)據(jù)量統(tǒng)計類任務(wù)的實現(xiàn)原理和封裝,多個示例代碼講解的非常詳細,對java線程并發(fā)工具類相關(guān)知識感興趣的朋友一起學(xué)習(xí)下吧
    2021-06-06
  • java工程師進階之MyBatis延遲加載的使用

    java工程師進階之MyBatis延遲加載的使用

    本文是java工程師進階篇,主要介紹了java應(yīng)用開發(fā)中MyBatis延遲加載及如何使用,有需要的朋友 可以借鑒參考下,希望能夠有所幫助
    2021-09-09
  • Java數(shù)據(jù)結(jié)構(gòu)超詳細分析二叉搜索樹

    Java數(shù)據(jù)結(jié)構(gòu)超詳細分析二叉搜索樹

    二叉搜索樹是以一棵二叉樹來組織的。每個節(jié)點是一個對象,包含的屬性有l(wèi)eft,right,p和key,其中,left指向該節(jié)點的左孩子,right指向該節(jié)點的右孩子,p指向該節(jié)點的父節(jié)點,key是它的值
    2022-03-03
  • 詳解SpringCloud-Alibaba-Seata分布式事務(wù)

    詳解SpringCloud-Alibaba-Seata分布式事務(wù)

    這篇文章主要介紹了SpringCloud-Alibaba-Seata分布式事務(wù)的相關(guān)知識,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • AJAX Servlet實現(xiàn)數(shù)據(jù)異步交互的方法

    AJAX Servlet實現(xiàn)數(shù)據(jù)異步交互的方法

    本篇文章主要介紹了AJAX Servlet實現(xiàn)數(shù)據(jù)異步交互的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • MyBatis中防止SQL注入講解

    MyBatis中防止SQL注入講解

    這篇文章主要介紹了MyBatis中防止SQL注入,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2021-12-12
  • SpringBoot整合阿里云OSS對象存儲服務(wù)的實現(xiàn)

    SpringBoot整合阿里云OSS對象存儲服務(wù)的實現(xiàn)

    這篇文章主要介紹了SpringBoot整合阿里云OSS對象存儲服務(wù)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • SpringBoot2.3定制錯誤頁面的方法示例

    SpringBoot2.3定制錯誤頁面的方法示例

    這篇文章主要介紹了SpringBoot2.3定制錯誤頁面的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • spring簡單MVC實現(xiàn)方法(URL映射及其參數(shù)使用、查詢(id、其他參數(shù))、增加)

    spring簡單MVC實現(xiàn)方法(URL映射及其參數(shù)使用、查詢(id、其他參數(shù))、增加)

    這篇文章主要介紹了spring簡單MVC實現(xiàn)方法(URL映射及其參數(shù)使用、查詢(id、其他參數(shù))、增加),方法參數(shù)使用包括在無注解下獲取參數(shù),使用@RequestParam 獲取參數(shù)的方法,每種方法講解的非常詳細,需要的朋友可以參考下
    2024-01-01

最新評論

内江市| 新和县| 浦北县| 碌曲县| 罗城| 西乌珠穆沁旗| 深水埗区| 玛纳斯县| 湖北省| 横峰县| 繁峙县| 彭州市| 鄂尔多斯市| 磐石市| 永昌县| 安化县| 香河县| 新宁县| 沙雅县| 长岭县| 惠来县| 丰台区| 泗洪县| 奉节县| 介休市| 凌源市| 缙云县| 桐城市| 逊克县| 清丰县| 芦溪县| 福清市| 什邡市| 固始县| 绥宁县| 南漳县| 金门县| 垣曲县| 开远市| 光泽县| 达尔|