依賴:文章來源:http://www.zghlxwxcb.cn/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>
視頻格式轉(zhuǎn)換示例:文章來源地址http://www.zghlxwxcb.cn/news/detail-506528.html
package com.sino.test;
import ws.schild.jave.*;
import java.io.File;
/**
* java實現(xiàn)視頻格式的轉(zhuǎn)化
* @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();
//音頻設(shè)置類
audio.setCodec("libmp3lame");
//音頻編碼格式
// audio.setBitRate(new Integer(56000));
//設(shè)置比特率,可以不填有默認值
// audio.setChannels(new Integer(1));
//設(shè)置將在重新編碼的音頻通道的數(shù)量(1 = 單聲道,2 = 立體聲)可以不填有默認值。
// audio.setSamplingRate(new Integer(22050));
//它為新的重新編碼的音頻流設(shè)置采樣率 可以不填有默認值。。
VideoAttributes video = new VideoAttributes();
//視頻設(shè)置類
video.setCodec("h264");
//音頻編碼--必填 重要 親測測試得到
//flv 轉(zhuǎn) mp4 用 h264
//flv 轉(zhuǎn) avi 用 rawvideo
EncodingAttributes attrs = new EncodingAttributes();
attrs.setFormat("mp4");
//設(shè)置產(chǎn)出文件的類型
attrs.setAudioAttributes(audio);
//audio 屬性
attrs.setVideoAttributes(video);
//video 屬性
Encoder encoder = new Encoder();
//創(chuàng)建編譯器
MultimediaObject mediaObject=new MultimediaObject(source);
EncoderProgressListener encoderProgressListener = new EncoderProgressListener() {
//編譯器過程監(jiān)聽器
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;
}
}
到了這里,關(guān)于Java類jar 實現(xiàn) 轉(zhuǎn)視頻格式 fvl轉(zhuǎn)mp4,avi示例的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!