bytedeco/javacv

javacv ts files has biger size than ffmpeg cli

Open

#660 opened on Mar 30, 2017

View on GitHub
 (1 comment) (0 reactions) (0 assignees)Java (1,583 forks)batch import
help wantedquestion

Repository metrics

Stars
 (6,985 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

when i use ffmpeg to convert from mp4 to hls use this line ffmpeg -i input.mp4 -strict experimental -profile:v baseline -level 3.0 -start_number 0 -hls_time 10 -hls_list_size 0 -f hls index.m3u8 when i test it with 8mb file it give me 7.7 ts files compared to 11 mb ts files generated by javacv using this function

public static void doConversions(File videoFile) {

FFmpegFrameGrabber frameGrabber = new FFmpegFrameGrabber(videoFile);

try {
    String name = videoFile.getName().split("\\.")[0];
    File file = new File(Paths.get(videoFile.getParentFile().getPath(), name).toString());
    file.mkdir();
    frameGrabber.start();
    Frame grab;
    FrameRecorder recorder = new FFmpegFrameRecorder(new File(file.getPath() + "/" + name + "index" + ".m3u8"), frameGrabber.getImageWidth(), frameGrabber.getImageHeight(), frameGrabber.getAudioChannels());
    recorder.setAspectRatio(frameGrabber.getAspectRatio());
    recorder.setFrameRate(frameGrabber.getFrameRate());
    recorder.setVideoCodec(avcodec.AV_CODEC_ID_H264);
    recorder.setAudioCodec(avcodec.AV_CODEC_ID_AAC);
    recorder.setOption("vf", "setdar=16:9");
    recorder.setOption("hls_time", "3");
    recorder.setOption("start_number", "0");
    recorder.setOption("hls_list_size", "0");
    recorder.setOption("f", "hls");
    recorder.setOption("level", "3.0");
    recorder.setOption("profile:v", "baseline");
    recorder.setOption("strict", "experimental");
    recorder.start();
    while ((grab = frameGrabber.grab()) != null) {
        recorder.record(grab);
    }
    recorder.stop();
    recorder.release();
    frameGrabber.stop();
} catch (FrameGrabber.Exception | FrameRecorder.Exception ignored) {
    System.out.println(ignored.getMessage());
}}

i don't know why i'm got this result size can someone help me what is wrong with my code

Contributor guide