依赖:文章来源:https://www.toymoban.com/news/detail-506528.html
<!-- jave核心包 获取视频时长-->
<dependency>
<groupId>ws.schild</groupId>
<artifactId>jave-core</artifactId>
<version>2.4.6</version>
</dependency>
<!-- window64位 ffmpeg -->
<dependency>
<groupId>ws.schild</groupId>
<artifactId>jave-native-win64</artifactId>
<version>2.4.6</version>
</dependency>
<!-- linux64位 ffmpeg -->
<dependency>
<groupId>ws.schild</groupId>
<artifactId>jave-native-linux64</artifactId>
<version>2.4.6</version>
</dependency>
<!-- macos64位 ffmpeg -->
<dependency>
<groupId>ws.schild</groupId>
<artifactId>jave-native-osx64</artifactId>
<version>2.4.6</version>
</dependency>
视频格式转换示例:文章来源地址https://www.toymoban.com/news/detail-506528.html
package com.sino.test;
import ws.schild.jave.*;
import java.io.File;
/**
* java实现视频格式的转化
* @author pteromys
*
*/
public class ChangeVideo {
public static void main(String[] args) throws EncoderException {
File source = new File("/xxx/source.flv");
if(!check(file)){
return ;
}
//源文件
File target = new File("/xxx/arget.mp4");
//目标文件(需要生成的文件)
AudioAttributes audio = new AudioAttributes();
//音频设置类
audio.setCodec("libmp3lame");
//音频编码格式
// audio.setBitRate(new Integer(56000));
//设置比特率,可以不填有默认值
// audio.setChannels(new Integer(1));
//设置将在重新编码的音频通道的数量(1 = 单声道,2 = 立体声)可以不填有默认值。
// audio.setSamplingRate(new Integer(22050));
//它为新的重新编码的音频流设置采样率 可以不填有默认值。。
VideoAttributes video = new VideoAttributes();
//视频设置类
video.setCodec("h264");
//音频编码--必填 重要 亲测测试得到
//flv 转 mp4 用 h264
//flv 转 avi 用 rawvideo
EncodingAttributes attrs = new EncodingAttributes();
attrs.setFormat("mp4");
//设置产出文件的类型
attrs.setAudioAttributes(audio);
//audio 属性
attrs.setVideoAttributes(video);
//video 属性
Encoder encoder = new Encoder();
//创建编译器
MultimediaObject mediaObject=new MultimediaObject(source);
EncoderProgressListener encoderProgressListener = new EncoderProgressListener() {
//编译器过程监听器
public void sourceInfo(MultimediaInfo multimediaInfo) {
System.out.println("信息"+multimediaInfo);
}
public void progress(int i) {
System.out.println(i+"%");
}
public void message(String s) {
System.out.println(s);
}
};
encoder.encode(mediaObject, target, attrs,encoderProgressListener) ;
//编译器启动
}
public static boolean check(File file){
if(!file.exists()){
System.out.println("文件不存在");
return false;
}
return true;
}
}
到了这里,关于Java类jar 实现 转视频格式 fvl转mp4,avi示例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!