java 视频压缩转码_java实现视频压缩转码
大家好,我是程序员爱酸奶,希望您能喜欢我的文章。可以专注我个人公众号获取更多内容。有什么问题可以通过公众号加我微信交流~~ 手动比心 ♥
下面开始正文啦~~~
其实很简单,直接上代码.
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实现视频压缩转码相关推荐
- java 转码_JAVA自带转码方式的学习
最近工作中遇到一个问题,由于海外系统环境默认采用UTF-8格式编码,以支持多语言环境.而国内系统由于只需要支持中英文,故默认采用GBK编码格式.因此当把海外环境生成的交易报告单发送给国内的报表系统时, ...
- java 线程池 源码_java线程池源码分析
我们在关闭线程池的时候会使用shutdown()和shutdownNow(),那么问题来了: 这两个方法又什么区别呢? 他们背后的原理是什么呢? 线程池中线程超过了coresize后会怎么操作呢? 为 ...
- java接口源码_java collection接口源码
package java.util; /* * 1.Collection接口是集合继承关系中的根接口(root interface),有些集合允许重复元素, * 有些集合有序,JDK不提供本接口的实现 ...
- java join 源码_java并发:join源码分析
join join join是Thread方法,它的作用是A线程中子线程B在运行之后调用了B.join(),A线程会阻塞直至B线程执行结束 join源码(只有继承Thread类才能使用) 基于open ...
- java source folder作用_java项目把源码放到folder里,不是source folder,这个java代码还能被调用吗?...
看到这个问题,真心觉得初学入门就用IDE真心不是一个好方法.IDE屏蔽了太多基础知识,比如Java是需要编译的,运行的是编译后的class文件.编译命令有编译参数,执行命令有执行命令的参数.还有环境变 ...
- Java绘画板源码_Java 绘图板 示例源码下载(画板)
Java 绘图板 示例源码下载(画板) java 2020-8-21 下载地址 https://www.codedown123.com/36795.html package minidrawpad; ...
- java单机版软件源码_Java五子棋单机版源码分享
初学JavaGUI编程,就写了一个小游戏–五子棋. 目前只实现了单机版,任何事情都是从简制作的,有问题请大牛们不吝指教啊. 此处的棋盘和棋子都未用图片,全部都是使用Java中的Graphics画出来的 ...
- java如何输出ascll码_Java如何打印ASCII码
Java如何打印ASCII码 1 Java打印ASCII码的方式 美国信息交换标准代码的ASCII缩写.它是一个7位字符集,包含128个(0到127)个字符.它代表一个字符的数值.例如,ASCII值的 ...
- java ascii 转中文_Java中文与ASCII码的转换
今天在研究Java中编码的时候,看到了Java中ascii码的强大.写了一个CoderUtils.java,以后会扩展它. package com.xingxd.study.test; import ...
最新文章
- android蓝牙4.0(BLE)开发之ibeacon初步
- 怎样用matlab打开mw文,C# matlab混合编程 MWArray使用笔记
- 有关windows 10自动更新 永久关闭
- 图书《图像并行处理技术》简介
- MySQL 中 delete 语句的子查询限制
- 的函数原型_JS基础函数、对象和原型、原型链的关系
- java Web监听器导图详解
- 2018年云计算大调查:五成开发者月入过万 阿里云称霸公有云市场
- python编写时钟代码_python Tkinter 编写时钟
- AIOps 落地难?仅需9步构建一套 AIOps 的最佳实践
- java8 32位和64位资源分享 Windows 版本:8u311
- 应用数据难互通 如何打破小微企业“信息壁垒”?
- python一维数组定义,python如何定义数组
- Windows全局鼠标手势——MouseInc
- ubuntu18.04下安装微信不能发图片和文件
- ubuntu18.04 安装Teamviewer15出现依赖库出错的解决办法
- 【Apache运维基础(4)】Apache的Rewrite攻略(1)
- 根据北上资金操作上证50指数基金
- databanding 替换 findviewbyid
- 使用Excel分析数据学习笔记之 二分类与混淆矩阵
热门文章
- 继承QWidget使用QPainter自定义二维图形控件【Qt学习】
- win10 修改用户目录(%USERPROFILE%)位置
- 图形在计算机中用什么格式表示什么,使用什么软件打开dat文件,图形文字说明如何在计算机中查看DAT类型文件...
- 如何搭建表白墙网站(LoveWall),Linux搭建网站教程
- 深度学习装机指南:从GPU到显示器,全套硬件最新推荐
- uniapp小程序图片前端压缩上传
- 高项 22 综合测试管理
- 安装的python没有菜单栏_新手求助 为什么mac安装python后打开idle没有工具栏?
- mybatis-generator-gui 一款 mybatis generator 的图形界面工具
- mysql distribute by_Hive order by、distribute by、sort by和cluster by