jave2 icon indicating copy to clipboard operation
jave2 copied to clipboard

Conversion of an HEVC file

Open classicPintus opened this issue 3 years ago • 0 comments

Hello, I'm using Jave but I've a problem with a HEVC video generated by an iPhone 12 Pro Max.

I'm trying to switch to the mp4 format using the H264 but the generated file cannot be opened in Safari.

Is there a format compatible with all browsers? I show you my code, maybe can be helpful

private void convert(File source, File destination) {
        Encoder encoder = new Encoder();
        MultimediaObject multimediaSource = new MultimediaObject(source);
        MultimediaInfo multimediaSourceInfo = multimediaSource.getInfo();

        AudioAttributes audio = new AudioAttributes();
        audio.setCodec("aac");
        audio.setBitRate(multimediaSourceInfo.getAudio().getBitRate());
        audio.setChannels(multimediaSourceInfo.getAudio().getChannels());
        audio.setSamplingRate(multimediaSourceInfo.getAudio().getSamplingRate());

        VideoAttributes video = new VideoAttributes();
        video.setCodec("h264");
        video.setBitRate(multimediaSourceInfo.getVideo().getBitRate());
        video.setFrameRate(Math.round(multimediaSourceInfo.getVideo().getFrameRate()));

        String rotate = multimediaSourceInfo.getVideo().getMetadata().get("rotate");
        if ("90".equals(rotate)) {
            VideoSize videoSize = multimediaSourceInfo.getVideo().getSize();
            video.setSize(new VideoSize(videoSize.getHeight(), videoSize.getWidth()));
        } else {
            video.setSize(multimediaSourceInfo.getVideo().getSize());
        }

        EncodingAttributes attrs = new EncodingAttributes();
        attrs.setOutputFormat("mp4");
        attrs.setAudioAttributes(audio);
        attrs.setVideoAttributes(video);

        encoder.encode(multimediaSource, destination, attrs);
}

classicPintus avatar May 03 '22 10:05 classicPintus