.net网站项目有哪些,陈村九江网站建设,百度云登录入口官网,济南网站设计1、
JavaCV [1] 是一款基于JavaCPP [2]调用方式#xff08;JNI的一层封装#xff09;#xff0c;由多种开源计算机视觉库组成的包装库#xff0c;封装了包含FFmpeg、OpenCV、tensorflow、caffe、tesseract、libdc1394、OpenKinect、videoInput和ARToolKitPlus等在内的计算…1、
JavaCV [1] 是一款基于JavaCPP [2]调用方式JNI的一层封装由多种开源计算机视觉库组成的包装库封装了包含FFmpeg、OpenCV、tensorflow、caffe、tesseract、libdc1394、OpenKinect、videoInput和ARToolKitPlus等在内的计算机视觉领域的常用库和实用程序类。
JavaCV支持Windows、Linux、MacOSAndroid、IOS在内的Java平台上调用这些接口。
2、javacv精简依赖只依赖win64下的ffmpeg
?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.7.12/versionrelativePath//parentgroupIdcom.ldf/groupIdartifactIdj-media-server/artifactIdversion1.0-SNAPSHOT/versionpropertiesmaven.compiler.source8/maven.compiler.sourcemaven.compiler.target8/maven.compiler.targetproject.build.sourceEncodingUTF-8/project.build.sourceEncodingjavacpp.platform.macosx-x86_64macosx-x86_64/javacpp.platform.macosx-x86_64javacpp.platform.linux-x86_64linux-x86_64/javacpp.platform.linux-x86_64javacpp.platform.windows-x86_64windows-x86_64/javacpp.platform.windows-x86_64javacv.version1.5.10/javacv.versionjavacv.ffmpeg.version6.1.1-1.5.10/javacv.ffmpeg.version/propertiesdependencies!--Spring Boot 相关--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactIdexclusionsexclusiongroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-tomcat/artifactId/exclusion/exclusions/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-undertow/artifactIdexclusions!-- 内置 3.8.4.Final 版本存在问题--exclusiongroupIdorg.jboss.xnio/groupIdartifactIdxnio-nio/artifactId/exclusion/exclusions/dependencydependencygroupIdorg.jboss.xnio/groupIdartifactIdxnio-nio/artifactIdversion3.8.9.Final/version/dependency!--Lombok--dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependencydependencygroupIdcn.hutool/groupIdartifactIdhutool-core/artifactIdversion5.8.25/version/dependencydependencygroupIdcn.hutool/groupIdartifactIdhutool-json/artifactIdversion5.8.25/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-validation/artifactId/dependency!--doc--dependencygroupIdcom.github.xiaoymin/groupIdartifactIdknife4j-openapi2-spring-boot-starter/artifactIdversion4.5.0/version/dependency!--自1.0.8后不需要本地instal--dependencygroupIdcom.aizuda/groupIdartifactIdzlm4j/artifactIdversion1.1.4/version/dependency!-- https://mvnrepository.com/artifact/org.bytedeco/javacv --dependencygroupIdorg.bytedeco/groupIdartifactIdjavacv/artifactIdversion${javacv.version}/version/dependency!--javacv 精简依赖 只依赖windows64位ffmpeg--dependencygroupIdorg.bytedeco/groupIdartifactIdjavacpp/artifactIdversion${javacv.version}/versionclassifier${javacpp.platform.windows-x86_64}/classifier/dependencydependencygroupIdorg.bytedeco/groupIdartifactIdffmpeg/artifactIdversion${javacv.ffmpeg.version}/versionclassifier${javacpp.platform.windows-x86_64}/classifier/dependency!--javacv 精简依赖 只依赖windows64位ffmpeg--/dependencies!--腾讯云mvn--repositoriesrepositoryidnexus-tencentyun/idnameNexus tencentyun/nameurlhttp://mirrors.cloud.tencent.com/nexus/repository/maven-public//url/repository/repositoriesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdconfigurationincludeSystemScopetrue/includeSystemScope/configurationexecutionsexecutiongoalsgoalrepackage/goal/goals/execution/executions/plugin/plugins/build
/project
3、文件流
package com.ldf.media.exception;import lombok.SneakyThrows;
import org.bytedeco.ffmpeg.global.avcodec;
import org.bytedeco.javacv.FFmpegFrameGrabber;
import org.bytedeco.javacv.FFmpegFrameRecorder;
import org.bytedeco.javacv.Frame;import java.io.File;
import java.util.Objects;public class JnaTest {SneakyThrowspublic static void main(String[] args) {String videoFile F:\\demo.mp4;String outFile 11.mp4;File file new File(outFile);FFmpegFrameGrabber grabber new FFmpegFrameGrabber(videoFile);grabber.start();int width grabber.getImageWidth();int height grabber.getImageHeight();double frameRate grabber.getFrameRate();FFmpegFrameRecorder recorder new FFmpegFrameRecorder(file, width, height);if (grabber.getAudioChannels() 0) {recorder.setAudioChannels(grabber.getAudioChannels());recorder.setAudioBitrate(grabber.getAudioBitrate());recorder.setAudioCodec(avcodec.AV_CODEC_ID_AAC);}recorder.setVideoCodec(avcodec.AV_CODEC_ID_H264);recorder.start();while (true) {Frame frame grabber.grab();if (Objects.isNull(frame)) {break;}recorder.record(frame);System.out.println(frame.timestamp);}recorder.stop();grabber.stop();}
}