From a9a83f78a3ca51574c5e47ea3ea68a8164fbb783 Mon Sep 17 00:00:00 2001 From: Gabe Kangas Date: Mon, 13 Jul 2020 19:37:25 -0700 Subject: [PATCH] Set a default framerate so we can specify the correct iframe settings --- core/ffmpeg/transcoder.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/core/ffmpeg/transcoder.go b/core/ffmpeg/transcoder.go index f88ecf7ea..3a1464ea3 100644 --- a/core/ffmpeg/transcoder.go +++ b/core/ffmpeg/transcoder.go @@ -218,9 +218,14 @@ func (v *HLSVariant) getVariantString() string { variantEncoderCommands = append(variantEncoderCommands, v.getScalingString()) } + if v.framerate == 0 { + v.framerate = 25 + } + if v.framerate != 0 { variantEncoderCommands = append(variantEncoderCommands, fmt.Sprintf("-r %d", v.framerate)) - // multiply your output frame rate * 2. For example, if your input is -framerate 30, then use -g 60 + // Insert a keyframe every 2 seconds. + // Multiply your output frame rate * 2. For example, if your input is -framerate 30, then use -g 60 variantEncoderCommands = append(variantEncoderCommands, "-g "+strconv.Itoa(v.framerate*2)) variantEncoderCommands = append(variantEncoderCommands, "-keyint_min "+strconv.Itoa(v.framerate*2)) }