Making a video file out of images in Java?

2019-08-02 02:24发布

问题:

I make a robot that has an auto delay of 50 then do this.

for(int a=0;a<1000;a++;)
{
    Rectangle screenRect= new Rectangle(300,400);
    al.add(r.createScreenCapture(screenRect));
}
File outputfile = new File(output,"Test.mp4");
AWTSequenceEncoder enc = 
AWTSequenceEncoder.createSequenceEncoder(outputfile,20);
for (BufferedImage bi : al)
    enc.encodeImage(bi);
enc.finish();`

output is the path to my desktop. These are the errors I have gotten:

Exception in thread "main" java.lang.ExceptionInInitializerError
    at org.jcodec.containers.mp4.muxer.MP4Muxer.addTrack(MP4Muxer.java:91)
    at org.jcodec.containers.mp4.muxer.MP4Muxer.addTrack(MP4Muxer.java:87)
    at org.jcodec.containers.mp4.muxer.MP4Muxer.addVideoTrack(MP4Muxer.java:196)
    at org.jcodec.api.transcode.SinkImpl.outputVideoPacket(SinkImpl.java:69)
    at org.jcodec.api.transcode.SinkImpl.outputVideoFrame(SinkImpl.java:223)
    at org.jcodec.api.SequenceEncoder.encodeNativeFrame(SequenceEncoder.java:101)
    at org.jcodec.api.awt.AWTSequenceEncoder.encodeImage(AWTSequenceEncoder.java:49)
    at Test.main(Test.java:47)
    Caused by: java.lang.RuntimeException: Uncompilable source code - cannot find symbol
        symbol:   class Nullable
        location: package javax.annotation
             at org.jcodec.common.Preconditions.<clinit>(Preconditions.java:17)
             ... 8 more

回答1:

Uncompilable source code - cannot find symbol
        symbol:   class Nullable
        location: package javax.annotation

The compiler can't find javax.annotation.Nullable. You are using Jcodec, which depends on the Javax.annotation API, which you don't seem to have included. You can find it here.

However, you should consider building your project with Maven, which will take care of such dependencies for you. I wouldn't be surprised if there are further dependencies hidden.



标签: java jcodec