java对多媒体处理工具

JAVE是一个基于ffmpeg的Java视频音频转码库,允许开发者轻松进行格式转换。在Windows环境下运行良好,但在Mac M1芯片的系统上出现无法使用的情况。问题可能出在针对Mac系统的ffmpeg二进制文件复制上。为解决此问题,可以尝试寻找适配M1芯片的ffmpeg版本,或者从源码编译ffmpeg并集成到JAVE中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介

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>

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();
		} 
	}

存在问题

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值