java MP4视频压缩

在Android应用中,开发者遇到了使用系统录像功能录制视频后,因视频大小问题导致上传和下载速度过慢的问题。尝试使用第三方库jave进行视频压缩,但发现该方法在Android 10及以上版本不适用。因此,考虑自定义录像机来实现更精细的视频质量控制,以适应上传需求,尽管这将增加开发复杂性。
摘要由CSDN通过智能技术生成

最近在andorid端写一个拍视频上传服务器,及播放网络视频的功能。

开始的思路是调用系统的录像功能,返回视频,上传,但是在应用的过程中发现,系统的录像功能在调节视频质量上参数非常尴尬,只有0低画质、1高清两个参数。低画质这个简直低到离谱,什么都看不清,高清这个视频倒是没问题,但是太大了,一个6秒的视频20M。这个上传下载太慢了。关键是他没有其他参数。

后来想到,可以把视频压缩,再上传,

package util;

import it.sauronsoftware.jave.AudioAttributes;
import it.sauronsoftware.jave.Encoder;
import it.sauronsoftware.jave.EncodingAttributes;
import it.sauronsoftware.jave.VideoAttributes;

import java.io.File;

public class VideoUtil {

	/**
	 * Mp4视频压缩
	 * @param args
	 */
    public static void main(String[] args) {
        //原
        File source = new File("D:\\工艺卡片目录\\拍照上传图片\\gpid55gxid9t0.mp4");
        //新
        File target = new File("D:\\工艺卡片目录\\拍照上传图片\\gpid55gxid9t1.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.setAudioAttributes(null);
            attr.setVideoAttributes(video);
            Encoder encoder = new Encoder();
            encoder.encode(source, target, attr);
            System.out.println("end");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}

本地测试,成功,用到了这个包, jave-1.0.2.jar-Java文档类资源-CSDN下载,

但是到android的时候有遇到问题了,

encoder.encode(source, target, attr);

这一行报错,查了一下,说是android10以后,这个就不行了,不能执行二进制。。。。。反正就是不好使了。

最后一招就是自定义录像机,这回可以设置文件的大小了,就是麻烦,没有用系统自带的方便。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值