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