2

使用下面的 JCodec 代码,我期待视频在 3 秒内显示 4 张图像,总共 12 秒。

但是,视频仅显示第 1、第 2、第 3 图像 3 秒,然后在 9 秒处停止,但视频的总持续时间为 12 秒。

谁能帮我?

    SeekableByteChannel ch = NIOUtils.writableFileChannel(out);

    MP4Muxer muxer = new MP4Muxer(ch, Brand.MP4);

    FramesMP4MuxerTrack outTrack = muxer.addTrackForCompressed(TrackType.VIDEO, 1);

    outTrack.addFrame(new MP4Packet(NIOUtils.fetchFrom(image1), 0, 1, 3, 0, true, null, 0, 0));
    outTrack.addFrame(new MP4Packet(NIOUtils.fetchFrom(image2), 3, 1, 3, 1, true, null, 3, 0));
    outTrack.addFrame(new MP4Packet(NIOUtils.fetchFrom(image3), 6, 1, 3, 2, true, null, 6, 0));
    outTrack.addFrame(new MP4Packet(NIOUtils.fetchFrom(image4), 9, 1, 3, 3, true, null, 9, 0));

    outTrack.addSampleEntry(MP4Muxer.videoSampleEntry("png ", new Size(800, 600), "JCodec"));

    muxer.writeHeader();

    NIOUtils.closeQuietly(ch);
4

0 回答 0