大家好,我是程序员爱酸奶,希望您能喜欢我的文章。可以专注我个人公众号获取更多内容。有什么问题可以通过公众号加我微信交流~~ 手动比心 ♥

下面开始正文啦~~~

其实很简单,直接上代码.

snippet.java

import java.io.File;

import it.sauronsoftware.jave.AudioAttributes;

import it.sauronsoftware.jave.Encoder;

import it.sauronsoftware.jave.EncodingAttributes;

import it.sauronsoftware.jave.VideoAttributes;

public class Snippet {

public static void main(String[] args) {

File source = new File("D:/Tool/workspace/MtnoWeb_SDWK/WebContent//temp_path/868551034812720_3059ba1bd9861dcdae9d4ccf222e3fd8.mp4");

File target = new File("D:/Tool/workspace/MtnoWeb_SDWK/WebContent//temp_path/868551034812720_3059ba1bd9861dcdae9d4ccf222e3fd81.mp4");

try {

System.out.println("begin");

AudioAttributes audio= new AudioAttributes();

audio.setCodec("libmp3lame");

audio.setBitRate(new Integer(56000));

audio.setChannels(new Integer(1));

audio.setSamplingRate(new Integer(22050));

VideoAttributes video=new VideoAttributes();

video.setCodec("mpeg4");

video.setBitRate(new Integer(800000));

video.setFrameRate(new Integer(15));

EncodingAttributes attr=new EncodingAttributes();

attr.setFormat("mp4");

attr.setAudioAttributes(audio);

attr.setVideoAttributes(video);

Encoder encoder=new Encoder();

encoder.encode(source, target, attr);

System.out.println("end");

} catch (Exception e) {

e.printStackTrace();

}

}

}

依赖的jar包链接:https://pan.baidu.com/s/1g3d_hXPLMV-bCuG8U65gBg

提取码:a0nx

使用文档:http://www.sauronsoftware.it/projects/jave/manual.php#3.1

不过有一个缺点感觉,就是压缩的速度有点慢,150M的视频压缩后15M左右,但是耗时差不多60s。不知道怎么优化

分割线

评论区的小伙伴,我测试了你的代码是没有发现问题的。你是不是jar包导入错了呢?jar包上文的百度云连接有,我就是用这个测试的,是没有问题的。

测试代码

import java.io.File;

import it.sauronsoftware.jave.AudioAttributes;

import it.sauronsoftware.jave.Encoder;

import it.sauronsoftware.jave.EncoderException;

import it.sauronsoftware.jave.EncodingAttributes;

import it.sauronsoftware.jave.VideoAttributes;

import it.sauronsoftware.jave.VideoSize;

public class FileZipTest {

public static void main(String[] args) {

File source = new File("E:\\gaolt.mp4");

File target = new File("E:\\gaolt201.flv");

try {

// 音频编码设置

AudioAttributes audio = new AudioAttributes();

audio.setCodec("libmp3lame");

audio.setBitRate(new Integer(64000));

audio.setChannels(new Integer(1));

audio.setSamplingRate(new Integer(22050));

// 视频编码设置

VideoAttributes video = new VideoAttributes();

video.setCodec("flv");

video.setBitRate(new Integer(160000));

video.setFrameRate(new Integer(15));

video.setSize(new VideoSize(400, 300));

// 视频转码编码设置

EncodingAttributes attrs = new EncodingAttributes();

attrs.setFormat("flv");

attrs.setAudioAttributes(audio);

attrs.setVideoAttributes(video);

// 编码器

Encoder encoder = new Encoder();

encoder.encode(source, target, attrs);

System.out.println("压缩完成...");

} catch (EncoderException e) {

e.printStackTrace();

}

}

}

本文同步分享在 博客“程序员爱酸奶(QuellanAn)”(CSDN)。

如有侵权,请联系 support@oschina.cn 删除。

本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

