FFmpegFrameGrabber报空指针

问题遇到的现象和发生背景

音乐与视频合成 执行到这里为什么报空指针异常 recorder.record(sampleFrame); 求解

用代码块功能插入代码,请勿粘贴截图

pom文件

<dependency>
            <groupId>org.bytedecogroupId>
            <artifactId>javacv-platformartifactId>
            <version>1.5.4version>
        dependency>
        <dependency>
            <groupId>org.bytedecogroupId>
            <artifactId>javacvartifactId>
            <version>1.5.2version>
        dependency>

public static void testAudioMornThanVideo(String videoInput, String audioInput, String outputPath)
            throws org.bytedeco.javacv.FrameRecorder.Exception, org.bytedeco.javacv.FrameGrabber.Exception {
 
        FFmpegFrameGrabber imageGrabber = new FFmpegFrameGrabber(videoInput);
        imageGrabber.start();
        FFmpegFrameGrabber audioGrabber = new FFmpegFrameGrabber(audioInput);
        audioGrabber.start();
        // 流媒体输出地址,分辨率(长,高),是否录制音频(0:单声道/1:立体声)
        FFmpegFrameRecorder recorder = new FFmpegFrameRecorder(outputPath, imageGrabber.getImageWidth(),
                imageGrabber.getImageHeight(), 1);
        recorder.setInterleaved(true);
        recorder.setVideoCodec(avcodec.AV_CODEC_ID_H264);
        recorder.setFormat("mp4");
        recorder.start(imageGrabber.getFormatContext());
        long videoTime = imageGrabber.getLengthInTime();
        AVPacket packet = null;
 
        // 解封装/解复用
        for (; (packet = imageGrabber.grabPacket()) != null;) {
            // 封装/复用
            recorder.recordPacket(packet);
        }
        // 解封装/解复用
        Frame sampleFrame = null;
        while ((sampleFrame = audioGrabber.grabSamples()) != null) {
            recorder.record(sampleFrame);
            if (audioGrabber.getTimestamp() >= videoTime) {
                break;
            }
        }
        recorder.close();
        audioGrabber.close();
        imageGrabber.close();
 
    }

运行结果及报错内容

Exception in thread "main" java.lang.NullPointerException
at org.bytedeco.javacv.FFmpegFrameRecorder.recordSamples(FFmpegFrameRecorder.java:1066)
at org.bytedeco.javacv.FFmpegFrameRecorder.record(FFmpegFrameRecorder.java:922)
at org.bytedeco.javacv.FFmpegFrameRecorder.record(FFmpegFrameRecorder.java:911)
at VideoUtils.testAudioMornThanVideo(VideoUtils.java:37)
at VideoUtils.main(VideoUtils.java:157)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'E:\aa.mp4':