• Java 实现视频Mov转Mp4


    package useful;

    import java.io.File;
    import java.io.IOException;

    import it.sauronsoftware.jave.AudioAttributes;
    import it.sauronsoftware.jave.Encoder;
    import it.sauronsoftware.jave.EncodingAttributes;
    import it.sauronsoftware.jave.VideoAttributes;
    import net.bramp.ffmpeg.FFmpeg;
    import net.bramp.ffmpeg.FFmpegExecutor;
    import net.bramp.ffmpeg.FFprobe;
    import net.bramp.ffmpeg.builder.FFmpegBuilder;
    //import ws.schild.jave.Encoder;
    //import ws.schild.jave.MultimediaObject;
    //import ws.schild.jave.encode.AudioAttributes;
    //import ws.schild.jave.encode.EncodingAttributes;
    //import ws.schild.jave.encode.VideoAttributes;

    public class MovToMp4 {

        public static void main(String[] args) {
            movToMp4();
        }


        //https://codeantenna.com/a/QFoYfQUJXV
        
    //    
    //       it.sauronsoftware.jave
    //       jave
    //       1.0.2
    //    

        public  void movToMp4_1() {
            File source = new File("D:/Handle_the_loan_in_sake2_with_maker_approved_2023-11-08_17-34-20.mov");
            File target = new File("D:/Web1.mp4");
            try {

                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 attrs = new EncodingAttributes();
                attrs.setFormat("mp4");
                attrs.setAudioAttributes(audio);
                attrs.setVideoAttributes(video);
                Encoder encoder = new Encoder();
                encoder.encode(source, target, attrs);
            } catch (Exception e) {
                e.printStackTrace();
            }

            System.out.println("Finish");
        }

        //ffmpeg转换视频    
        //https://www.cnblogs.com/lccsdncnblogs/p/17723211.html
        

    //    
    //        net.bramp.ffmpeg
    //        ffmpeg
    //        0.7.0
    //    

        public static void movToMp4() {
            System.err.println("---------开始执行----------------");

            String path1 = "D:/Handle_the_loan_in_sake2_with_maker_approved_2023-11-08_17-34-20.mov";
            String path2 = "D:/Web2.mp4";

            //将下载后并解压的 "ffmpeg.exe,ffprobe.exe" 执行文件路径填写进去
            FFmpeg ffmpeg;
            try {
                ffmpeg = new FFmpeg("D:/Project/Program/ffmpeg-master-latest-win64-gpl-shared/bin/ffmpeg.exe");
                FFprobe ffprobe = new FFprobe("D:/Project/Program/ffmpeg-master-latest-win64-gpl-shared/bin/ffprobe.exe");
                FFmpegBuilder builder = new FFmpegBuilder()
                        // 源视频文件
                        .setInput(path1)
                        // 目标视频文件
                        .addOutput(path2)
                        .done();

                FFmpegExecutor executor = new FFmpegExecutor(ffmpeg, ffprobe);
                executor.createJob(builder).run();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

            System.err.println("---------执行完毕----------------");
        }
    //    
    //    
    //    
    //        ws.schild
    //        jave-all-deps
    //        3.0.1
    //    

        
        
        //https://www.codenong.com/cs111037890/
        public static void movToMp4_2(){
        File source = new File("D:\\mov视频文件\\视频\\视频\\IMG_0604.MOV");
        File target = new File("D:\\mov视频文件\\视频\\视频\\IMG_0604-target.mp4");
        try {

            ws.schild.jave.encode.AudioAttributes audio = new ws.schild.jave.encode.AudioAttributes();
            audio.setCodec("libmp3lame");
            audio.setBitRate(new Integer(800000));//设置比特率
            audio.setChannels(new Integer(1));//设置音频通道数
            audio.setSamplingRate(new Integer(44100));//设置采样率
            ws.schild.jave.encode.VideoAttributes video = new ws.schild.jave.encode.VideoAttributes();
            video.setCodec("mpeg4");
    //        video.setCodec("libx264");
            video.setBitRate(new Integer(3200000));
            video.setFrameRate(new Integer(15));
            ws.schild.jave.encode.EncodingAttributes attrs = new ws.schild.jave.encode.EncodingAttributes();
            attrs.setOutputFormat("mp4");
            attrs.setAudioAttributes(audio);
            attrs.setVideoAttributes(video);
            ws.schild.jave.Encoder encoder = new ws.schild.jave.Encoder();
            encoder.encode(new ws.schild.jave.MultimediaObject(source), target, attrs);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    }
     

  • 相关阅读:
    [Git] 系列四Push & Pull —— Git 远程仓库和高级操作
    [Qualcomm][Voice]语音通话软件框架介绍(翻译)
    Java项目硅谷课堂学习笔记-P10-后台系统公众号部分
    VScode连接远程JupyterNotebook显示点云ply文件
    猜名次(附完整代码)
    CSS3------CSS选择器
    [ubuntu]修改时区和更新时间
    『C语言』深度走入取整 & 4种函数
    Macleod中的偏振
    Float和Int转Byte数据
  • 原文地址:https://blog.csdn.net/qq_30273575/article/details/134336912