Reduce a transcoded stream's frame rate in Wowza Streaming Engine

The Transcoder in Wowza Streaming Engine™ media server software always provides transcoded streams that use the same frame rate as the original video source. Some clients may not be able play streams with high frame rates. For example, you have a video source with a high frame rate, say from an HD video source encoded at 60 fps and you want to re-stream to devices that can't play at more than 30 fps. You must reduce the frame rate of the transcoded output stream(s) to support these devices.

To reduce the frame rate of the transcoded output stream(s), open your Transcoder template ([install-dir]/transcoder/templates) in a text editor and add the SkipFrameCount property to the <Encode>/<Video> section of the template. Note that the SkipFrameCount property must be positioned below the <KeyFrameInterval> block, as shown in the following example.

<KeyFrameInterval>
    <FollowSource>false</FollowSource>
    <Interval>60</Interval>
</KeyFrameInterval>
<SkipFrameCount>1</SkipFrameCount>

The SkipFrameCount tag cuts the frame rate by using the following formula:
 
Encoded frame rate/([SkipFrameCount value] + 1)

So for example, a SkipFrameCount value of 1 cuts the frame rate in half, a value of 2 by a third, and so on. In the HD video source example discussed above, where the input source is 60 fps, a SkipFrameCount value of 1 reduces the transcoded stream frame rate to 30 fps. A SkipFrameCount value of 2 reduces the transcoded stream frame rate to 20 fps. The transcoded output rendition can then be played on many devices that have lower frame rate playback capability.
 
Note: Setting SkipFrameCount does not affect the keyframe interval or alignment. KeyFrameInterval is applied before frames are dropped to reduce the frame rate so keyframes are not impacted.