Transcode Frame Rate

Hi there.

Is it possible to set the frame rate of the transcoded streams? I see that you can set the keyframe intervals, but if incoming streams use a different framerate, then the keyframes can’t be controlled reliably. For example, a stream with 30fps and a keyframe interval of 60 means one every 2 seconds, but a stream with 15fps has a keyframe every 4 seconds.

There is an ambiguous option that might allow it, but I haven’t found any more clues about what’s possible with it:

“Video/Parameters: Implementation-specific encoding parameters that control the encoding process (this feature will be documented later).”

Thanks,

Micah Nolte

Micah,

It is still not documented in detail, but this is how you can discover and use those implementation-specific encoding parameters:

https://www.wowza.com/docs/how-to-control-transcoded-video-with-video-encoding-parameters

If you need to discover the framerate of a live stream so you can set the Transcoder template /KeyFrameInterval appropriately, add “cupertinostreamingpacketizer” to the Application.xml /Streams /LiveStreamPacketizers and look for log message like this when the stream starts:

INFO server comment - LiveStreamPacketizerCupertino.handlePacket[live/definst/Stream1][avc1.66.30]: H.264 Video info: {H264CodecConfigInfo: codec:H264, profile:Baseline, level:3.0, frameSize:424x240, displaySize:424x240, frameRate:24.0, crop: l:0 r:4 t:0 b:0}

Or you can use ffprobe. Whatever you use, it is probably the framerate reported by the stream in metadata, which is not always accurate.

Richard

Good stuff. Thanks for the help.