范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

Java代码实现上传视频获取视频某一帧作为截图封面(二)

  上一个文章讲了 Java代码实现上传视频获取视频某一帧作为截图封面的一种方法,现在讲述第二种方法。为什么要在这里讲这种方法呢?第一、这种方法生成的图片占用的空间更小第二、这种方法可以获取很多信息
  一、根上一篇文章一样导入Maven项目所需要的依赖,这里不在复制,可以去上篇文章看一下
  二、废话不多说直接上代码 package com.basic.common.utils;   import org.bytedeco.javacv.FFmpegFrameGrabber; import org.bytedeco.javacv.FrameGrabber; import org.bytedeco.javacv.Frame; import org.bytedeco.javacv.Java2DFrameConverter; import org.springframework.web.multipart.MultipartFile; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder;   import javax.imageio.ImageIO;   import java.awt.*; import java.awt.image.BufferedImage; import java.io.*;   /**  * @author summer  * @date 2021-11-02  15:42  */ public class VideoUtils2 implements MultipartFile {     private final byte[] imgContent;     private final String header;       public VideoUtils2(byte[] imgContent, String header) {         this.imgContent = imgContent;         this.header = header;     }       public static String fetchFrame(String videoPath) {         FFmpegFrameGrabber ff = null;         byte[] data = null;         ByteArrayOutputStream os = new ByteArrayOutputStream();         try {             ff = new FFmpegFrameGrabber(videoPath);             ff.start();             int lenght = ff.getLengthInFrames();             int i = 0;             Frame f = null;             while (i < lenght) {                 // 过滤前5帧,避免出现全黑的图片 这个根据自己的情况来定,这里就以5秒作为测试                 f = ff.grabFrame();                 if ((i > 5) && (f.image != null)) {                     break;                 }                 i++;             }             BufferedImage bi =  new Java2DFrameConverter().getBufferedImage(f);             String rotate = ff.getVideoMetadata("rotate");             if (rotate != null) {                 bi = rotate(bi, Integer.parseInt(rotate));             }             ImageIO.write(bi, "jpg", os);         } catch (Exception e) {             e.printStackTrace();         } finally {             try {                 if (ff != null) {                     ff.stop();                 }             } catch (FrameGrabber.Exception e) {                 e.printStackTrace();             }         }         BASE64Encoder encoder = new BASE64Encoder();         return "data:image/jpg;base64,"+encoder.encode(os.toByteArray());     }       public static BufferedImage rotate(BufferedImage src, int angel) {         int src_width = src.getWidth(null);         int src_height = src.getHeight(null);         int type = src.getColorModel().getTransparency();         Rectangle rect_des = calcRotatedSize(new Rectangle(new Dimension(src_width, src_height)), angel);         BufferedImage bi = new BufferedImage(rect_des.width, rect_des.height, type);         Graphics2D g2 = bi.createGraphics();         g2.translate((rect_des.width - src_width) / 2, (rect_des.height - src_height) / 2);         g2.rotate(Math.toRadians(angel), src_width / 2, src_height / 2);         g2.drawImage(src, 0, 0, null);         g2.dispose();         return bi;     }     /**      * 将base64转换成MultipartFile      * @param base64      * @return      */     public static MultipartFile base64ToMultipart(String base64) {         try {             String[] baseStrs = base64.split(",");               BASE64Decoder decoder = new BASE64Decoder();             byte[] b = new byte[0];             b = decoder.decodeBuffer(baseStrs[1]);               for(int i = 0; i < b.length; ++i) {                 if (b[i] < 0) {                     b[i] += 256;                 }             }             return new VideoUtils2(b, baseStrs[0]);         } catch (IOException e) {             e.printStackTrace();             return null;         }     }       public static Rectangle calcRotatedSize(Rectangle src, int angel) {         if (angel >= 90) {             if(angel / 90 % 2 == 1) {                 int temp = src.height;                 src.height = src.width;                 src.width = temp;             }             angel = angel % 90;         }         double r = Math.sqrt(src.height * src.height + src.width * src.width) / 2;         double len = 2 * Math.sin(Math.toRadians(angel) / 2) * r;         double angel_alpha = (Math.PI - Math.toRadians(angel)) / 2;         double angel_dalta_width = Math.atan((double) src.height / src.width);         double angel_dalta_height = Math.atan((double) src.width / src.height);         int len_dalta_width = (int) (len * Math.cos(Math.PI - angel_alpha - angel_dalta_width));         int len_dalta_height = (int) (len * Math.cos(Math.PI - angel_alpha - angel_dalta_height));         int des_width = src.width + len_dalta_width * 2;         int des_height = src.height + len_dalta_height * 2;         return new Rectangle(new Dimension(des_width, des_height));     }              @Override     public String getOriginalFilename() {         return null;     }     @Override     public String getName() {         return null;     }             @Override     public String getContentType() {         return header.split(":")[1];     }       @Override     public long getSize() {         return imgContent.length;     }     @Override     public boolean isEmpty() {         return imgContent == null || imgContent.length == 0;     }         @Override     public byte[] getBytes() throws IOException {         return imgContent;     }     @Override     public void transferTo(File dest) throws IOException, IllegalStateException {         new FileOutputStream(dest).write(imgContent);     }       @Override     public InputStream getInputStream() throws IOException {         return new ByteArrayInputStream(imgContent);     } }
  切记包一定要导对哦
  下面就是测试代码   public void testPic1() throws IOException {         String s = VideoUtils2.fetchFrame("D:testdemotestdemo.mp4");           VideoUtils2.base64ToMultipart(s).transferTo(new File("D:testdemogood.jpg"));     }控制台输出如下 C:softwarejdk1.8binjava.exe -ea -Didea.test.cyclic.buffer.size=1048576 "-javaagent:C:Program FilesJetBrainsIntelliJ IDEA 2021.1libidea_rt.jar=54594:C:Program FilesJetBrainsIntelliJ IDEA 2021.1bin" -Dfile.encoding=UTF-8 -classpath "C:Program FilesJetBrainsIntelliJ IDEA 2021.1libidea_rt.jar;C:Program FilesJetBrainsIntelliJ IDEA 2021.1pluginsjunitlibjunit5-rt.jar;C:Program FilesJetBrainsIntelliJ IDEA 2021.1pluginsjunitlibjunit-rt.jar;C:softwarejdk1.8jrelibcharsets.jar;C:softwarejdk1.8jrelibdeploy.jar;C:softwarejdk1.8jrelibextaccess-bridge-64.jar;C:softwarejdk1.8jrelibextcldrdata.jar;C:softwarejdk1.8jrelibextdnsns.jar;C:softwarejdk1.8jrelibextjaccess.jar;C:softwarejdk1.8jrelibextjfxrt.jar;C:softwarejdk1.8jrelibextlocaledata.jar;C:softwarejdk1.8jrelibext ashorn.jar;C:softwarejdk1.8jrelibextsunec.jar;C:softwarejdk1.8jrelibextsunjce_provider.jar;C:softwarejdk1.8jrelibextsunmscapi.jar;C:softwarejdk1.8jrelibextsunpkcs11.jar;C:softwarejdk1.8jrelibextzipfs.jar;C:softwarejdk1.8jrelibjavaws.jar;C:softwarejdk1.8jrelibjce.jar;C:softwarejdk1.8jrelibjfr.jar;C:softwarejdk1.8jrelibjfxswt.jar;C:softwarejdk1.8jrelibjsse.jar;C:softwarejdk1.8jrelibmanagement-agent.jar;C:softwarejdk1.8jrelibplugin.jar;C:softwarejdk1.8jrelibresources.jar;C:softwarejdk1.8jrelibrt.jar;D:ideaworkspacedemobasicbasic-project	argetclasses;C:UsersSummer.m2repositoryeubitwalkerUserAgentUtils1.19UserAgentUtils-1.19.jar;C:UsersSummer.m2repositoryorgspringframeworkbootspring-boot-starter-aop2.2.5.RELEASEspring-boot-starter-aop-2.2.5.RELEASE.jar;C:UsersSummer.m2repositoryorgspringframeworkbootspring-boot-starter2.2.5.RELEASEspring-boot-starter-2.2.5.RELEASE.jar;C:UsersSummer.m2repositoryorgspringframeworkbootspring-boot-starter-logging2.2.5.RELEASEspring-boot-starter-logging-2.2.5.RELEASE.jar;C:UsersSummer.m2repositorychqoslogbacklogback-classic1.2.3logback-classic-1.2.3.jar;C:UsersSummer.m2repositorychqoslogbacklogback-core1.2.3logback-core-1.2.3.jar;C:UsersSummer.m2repositoryorgapachelogginglog4jlog4j-to-slf4j2.12.1log4j-to-slf4j-2.12.1.jar;C:UsersSummer.m2repositoryorgapachelogginglog4jlog4j-api2.12.1log4j-api-2.12.1.jar;C:UsersSummer.m2repositoryorgslf4jjul-to-slf4j1.7.30jul-to-slf4j-1.7.30.jar;C:UsersSummer.m2repositoryjakartaannotationjakarta.annotation-api1.3.5jakarta.annotation-api-1.3.5.jar;C:UsersSummer.m2repositoryorgyamlsnakeyaml1.25snakeyaml-1.25.jar;C:UsersSummer.m2repositoryorgspringframeworkspring-aop5.2.4.RELEASEspring-aop-5.2.4.RELEASE.jar;C:UsersSummer.m2repositoryorgspringframeworkspring-beans5.2.4.RELEASEspring-beans-5.2.4.RELEASE.jar;C:UsersSummer.m2repositoryorgaspectjaspectjweaver1.9.5aspectjweaver-1.9.5.jar;C:UsersSummer.m2repositoryorgjsoupjsoup1.12.1jsoup-1.12.1.jar;C:UsersSummer.m2repositorycomgithuboshioshi-core3.9.1oshi-core-3.9.1.jar;C:UsersSummer.m2repository etjavadevjnajna-platform4.5.2jna-platform-4.5.2.jar;C:UsersSummer.m2repository etjavadevjnajna4.5.2jna-4.5.2.jar;C:UsersSummer.m2repositoryorgslf4jslf4j-api1.7.30slf4j-api-1.7.30.jar;C:UsersSummer.m2repositorycomgithubpengglekaptcha2.3.2kaptcha-2.3.2.jar;C:UsersSummer.m2repositoryjavaxservletjavax.servlet-api4.0.1javax.servlet-api-4.0.1.jar;C:UsersSummer.m2repositorycomjhlabsfilters2.0.235-1filters-2.0.235-1.jar;C:UsersSummer.m2repositoryorgapachepoipoi-ooxml3.17poi-ooxml-3.17.jar;C:UsersSummer.m2repositoryorgapachepoipoi3.17poi-3.17.jar;C:UsersSummer.m2repositoryorgapachecommonscommons-collections44.1commons-collections4-4.1.jar;C:UsersSummer.m2repositoryorgapachepoipoi-ooxml-schemas3.17poi-ooxml-schemas-3.17.jar;C:UsersSummer.m2repositoryorgapachexmlbeansxmlbeans2.6.0xmlbeans-2.6.0.jar;C:UsersSummer.m2repositorystaxstax-api1.0.1stax-api-1.0.1.jar;C:UsersSummer.m2repositorycomgithubvirtualdcurvesapi1.04curvesapi-1.04.jar;C:UsersSummer.m2repositoryorgapachecommonscommons-lang33.9commons-lang3-3.9.jar;C:UsersSummer.m2repositorycommons-iocommons-io2.5commons-io-2.5.jar;C:UsersSummer.m2repositorycommons-fileuploadcommons-fileupload1.3.3commons-fileupload-1.3.3.jar;C:UsersSummer.m2repositoryorgapacheshiroshiro-spring1.7.1shiro-spring-1.7.1.jar;C:UsersSummer.m2repositoryorgapacheshiroshiro-web1.7.1shiro-web-1.7.1.jar;C:UsersSummer.m2repositoryorgowaspencoderencoder1.2.2encoder-1.2.2.jar;C:UsersSummer.m2repositoryorgapacheshiroshiro-core1.7.1shiro-core-1.7.1.jar;C:UsersSummer.m2repositoryorgapacheshiroshiro-lang1.7.1shiro-lang-1.7.1.jar;C:UsersSummer.m2repositoryorgapacheshiroshiro-cache1.7.1shiro-cache-1.7.1.jar;C:UsersSummer.m2repositoryorgapacheshiroshiro-crypto-hash1.7.1shiro-crypto-hash-1.7.1.jar;C:UsersSummer.m2repositoryorgapacheshiroshiro-crypto-core1.7.1shiro-crypto-core-1.7.1.jar;C:UsersSummer.m2repositoryorgapacheshiroshiro-crypto-cipher1.7.1shiro-crypto-cipher-1.7.1.jar;C:UsersSummer.m2repositoryorgapacheshiroshiro-config-core1.7.1shiro-config-core-1.7.1.jar;C:UsersSummer.m2repositoryorgapacheshiroshiro-config-ogdl1.7.1shiro-config-ogdl-1.7.1.jar;C:UsersSummer.m2repositorycommons-beanutilscommons-beanutils1.9.4commons-beanutils-1.9.4.jar;C:UsersSummer.m2repositorycommons-collectionscommons-collections3.2.2commons-collections-3.2.2.jar;C:UsersSummer.m2repositoryorgapacheshiroshiro-event1.7.1shiro-event-1.7.1.jar;C:UsersSummer.m2repositoryorgapacheshiroshiro-ehcache1.7.1shiro-ehcache-1.7.1.jar;C:UsersSummer.m2repository etsfehcacheehcache-core2.6.11ehcache-core-2.6.11.jar;C:UsersSummer.m2repository etmingsoftshiro-freemarker-tags.1shiro-freemarker-tags-0.1.jar;C:UsersSummer.m2repositorycommons-codeccommons-codec1.13commons-codec-1.13.jar;C:UsersSummer.m2repositorylog4jlog4j1.2.17log4j-1.2.17.jar;C:UsersSummer.m2repositorycomgooglezxingjavase3.1.0javase-3.1.0.jar;C:UsersSummer.m2repositorycomgooglezxingcore3.1.0core-3.1.0.jar;C:UsersSummer.m2repositoryorgquartz-schedulerquartz2.3.2quartz-2.3.2.jar;C:UsersSummer.m2repositorycommchangemchange-commons-java.2.15mchange-commons-java-0.2.15.jar;C:UsersSummer.m2repositoryorgspringframeworkintegrationspring-integration-mail5.2.4.RELEASEspring-integration-mail-5.2.4.RELEASE.jar;C:UsersSummer.m2repositoryorgspringframeworkintegrationspring-integration-core5.2.4.RELEASEspring-integration-core-5.2.4.RELEASE.jar;C:UsersSummer.m2repositoryioprojectreactorreactor-core3.3.3.RELEASEreactor-core-3.3.3.RELEASE.jar;C:UsersSummer.m2repositoryorgreactivestreamsreactive-streams1.0.3reactive-streams-1.0.3.jar;C:UsersSummer.m2repositoryorgspringframeworkretryspring-retry1.2.5.RELEASEspring-retry-1.2.5.RELEASE.jar;C:UsersSummer.m2repositoryorgspringframeworkspring-messaging5.2.4.RELEASEspring-messaging-5.2.4.RELEASE.jar;C:UsersSummer.m2repository etsourceforgejexcelapijxl2.6.12jxl-2.6.12.jar;C:UsersSummer.m2repositorycomalibabafastjson1.2.6fastjson-1.2.6.jar;C:UsersSummer.m2repositorycomsunmailjavax.mail1.4.5javax.mail-1.4.5.jar;C:UsersSummer.m2repositoryjavaxactivationactivation1.1activation-1.1.jar;C:UsersSummer.m2repositorycommortennobeljava-image-scaling.8.6java-image-scaling-0.8.6.jar;C:UsersSummer.m2repositoryorgspringframeworkspring-core5.2.4.RELEASEspring-core-5.2.4.RELEASE.jar;C:UsersSummer.m2repositoryorgspringframeworkspring-jcl5.2.4.RELEASEspring-jcl-5.2.4.RELEASE.jar;C:UsersSummer.m2repositoryorgspringframeworkspring-context5.2.4.RELEASEspring-context-5.2.4.RELEASE.jar;C:UsersSummer.m2repositoryorgspringframeworkspring-expression5.2.4.RELEASEspring-expression-5.2.4.RELEASE.jar;C:UsersSummer.m2repositoryorgspringframeworkspring-context-support5.2.4.RELEASEspring-context-support-5.2.4.RELEASE.jar;C:UsersSummer.m2repositoryorgspringframeworkspring-tx5.2.4.RELEASEspring-tx-5.2.4.RELEASE.jar;C:UsersSummer.m2repositoryorgfreemarkerfreemarker2.3.29freemarker-2.3.29.jar;C:UsersSummer.m2repositoryorgapacheshiroshiro-all1.2.4shiro-all-1.2.4.jar;C:UsersSummer.m2repositoryorgapacheshiroshiro-guice1.2.4shiro-guice-1.2.4.jar;C:UsersSummer.m2repositorycomgoogleinjectguice3.0guice-3.0.jar;C:UsersSummer.m2repositoryjavaxinjectjavax.inject1javax.inject-1.jar;C:UsersSummer.m2repositoryaopallianceaopalliance1.0aopalliance-1.0.jar;C:UsersSummer.m2repositorycomgoogleinjectextensionsguice-multibindings3.0guice-multibindings-3.0.jar;C:UsersSummer.m2repositorymysqlmysql-connector-java8.0.19mysql-connector-java-8.0.19.jar;C:UsersSummer.m2repositorycomalibabadruid-spring-boot-starter1.1.10druid-spring-boot-starter-1.1.10.jar;C:UsersSummer.m2repositorycomalibabadruid1.1.10druid-1.1.10.jar;C:UsersSummer.m2repositoryorgspringframeworkbootspring-boot-autoconfigure2.2.5.RELEASEspring-boot-autoconfigure-2.2.5.RELEASE.jar;C:UsersSummer.m2repositoryorgspringframeworkbootspring-boot-configuration-processor2.2.5.RELEASEspring-boot-configuration-processor-2.2.5.RELEASE.jar;C:UsersSummer.m2repositoryorgspringframeworkbootspring-boot-starter-freemarker2.2.5.RELEASEspring-boot-starter-freemarker-2.2.5.RELEASE.jar;C:UsersSummer.m2repositoryorgspringframeworkbootspring-boot-starter-web2.2.5.RELEASEspring-boot-starter-web-2.2.5.RELEASE.jar;C:UsersSummer.m2repositoryorgspringframeworkbootspring-boot-starter-json2.2.5.RELEASEspring-boot-starter-json-2.2.5.RELEASE.jar;C:UsersSummer.m2repositorycomfasterxmljacksoncorejackson-databind2.10.2jackson-databind-2.10.2.jar;C:UsersSummer.m2repositorycomfasterxmljacksoncorejackson-annotations2.10.2jackson-annotations-2.10.2.jar;C:UsersSummer.m2repositorycomfasterxmljacksoncorejackson-core2.10.2jackson-core-2.10.2.jar;C:UsersSummer.m2repositorycomfasterxmljacksondatatypejackson-datatype-jdk82.10.2jackson-datatype-jdk8-2.10.2.jar;C:UsersSummer.m2repositorycomfasterxmljacksondatatypejackson-datatype-jsr3102.10.2jackson-datatype-jsr310-2.10.2.jar;C:UsersSummer.m2repositorycomfasterxmljacksonmodulejackson-module-parameter-names2.10.2jackson-module-parameter-names-2.10.2.jar;C:UsersSummer.m2repositoryorgspringframeworkbootspring-boot-starter-tomcat2.2.5.RELEASEspring-boot-starter-tomcat-2.2.5.RELEASE.jar;C:UsersSummer.m2repositoryorgapache	omcatembed	omcat-embed-core9.0.31	omcat-embed-core-9.0.31.jar;C:UsersSummer.m2repositoryorgapache	omcatembed	omcat-embed-el9.0.31	omcat-embed-el-9.0.31.jar;C:UsersSummer.m2repositoryorgapache	omcatembed	omcat-embed-websocket9.0.31	omcat-embed-websocket-9.0.31.jar;C:UsersSummer.m2repositoryorgspringframeworkbootspring-boot-starter-validation2.2.5.RELEASEspring-boot-starter-validation-2.2.5.RELEASE.jar;C:UsersSummer.m2repositoryjakartavalidationjakarta.validation-api2.0.2jakarta.validation-api-2.0.2.jar;C:UsersSummer.m2repositoryorghibernatevalidatorhibernate-validator6.0.18.Finalhibernate-validator-6.0.18.Final.jar;C:UsersSummer.m2repositoryorgjbossloggingjboss-logging3.4.1.Finaljboss-logging-3.4.1.Final.jar;C:UsersSummer.m2repositorycomfasterxmlclassmate1.5.1classmate-1.5.1.jar;C:UsersSummer.m2repositoryorgspringframeworkspring-web5.2.4.RELEASEspring-web-5.2.4.RELEASE.jar;C:UsersSummer.m2repositoryorgspringframeworkspring-webmvc5.2.4.RELEASEspring-webmvc-5.2.4.RELEASE.jar;C:UsersSummer.m2repositorycombaomidoumybatis-plus-boot-starter3.1.2mybatis-plus-boot-starter-3.1.2.jar;C:UsersSummer.m2repositorycombaomidoumybatis-plus3.1.2mybatis-plus-3.1.2.jar;C:UsersSummer.m2repositorycombaomidoumybatis-plus-extension3.1.2mybatis-plus-extension-3.1.2.jar;C:UsersSummer.m2repositorycombaomidoumybatis-plus-core3.1.2mybatis-plus-core-3.1.2.jar;C:UsersSummer.m2repositorycombaomidoumybatis-plus-annotation3.1.2mybatis-plus-annotation-3.1.2.jar;C:UsersSummer.m2repositorycomgithubjsqlparserjsqlparser1.2jsqlparser-1.2.jar;C:UsersSummer.m2repositoryorgmybatismybatis3.5.1mybatis-3.5.1.jar;C:UsersSummer.m2repositoryorgmybatismybatis-spring2.0.1mybatis-spring-2.0.1.jar;C:UsersSummer.m2repositoryorgspringframeworkbootspring-boot-starter-jdbc2.2.5.RELEASEspring-boot-starter-jdbc-2.2.5.RELEASE.jar;C:UsersSummer.m2repositorycomzaxxerHikariCP3.4.2HikariCP-3.4.2.jar;C:UsersSummer.m2repositoryorgspringframeworkspring-jdbc5.2.4.RELEASEspring-jdbc-5.2.4.RELEASE.jar;C:UsersSummer.m2repositoryorgspringframeworkbootspring-boot-devtools2.2.5.RELEASEspring-boot-devtools-2.2.5.RELEASE.jar;C:UsersSummer.m2repositoryorgspringframeworkbootspring-boot2.2.5.RELEASEspring-boot-2.2.5.RELEASE.jar;C:UsersSummer.m2repositoryorgprojectlomboklombok1.18.12lombok-1.18.12.jar;C:UsersSummer.m2repositoryorgbytedecojavacv1.4.1javacv-1.4.1.jar;C:UsersSummer.m2repositoryorgbytedecojavacpp-presetsopencv3.4.1-1.4.1opencv-3.4.1-1.4.1.jar;C:UsersSummer.m2repositoryorgbytedecojavacpp-presetsffmpeg3.4.2-1.4.1ffmpeg-3.4.2-1.4.1.jar;C:UsersSummer.m2repositoryorgbytedecojavacpp-presetsflycapture2.11.3.121-1.4.1flycapture-2.11.3.121-1.4.1.jar;C:UsersSummer.m2repositoryorgbytedecojavacpp-presetslibdc13942.2.5-1.4.1libdc1394-2.2.5-1.4.1.jar;C:UsersSummer.m2repositoryorgbytedecojavacpp-presetslibfreenect.5.3-1.4.1libfreenect-0.5.3-1.4.1.jar;C:UsersSummer.m2repositoryorgbytedecojavacpp-presetslibfreenect2.2.0-1.4.1libfreenect2-0.2.0-1.4.1.jar;C:UsersSummer.m2repositoryorgbytedecojavacpp-presetslibrealsense1.12.1-1.4.1librealsense-1.12.1-1.4.1.jar;C:UsersSummer.m2repositoryorgbytedecojavacpp-presetsvideoinput.200-1.4.1videoinput-0.200-1.4.1.jar;C:UsersSummer.m2repositoryorgbytedecojavacpp-presetsartoolkitplus2.3.1-1.4.1artoolkitplus-2.3.1-1.4.1.jar;C:UsersSummer.m2repositoryorgbytedecojavacpp-presetsflandmark1.07-1.4.1flandmark-1.07-1.4.1.jar;C:UsersSummer.m2repositoryorgbytedecojavacpp1.4.1javacpp-1.4.1.jar;C:UsersSummer.m2repositoryorgbytedecojavacpp-presetsopencv-platform3.4.1-1.4.1opencv-platform-3.4.1-1.4.1.jar;C:UsersSummer.m2repositoryorgbytedecojavacpp-presetsopencv3.4.1-1.4.1opencv-3.4.1-1.4.1-android-arm.jar;C:UsersSummer.m2repositoryorgbytedecojavacpp-presetsopencv3.4.1-1.4.1opencv-3.4.1-1.4.1-android-arm64.jar;C:UsersSummer.m2repositoryorgbytedecojavacpp-presetsopencv3.4.1-1.4.1opencv-3.4.1-1.4.1-android-x86.jar;C:UsersSummer.m2repositoryorgbytedecojavacpp-presetsopencv3.4.1-1.4.1opencv-3.4.1-1.4.1-android-x86_64.jar;C:UsersSummer.m2repositoryorgbytedecojavacpp-presetsopencv3.4.1-1.4.1opencv-3.4.1-1.4.1-ios-arm64.jar;C:UsersSummer.m2repositoryorgbytedecojavacpp-presetsopencv3.4.1-1.4.1opencv-3.4.1-1.4.1-ios-x86_64.jar;C:UsersSummer.m2repositoryorgbytedecojavacpp-presetsopencv3.4.1-1.4.1opencv-3.4.1-1.4.1-linux-x86.jar;C:UsersSummer.m2repositoryorgbytedecojavacpp-presetsopencv3.4.1-1.4.1opencv-3.4.1-1.4.1-linux-x86_64.jar;C:UsersSummer.m2repositoryorgbytedecojavacpp-presetsopencv3.4.1-1.4.1opencv-3.4.1-1.4.1-linux-armhf.jar;C:UsersSummer.m2repositoryorgbytedecojavacpp-presetsopencv3.4.1-1.4.1opencv-3.4.1-1.4.1-linux-ppc64le.jar;C:UsersSummer.m2repositoryorgbytedecojavacpp-presetsopencv3.4.1-1.4.1opencv-3.4.1-1.4.1-macosx-x86_64.jar;C:UsersSummer.m2repositoryorgbytedecojavacpp-presetsopencv3.4.1-1.4.1opencv-3.4.1-1.4.1-windows-x86.jar;C:UsersSummer.m2repositoryorgbytedecojavacpp-presetsopencv3.4.1-1.4.1opencv-3.4.1-1.4.1-windows-x86_64.jar;C:UsersSummer.m2repositoryorgbytedecojavacpp-presetsffmpeg-platform3.4.2-1.4.1ffmpeg-platform-3.4.2-1.4.1.jar;C:UsersSummer.m2repositoryorgbytedecojavacpp-presetsffmpeg3.4.2-1.4.1ffmpeg-3.4.2-1.4.1-android-arm.jar;C:UsersSummer.m2repositoryorgbytedecojavacpp-presetsffmpeg3.4.2-1.4.1ffmpeg-3.4.2-1.4.1-android-arm64.jar;C:UsersSummer.m2repositoryorgbytedecojavacpp-presetsffmpeg3.4.2-1.4.1ffmpeg-3.4.2-1.4.1-android-x86.jar;C:UsersSummer.m2repositoryorgbytedecojavacpp-presetsffmpeg3.4.2-1.4.1ffmpeg-3.4.2-1.4.1-android-x86_64.jar;C:UsersSummer.m2repositoryorgbytedecojavacpp-presetsffmpeg3.4.2-1.4.1ffmpeg-3.4.2-1.4.1-linux-x86.jar;C:UsersSummer.m2repositoryorgbytedecojavacpp-presetsffmpeg3.4.2-1.4.1ffmpeg-3.4.2-1.4.1-linux-x86_64.jar;C:UsersSummer.m2repositoryorgbytedecojavacpp-presetsffmpeg3.4.2-1.4.1ffmpeg-3.4.2-1.4.1-linux-armhf.jar;C:UsersSummer.m2repositoryorgbytedecojavacpp-presetsffmpeg3.4.2-1.4.1ffmpeg-3.4.2-1.4.1-linux-ppc64le.jar;C:UsersSummer.m2repositoryorgbytedecojavacpp-presetsffmpeg3.4.2-1.4.1ffmpeg-3.4.2-1.4.1-macosx-x86_64.jar;C:UsersSummer.m2repositoryorgbytedecojavacpp-presetsffmpeg3.4.2-1.4.1ffmpeg-3.4.2-1.4.1-windows-x86.jar;C:UsersSummer.m2repositoryorgbytedecojavacpp-presetsffmpeg3.4.2-1.4.1ffmpeg-3.4.2-1.4.1-windows-x86_64.jar;C:UsersSummer.m2repositoryjunitjunit4.12junit-4.12.jar;C:UsersSummer.m2repositoryorghamcresthamcrest-core2.1hamcrest-core-2.1.jar;C:UsersSummer.m2repositoryorghamcresthamcrest2.1hamcrest-2.1.jar" com.intellij.rt.junit.JUnitStarter -ideVersion5 -junit4 com.basic.common.TestCase,testPic1 [mov,mp4,m4a,3gp,3g2,mj2 @ 00000000003fc8e0] overread end of atom "colr" by 1 bytes Input #0, mov,mp4,m4a,3gp,3g2,mj2, from "D:	estdemo	estdemo.mp4":   Metadata:     major_brand     : isom     minor_version   : 512     compatible_brands: isomiso2avc1mp41     encoder         : Lavf55.33.100     copyright       :      copyright-eng   :    Duration: 00:00:15.10, start: 0.000000, bitrate: 1410 kb/s     Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv), 432x960, 1386 kb/s, 29.45 fps, 29.42 tbr, 15360 tbn, 60 tbc (default)     Metadata:       handler_name    : VideoHandler     Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 48 kb/s (default)     Metadata:       handler_name    : SoundHandler   Process finished with exit code 0

5G套餐用户数已近8亿,5G手机却卖不动了,销量占比创5个月新低据三大运营商公布的数据显示,截止2022年2月底,我国5G套餐用户数为7。9246亿。其中,中国移动已经有5G套餐用户4。2542亿,中国电信为2。0214亿,中国联通也有1。64苹果英伟达展开竞赛800亿个晶体管最强GPU芯片来了南方财经全媒体记者江月上海报道3月的全球芯片竞技场上,争夺最强的声浪一波胜似一波。就在苹果公司3月8日推出最强个人电脑芯片M1Ultra之际,英伟达于当地时间3月22日揭幕了最强G21硬核投研丨果链破局拆解庞然大物闻泰科技吃一口苹果只是前菜?21世纪资本研究院张赛男实习生谢韫力上海报道从一家低毛利的手机ODM代工厂发展成A股炙手可热的高科技半导体厂商,闻泰科技的崛起之路(600745)一直为市场津津乐道。并购是闻泰科技累计罚款3。1亿元!荷兰再次出手,苹果态度强硬本文原创,禁止搬运和抄袭,违者必究!荷兰在今年1月份要求苹果公司修改AppStore的规则措施,放开对第三方支付方式。可苹果的态度十分强硬,并没有对AppStore应用商店的规则进全球和国产十大AI芯片作为2022年45家国产AI芯片厂商调研分析报告的一部分,AspenCore分析师团队汇编整理了10款国产AI芯片和10款国际AI芯片,以展示全球AI芯片的最新技术发展。Top10六万人帮砍拼多多的狗血后续六万人能干什么?如果在电影里,六万人早就够陈浩南砍十来遍铜锣湾了。但在现实生活中,这六万人在拼多多上砍不下几分钱。别不相信!六万人直播间砍价失败的事儿,大家可能都有所耳闻。一个主播TikTok已是全球第一,而快手还是留不住外国老铁出海5年的快手,海外业务又发生了变故。近日快手宣布调整国际化事业部组织架构,原事业部负责人仇广宇(内部称呼为Tony)因个人原因不再担任快手国际化事业部负责人,并将于近期离职。就此广东快递企业从揽件到派件步步消杀原标题广东加强防疫应急处置,部分快递公司员工每日测核酸(引题)从揽件到派件步步消杀(主题)近期,国内新冠肺炎疫情呈多点散发态势,快递物流的运输投递以及签收等安全问题成为关注热点。记柔性电子掀起产业革命,智柔科技如何在医疗大健康领域探索应用?在今年的冬奥会上,各类黑科技大放异彩,彰显大国实力。其中一项便是柔性电子技术,因其轻薄柔小的特性,可与目标承载物共形贴合,使其在生命体征参数监测运动状态监测健康管理等方面具有广泛应三款颈椎按摩仪大测评消除疲劳哪家强?居家也可以享受按摩一前言哈喽大家好,我是爱健身猫最近居家办公中,每天都在呆在电脑桌前办公码字,导致脖子跟颈椎位置特别的酸痛相信工作中的朋友的肯定也有所体会吧,工作时因为脖子前倾导致的酸痛感。有时候长黑客是怎么攻击网站的,管理员必知网站属于web应用,要攻击网站,可以先通过大量的信息收集工作来筛选出有用的信息,并在这些信息的基础上思考网站是否存在漏洞,利用这些漏洞来进行渗透工作。如盲注SQL注入LFIRFIX
华为Nova10系列稳了,HMS3。080W快充鹰眼对焦,或6月份发布近段时间华为在业内可以说是比较消停的,相比其他友商,并没有在新机的预热,或者说爆料上下功夫,都知道华为现在的处境并不是那么好,新机的研发受到了阻碍,就连供应链受到了压制,真的很希望红米新机不出Note12,出Note11T系列今日最新消息,Redmi手机官方公布,这个月将会发布全新的红米Note系列,这次不是期待已久的Note12,而是Note11T系列。Redmi手机官方公布内容如下官透全新Note系通过华为MateXs2,畅想未来5年,移动通信的新玩法和新应用我想可以达成共识的是,在可预见的未来,也就是接下来的5年内,移动通信的C端主要模式手机这个产品形态还是会存在的。那会有哪些新玩法和新应用呢?脑洞大开,可以畅想一下。关注我的头条号威真正的全面屏手机,马上就要来了五一假期后的第一个工作日。机友们今天的工作状态,是不是都像这样要机哥说,今天最想上班的,可能就只有那些有准备发新机的手机厂商们了。众所周知,上个月,机圈刚刚迎来了一波新机潮。从千元如何免费拥有自己的服务器?大多数广告营销都打着免费体验服务器的旗号,不少人为之心动。进去一看是可以体验,各种填写信息,也有很多限制,最后没感觉到产品的优势和自己是否适配,也浪费了自己的时间精力成本,尤其对新怎么制作GIF动图?感谢邀请。制作GIF动画的方法比较多,可利用的软件有很多种,如UleadGIFAnimatorPhotoshop等。此处以Photoshop为例。先看一个动态制作的实际案例采用Ph手机录屏软件哪个比较好用?现在很多手机更新到最新版本都是自带录屏功能的,如果弄的手机没有自带录屏功能的话就下一个录屏大师吧,这个APP也蛮好用的的。手机录屏软件有很多,一般手机都自带录屏软件,如果没有其他特三星表现不佳惹客户震怒开始调查是否虚标芯片制程三星三星作为一家全球知名的电子企业,其手机业务一直被众人所熟知,但是对于整个集团来说真正核心和利润贡献点依然是旗下的半导体业务其在整个三星电子中的利润占比超过70,在战略地位和重要高通联发科麒麟等芯片区别在哪里?三分钟带你了解手机处理器一说起电脑处理器,大家的第一反应就是英特尔,再然后就是AMD。但说到这手机处理器大家就不一样了,前两年以高通为主,这两年高通反而不吃香了,都在说MTKyes,但不管是高通,还是联发马某某身份被披露,或判无期徒刑!有三点你还不知道,不得不防观天下大事,览国际风云!传递不同的看法,讲一讲那些事情背后的故事。欢迎关注深度最前沿。今天是5月4日,聊一聊马某某!5月3日,网上关于马某还是马某某的消息传得沸沸扬扬。因为事发地在顶级2KE5屏幕加持,vivoX80Pro打造出色视觉体验众所周知,作为用户与手机沟通的界面,屏幕的好坏直接影响到了用户的用机体验,往往好的手机屏幕能够给用户带来更好的视觉体验。正因如此,很多手机厂商都对旗下手机产品的屏幕表现格外重视,最