Issue with GOP length

Hi,

We have configured the KeyFrameInterval in transcoder template (xml file) to 15.

                    <Encode>
                                <Enable>true</Enable>
                                <Name>720p</Name>
                                <StreamName>mp4:${SourceStreamName}_720p</StreamName>
                                <Video>
                                        <!-- H.264, H.263, PassThru, Disable -->
                                        <Codec>H.264</Codec>
                                        <!-- default, QuickSync, CUDA, NVENC -->
                                        <Implementation>NVENC</Implementation>
                                        <GPUID>-1</GPUID>
                                        <FrameSize>
                                                <!-- letterbox, fit-width, fit-height, crop, stretch, match-source -->
                                                <FitMode>fit-height</FitMode>
                                                <Width>1280</Width>
                                                <Height>720</Height>
                                                <!-- <Crop>0,0,0,0</Crop> -->
                                                <!-- <SourceRectangle>0,0,320,240</SourceRectangle> -->
                                                <Crop>0,0,0,0</Crop>
                                                <SourceRectangle></SourceRectangle>
                                        </FrameSize>
                                        <!-- baseline, main, high -->
                                        <Profile>main</Profile>
                                        <Bitrate>400000</Bitrate>
                                        <KeyFrameInterval>
                                                <FollowSource>false</FollowSource>
                                                <Interval>15</Interval>
                                        </KeyFrameInterval>
                                        <Overlays>
                                                <Overlay>
                                                        <Name>WowzaLogo</Name>
                                                        <Description></Description>
                                                        <Enable>false</Enable>
                                                        <ImagePath>${com.wowza.wms.context.VHostConfigHome}/content/wowzalogo.png</ImagePath>
                                                        <Index>0</Index>
                                                        <CheckForUpdates>false</CheckForUpdates>
                                                        <Opacity>100</Opacity>
                                                        <Location>
                                                                <X>4</X>
                                                                <Y>4</Y>
                                                                <Width>${ImageWidth}</Width>
                                                                <Height>${ImageHeight}</Height>
                                                                <Align>left,top</Align>
                                                        </Location>
                                                </Overlay>
                                        </Overlays>
                                        <Parameters></Parameters>
                                </Video>
                                <Audio>
                                        <!-- AAC, PassThru, Disable -->
                                        <Codec>Disable</Codec>
                                        <Bitrate>0</Bitrate>
                                        <Parameters></Parameters>
                                </Audio>
                                <Properties>
                                        <Property>
                                                <Name>logVideoEncodingParameters</Name>
                                                <Value>true</Value>
                                                <Type>Boolean</Type>
                                        </Property>
                                </Properties>
                                <Description></Description>
                        </Encode>

However in the logs below i see the gop length to be infinite

[2016-04-28T06:29:20.042Z] JNI:TranscoderSession.videoEncoderAdd[_defaultVHost_:live/_definst_/a2m_32479_64920_content:720p]: Create video encoder: H.264: NVENC
[2016-04-28T06:29:20.042Z] TranscoderWorkerVideoEncoder.setupEncoder[_defaultVHost_:live/_definst_/a2m_32479_64920_content:720p]: Video encoding parameters
[2016-04-28T06:29:20.042Z] # long: preset: 0=default, 1=vc, 2=widi, 3=hp, 4=hq, 5=camera, 6=bd, 7=avchd, 8=ipod, 9=psp, 10=game-capture, 11=game-720p60, 12=game-720p30, 13=desktop, 14=mvc-stereo
[2016-04-28T06:29:20.042Z] nvenc.preset: 0
[2016-04-28T06:29:20.042Z] # long: profile: 66=baseline, 77=main, 100=high
[2016-04-28T06:29:20.042Z] nvenc.profile: 77
[2016-04-28T06:29:20.042Z] # long: level
[2016-04-28T06:29:20.042Z] nvenc.level: 0
[2016-04-28T06:29:20.042Z] # long: rateControl: 0=constqp, 1=vbr, 2=cbr, 4=vbr-minqp, 8=twopass-cbr
[2016-04-28T06:29:20.042Z] nvenc.rateControl: 0
[2016-04-28T06:29:20.042Z] # long: avgBitRate: average bitrate (bits per second)
[2016-04-28T06:29:20.042Z] nvenc.avgBitRate: 400000
[2016-04-28T06:29:20.042Z] # long: peakBitRate: peak bitrate (bits per second)
[2016-04-28T06:29:20.042Z] nvenc.peakBitRate: 440000
[2016-04-28T06:29:20.042Z] # long: vbvBufferSize
[2016-04-28T06:29:20.042Z] nvenc.vbvBufferSize: 400000
[2016-04-28T06:29:20.042Z] # long: vbvInitialDelay
[2016-04-28T06:29:20.042Z] nvenc.vbvInitialDelay: 200000
[2016-04-28T06:29:20.042Z] # long: enableInitialRCQP
[2016-04-28T06:29:20.042Z] nvenc.enableInitialRCQP: 1
[2016-04-28T06:29:20.042Z] # long: qpIntra
[2016-04-28T06:29:20.042Z] nvenc.qpIntra: 28
[2016-04-28T06:29:20.042Z] # long: qpInterP
[2016-04-28T06:29:20.042Z] nvenc.qpInterP: 28
[2016-04-28T06:29:20.042Z] # long: qpInterB
[2016-04-28T06:29:20.042Z] nvenc.qpInterB: 34
[2016-04-28T06:29:20.042Z] # long: gopLength: infinite: 4294967295 (0xffffffff)
[2016-04-28T06:29:20.043Z] nvenc.gopLength: 4294967295
[2016-04-28T06:29:20.043Z] # long: mvPrecision: 1=full, 2=half, 3=quarter
[2016-04-28T06:29:20.043Z] nvenc.mvPrecision: 3
[2016-04-28T06:29:20.043Z] # long: numSlices
[2016-04-28T06:29:20.043Z] nvenc.numSlices: 1
[2016-04-28T06:29:20.043Z] # long: FieldEncoding
[2016-04-28T06:29:20.043Z] nvenc.fieldEncoding: 0
[2016-04-28T06:29:20.043Z] # long: bottomFieldFrist
[2016-04-28T06:29:20.043Z] nvenc.bottomFieldFrist: 0
[2016-04-28T06:29:20.043Z] # long: numBFrames
[2016-04-28T06:29:20.043Z] nvenc.numBFrames: 0
[2016-04-28T06:29:20.043Z] # long: enablePTD
[2016-04-28T06:29:20.043Z] nvenc.enablePTD: 1
[2016-04-28T06:29:20.043Z] # long: syncMode
[2016-04-28T06:29:20.043Z] nvenc.syncMode: 1
[2016-04-28T06:29:20.043Z] # long: useMappedResources
[2016-04-28T06:29:20.043Z] nvenc.useMappedResources: 0

Shouldn’t the GOP length reflect the KeyFrameInterval of 15?

Thanks,

Rakshith

Any update?

Hello Rakshith,

Can you add the following parameter within each - block in your transcoder file:

<Parameter> 
<Name>nvenc.gopLength</Name> 
<Value>15</Value> 
<Type>Long</Type> 
</Parameter>

Then restart your streams and retest.

Regards,

Jason Hatchett