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/dae9d4ccf222e3fd8.mp4");
File target = new File("D:/Tool/workspace/1.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。不知道怎么优化
测试代码
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();
}
}
}
本文由 创作,采用 知识共享署名4.0 国际许可协议进行许可。本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。最后编辑时间为: 2020/05/29 03:25