当前位置:   article > 正文

java对多媒体处理工具_java video audio encoder

java video audio encoder

简介

JAVE (Java Audio Video Encoder) 类库是一个 ffmpeg 项目的 Java 语言封装。开发人员可以使用 JAVE 在不同的格式间转换视频和音频。例如将 AVI 转成 MPEG 动画,等等 ffmpeg 中可以完成的在 JAVE 都有对应的方法。

使用

1、导包

		<dependency>
            <groupId>com.github.vip-zpf</groupId>
            <artifactId>jave</artifactId>
            <version>1.1.2</version>
        </dependency>
  • 1
  • 2
  • 3
  • 4
  • 5

2、实现

	private void getVideoInfo(String filePath){
		File source = new File(filePath);
		Encoder encoder = new Encoder();
		try(FileInputStream fis = new FileInputStream(source)){
			MultimediaInfo mi = encoder.getInfo(source);
			System.out.println(mi.getVideo()); //视频信息
        	System.out.println(mi.getAudio());  //音频信息
        	long duration = mi.getDuration();
			int width = mi.getVideo().getSize().getWidth();
			int height = mi.getVideo().getSize().getHeight();
			String format = mi.getFormat();
			int audioChannels = mi.getAudio().getChannels();
			String audioDecoder = mi.getAudio().getDecoder();
			int audioSamplingRate = mi.getAudio().getSamplingRate();
			String videoDecoder = mi.getVideo().getDecoder();
			float videoFrameRate = mi.getVideo().getFrameRate();

			System.out.println("格式:" + format);
			System.out.println("时长(秒):" + duration/1000);
			System.out.println("尺寸:" + width + "×" + height);
			System.out.println("音频编码:"+ audioDecoder);
			System.out.println("音频轨道:" + audioChannels);
			System.out.println("音频采样率:" + audioSamplingRate);
			System.out.println("视频编码:" + videoDecoder);
			System.out.println("视频帧率:" + videoFrameRate);
        	//获取视频大小
       		FileChannel fc= null;
        	fc= fis.getChannel();
        	BigDecimal fileSize = new BigDecimal(fc.size());
		}catch (Exception e) {
			e.printStackTrace();
		} 
	}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33

存在问题

此工具在win下测试成功,但我的m1 pro的macos系统下无法使用,查看源码是有根据mac系统来copy ffmpeg-mac对应exe文件,不清楚是系统还是配置的问题。

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号