Why is the CODECS different for highest bitrate?

Hello,

We have our wowza 3 server pushing multiple rtmp streams to akamai and we find that akamai m3u8 endpoints return different codecs value for our 720p stream

The following is the result of curl to akamai m3u8 endpoint

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=483000,RESOLUTION=384x216,CODECS=“avc1.66.30, mp4a.40.2”

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=874000,RESOLUTION=640x360,CODECS=“avc1.66.30, mp4a.40.2”

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1362000,RESOLUTION=832x468,CODECS=“avc1.66.30, mp4a.40.2”

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2241000,RESOLUTION=1024x576,CODECS=“avc1.66.30, mp4a.40.2”

#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=3022000,RESOLUTION=1280x720,CODECS=“avc1.77.30, mp4a.40.2”

We are troublshooting why our player (visualon) frequently have difficulty playing 720p stream despite being in a network with ample bandwidth and wondering whether the CODECS difference might explain this.

How can we get the same information from wowza server doing such push to akamai?

Thanks for any suggestion

k.z.win

Hello there,

It looks like you are using the source as a member of an ABR set generated by the Wowza Transcoder?

If so that really wont work as the key frame alignment will be off as in this case. you will need to use an encode block in the Transcoder template for the 720p stream instead of using the source as a member of the set.

I hope this helps.

Salvadore

It could also be that the player thinks that it can’t play the 720p stream smoothly so it doesn’t attempt to do so.

HLS streaming is request based. The player first requests a list of the available renditions and then decides which one it will play. It then requests the list of segments for that rendition and then each of the segments in turn. It will Use metrics such as codec, bitrate and frame size. How the player decides which rendition to play will be determined by its own internal logic.

If possible, do a TCP dump on the player side to see which renditions are being requested. If the 720p never gets requested then it will be the player that is deciding that it can’t handle it. If it does get requested but not played, look at the time taken to deliver the segments. If this is longer than the segment duration then there isn’t enough available bandwidth or the delivery network (akamai) is slow.

Roger.

Take a look to make sure you are pushing the transrated version of the 720p stream. It may be a typo and you are pushing the source instead?

Salvadore

This usually indicates that key frames are not aligned.

This guide might help straighten this out:

How to debug encoder multi-bitrate key frame alignment

Salvadore

The next thing to do would be following Roger’s from above.

If that is not possible or does not appear to be the issue, you could zip up your /conf and /log folders and open a ticket by sending them in an email to support@wowza.com.

Please provide a link to this thread as reference as well.

Thanks,

Salvadore

Hello there,

It looks like you are using the source as a member of an ABR set generated by the Wowza Transcoder?

If so that really wont work as the key frame alignment will be off as in this case. you will need to use an encode block in the Transcoder template for the 720p stream instead of using the source as a member of the set.

I hope this helps.

Salvadore

Hi Salvadore

Thanks for your suggestions. I do not understand the part about your post on using ‘source as a member of ABR set’

Our 720p stream config in transcode template is identical to lower bitrates except for the bitrates/name etc. They are all inside encode blocks

Just to be sure we are on the same page, I am talking about the config in the file

./transcoder/templates/live_transrate.xml

relative to wowza home dir

I can also post this file if that helps

k.z.

Hi Salvatore,

That 720p is using the ‘main’ profile (77.30) is configured in that file. I had figured out how to changed this 720 stream to ‘baseline’ (66.30)

But this did not solve our problem of player having difficulty going to 720p.

Note: our player can play 720p directly if it is presently with this stream only. When presented with multi-nitrate streams, it often gets stuck in a lower bit-rate for unacceptably long time (5-15 minutes)

k.z.

k.z.

This usually indicates that key frames are not aligned.

This guide might help straighten this out:

How to debug encoder multi-bitrate key frame alignment

Salvadore

Hi Salvatore,

This again for your guide.

I followed the instructions on that page and as far as I can see keyframes are aligned. Here are the snippets from the log file

2014-08-13 15:48:36 EDT comment server INFO 200 - LiveReceiver.keyframe[live/definst/myStream]: dts:272854 pts:272854 - - - 298.252 - - - -


2014-08-13 15:48:37 EDT comment server INFO 200 - LiveReceiver.keyframe[live/definst/myStream_720p]: dts:272854 pts:272854 - - - 299.036 - - -


2014-08-13 15:48:37 EDT comment server INFO 200 - LiveReceiver.keyframe[live/definst/myStream_216p]: dts:272854 pts:272854 - - - 299.036 - - -


2014-08-13 15:48:37 EDT comment server INFO 200 - LiveReceiver.keyframe[live/definst/myStream_468p]: dts:272854 pts:272854 - - - 299.036 - - -


2014-08-13 15:48:37 EDT comment server INFO 200 - LiveReceiver.keyframe[live/definst/myStream_576p]: dts:272854 pts:272854 - - - 299.036 - - -


2014-08-13 15:48:37 EDT comment server INFO 200 - LiveReceiver.keyframe[live/definst/myStream_360p]: dts:272854 pts:272854 - - - 299.036 - - -


2014-08-13 15:48:38 EDT comment server INFO 200 - LiveReceiver.keyframe[live/definst/myStream]: dts:275354 pts:275354 - - - 300.69 - - - -


2014-08-13 15:48:39 EDT comment server INFO 200 - LiveReceiver.keyframe[live/definst/myStream]: dts:275979 pts:275979 - - - 301.326 - - - -


2014-08-13 15:48:39 EDT comment server INFO 200 - LiveReceiver.keyframe[live/definst/myStream_720p]: dts:275354 pts:275354 - - - 301.443 - - -


2014-08-13 15:48:39 EDT comment server INFO 200 - LiveReceiver.keyframe[live/definst/myStream_468p]: dts:275354 pts:275354 - - - 301.443 - - -


2014-08-13 15:48:39 EDT comment server INFO 200 - LiveReceiver.keyframe[live/definst/myStream_216p]: dts:275354 pts:275354 - - - 301.443 - - -


2014-08-13 15:48:39 EDT comment server INFO 200 - LiveReceiver.keyframe[live/definst/myStream_576p]: dts:275354 pts:275354 - - - 301.443 - - -


2014-08-13 15:48:39 EDT comment server INFO 200 - LiveReceiver.keyframe[live/definst/myStream_360p]: dts:275354 pts:275354 - - - 301.443 - - -


2014-08-13 15:48:40 EDT comment server INFO 200 - LiveReceiver.keyframe[live/definst/myStream_720p]: dts:275979 pts:275979 - - - 302.12 -