视频压缩转码FFmpegFrameRecorder

代码

/**
     * 视频压缩
     *  movToMp4("C:/mysoftware/video/test188.mp4","C:/mysoftware/video/test188temp.mp4");
     * @param sourcePath  视频来源
     * @param targetPath 压缩后的视频地址
     */
    private void movToMp4(String sourcePath, String targetPath) {
        File source = new File(sourcePath);
        File target = new File(targetPath);
        long beginTime = System.currentTimeMillis();
        AudioAttributes audio = new AudioAttributes();
        audio.setCodec("libmp3lame");//aac
        //比特率是指每秒传送的比特(bit)数。单位为 bps(Bit Per Second),比特率越高,传送数据速度越快
        audio.setBitRate(new Integer(80000));//设置比特率
        audio.setChannels(new Integer(1));//设置声音频道
        audio.setSamplingRate(new Integer(22050));//设置节录率
        VideoAttributes video = new VideoAttributes();
        video.setCodec("h264");
        video.setBitRate(new Integer(2325 * 1024));
        //比特率是指每秒传送的比特(bit)数。单位为 bps(Bit Per Second),比特率越高,传送数据速度越快
       // video.setBitRate(new Integer(800000));//设置比特率
        video.setFrameRate(new Integer(60));//设置帧率,越大越流畅,越小越卡
        EncodingAttributes attrs = new EncodingAttributes();
        attrs.setFormat("mp4");
        attrs.setAudioAttributes(audio);
        attrs.setVideoAttributes(video);
        Encoder encoder = new Encoder();
        try {

            encoder.encode(new MultimediaObject(source), target, attrs);
            System.out.println("压缩完成花费时间是:" + ((System.currentTimeMillis() - beginTime))/1000 + "秒");
        } catch (IllegalArgumentException | EncoderException e) {
            e.printStackTrace();
        }

    }

支持 Maven

 
 
        1.8
        1.4.1
        3.4.1-1.4.1
        3.4.2-1.4.1
        2.7.1
    
   
       ws.schild
       jave-all-deps
       ${schild.version}
   
   
       ws.schild
       jave-core
       ${schild.version}
   
   
       ws.schild
       jave-nativebin-win64
       ${schild.version}
   
   

你可能感兴趣的:(Java,ffmpeg,java,视频压缩,H264)