Yes, I have Video/KeyFrameInterval/FollowSource set to true for all encodes in the transcode template. This doesn't seem to do what it claims - as in, as described above the keyframes in the encoded streams don't actually follow the source. What is this property intended to do?
As far as re-transcoding to an equivalent quality as the source stream, yes as I mentioned that is an option that would solve the keyframe+packetization issue, but if there is a way to not have to resort to that, I would be interested. Since, as I mentioned, that introduces a slight loss of quality as well as increased computational requirements.
As far as the audio-only, yes I remember using the MediaListRendition approach when first setting up the Transcoder, and something about the way it ended up presenting the playlists was suboptimal, but I will investigate that method again.
I just tried the WowzaAudioOnly approach and realized what the problem was when I tried this before - whatever encode is used as the "source" with the audio-only option applied to it (i.e. the "160p" in your example), will pass through its codec info in the master playlist. For example, our lowest resolution is 234p, and the master playlist looks like this using WowzaAudioOnly based on that encode:
Notice that the last rendition is supposed to be the audio-only, and in fact if that URL is requested it will be an audio-only HLS stream, however it is listed with a 416x234 resolution and avc1 codec. This causes problems for our players which depend on the codec information to properly interpret the multi-bitrate stream.
So, is there any way to have segment-synced audio that presents correctly in the master playlist?