java 视频压缩转码_java实现视频压缩转码相关推荐

  1. java 转码_JAVA自带转码方式的学习

    最近工作中遇到一个问题,由于海外系统环境默认采用UTF-8格式编码,以支持多语言环境.而国内系统由于只需要支持中英文,故默认采用GBK编码格式.因此当把海外环境生成的交易报告单发送给国内的报表系统时, ...

  2. java 线程池 源码_java线程池源码分析

    我们在关闭线程池的时候会使用shutdown()和shutdownNow(),那么问题来了: 这两个方法又什么区别呢? 他们背后的原理是什么呢? 线程池中线程超过了coresize后会怎么操作呢? 为 ...

  3. java接口源码_java collection接口源码

    package java.util; /* * 1.Collection接口是集合继承关系中的根接口(root interface),有些集合允许重复元素, * 有些集合有序,JDK不提供本接口的实现 ...

  4. java join 源码_java并发:join源码分析

    join join join是Thread方法,它的作用是A线程中子线程B在运行之后调用了B.join(),A线程会阻塞直至B线程执行结束 join源码(只有继承Thread类才能使用) 基于open ...

  5. java source folder作用_java项目把源码放到folder里,不是source folder,这个java代码还能被调用吗?...

    看到这个问题,真心觉得初学入门就用IDE真心不是一个好方法.IDE屏蔽了太多基础知识,比如Java是需要编译的,运行的是编译后的class文件.编译命令有编译参数,执行命令有执行命令的参数.还有环境变 ...

  6. Java绘画板源码_Java 绘图板 示例源码下载(画板)

    Java 绘图板 示例源码下载(画板) java 2020-8-21 下载地址 https://www.codedown123.com/36795.html package minidrawpad; ...

  7. java单机版软件源码_Java五子棋单机版源码分享

    初学JavaGUI编程,就写了一个小游戏–五子棋. 目前只实现了单机版,任何事情都是从简制作的,有问题请大牛们不吝指教啊. 此处的棋盘和棋子都未用图片,全部都是使用Java中的Graphics画出来的 ...

  8. java如何输出ascll码_Java如何打印ASCII码

    Java如何打印ASCII码 1 Java打印ASCII码的方式 美国信息交换标准代码的ASCII缩写.它是一个7位字符集,包含128个(0到127)个字符.它代表一个字符的数值.例如,ASCII值的 ...

  9. java ascii 转中文_Java中文与ASCII码的转换

    今天在研究Java中编码的时候,看到了Java中ascii码的强大.写了一个CoderUtils.java,以后会扩展它. package com.xingxd.study.test; import ...

最新文章

  1. android蓝牙4.0(BLE)开发之ibeacon初步
  2. 怎样用matlab打开mw文,C# matlab混合编程 MWArray使用笔记
  3. 有关windows 10自动更新 永久关闭
  4. 图书《图像并行处理技术》简介
  5. MySQL 中 delete 语句的子查询限制
  6. 的函数原型_JS基础函数、对象和原型、原型链的关系
  7. java Web监听器导图详解
  8. 2018年云计算大调查:五成开发者月入过万 阿里云称霸公有云市场
  9. python编写时钟代码_python Tkinter 编写时钟
  10. AIOps 落地难?仅需9步构建一套 AIOps 的最佳实践
  11. java8 32位和64位资源分享 Windows 版本:8u311
  12. 应用数据难互通 如何打破小微企业“信息壁垒”?
  13. python一维数组定义,python如何定义数组
  14. Windows全局鼠标手势——MouseInc
  15. ubuntu18.04下安装微信不能发图片和文件
  16. ubuntu18.04 安装Teamviewer15出现依赖库出错的解决办法
  17. 【Apache运维基础(4)】Apache的Rewrite攻略(1)
  18. 根据北上资金操作上证50指数基金
  19. databanding 替换 findviewbyid
  20. 使用Excel分析数据学习笔记之 二分类与混淆矩阵

热门文章

  1. 继承QWidget使用QPainter自定义二维图形控件【Qt学习】
  2. win10 修改用户目录(%USERPROFILE%)位置
  3. 图形在计算机中用什么格式表示什么,使用什么软件打开dat文件,图形文字说明如何在计算机中查看DAT类型文件...
  4. 如何搭建表白墙网站(LoveWall),Linux搭建网站教程
  5. 深度学习装机指南:从GPU到显示器,全套硬件最新推荐
  6. uniapp小程序图片前端压缩上传
  7. 高项 22 综合测试管理
  8. 安装的python没有菜单栏_新手求助 为什么mac安装python后打开idle没有工具栏?
  9. mybatis-generator-gui 一款 mybatis generator 的图形界面工具
  10. mysql distribute by_Hive order by、distribute by、sort by和cluster by