I’m running the latest version of Wowza (3.6.2) on Linux and I’m using the Transcoder Add-on to generate multiple renditions of a live stream. I’m trying to produce an audio-only stream but I don’t seem to be able to get it to work.
The live application configuration file has the stream type set to live and the transcoder turned on. The input stream has H.264 video and AAC audio.
I added a element to the stream name group (in transrate.xml):
<StreamNameGroup>
<Name>all</Name>
<StreamName>${SourceStreamName}_all</StreamName>
<Members>
<Member>
<EncodeName>source</EncodeName>
</Member>
<Member>
<EncodeName>360p</EncodeName>
</Member>
<Member>
<EncodeName>160p</EncodeName>
</Member>
<Member>
<EncodeName>160p</EncodeName>
<MediaListRendition>
<WowzaAudioOnly>true</WowzaAudioOnly>
</MediaListRendition>
</Member>
</Members>
</StreamNameGroup>
When I published to the live application, I tried to retrieve the playlist and this is what I got:
$ curl http://[wowza-ip-address]:1935/live/ngrp:myStream_all/playlist.m3u8
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=726994,CODECS="avc1.77.40,mp4a.40.2",RESOLUTION=480x210
chunklist_w947278958_b726994.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=977238,CODECS="avc1.77.31,mp4a.40.2",RESOLUTION=822x360
chunklist_w947278958_b977238.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=327238,CODECS="avc1.66.21,mp4a.40.2",RESOLUTION=366x160
chunklist_w947278958_b327238.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=127238,CODECS="avc1.66.21,mp4a.40.2",RESOLUTION=366x160
chunklist_w947278958_b127238_ao.m3u8
The CODECS attribute of the last element, which I assume is the audio-only stream, contains the video codec information for some reason. The BANDWIDTH seems to be incorrect too. My understanding is that the audio-only stream should be 64K. I then retrieved the audio-only playlist and got this:
$ curl http://[wowza-ip-address]:1935/live/ngrp:myStream_all/chunklist_w947278958_b127238_ao.m3u8
#EXTM3U
#EXT-X-ENDLIST
It’s always empty. The other streams in the playlist play fine. I also tried adding my own encode block and referencing it in the stream name group but I got the same result:
<Encode>
<Enable>true</Enable>
<Name>audio-only</Name>
<StreamName>mp4:${SourceStreamName}_aac</StreamName>
<Video>
<!-- H.264, PassThru, Disable -->
<Codec>Disable</Codec>
<Bitrate>${SourceVideoBitrate}</Bitrate>
<Parameters>
</Parameters>
</Video>
<Audio>
<!-- AAC, PassThru, Disable -->
<Codec>AAC</Codec>
<Bitrate>64000</Bitrate>
<Parameters>
</Parameters>
</Audio>
<Properties>
</Properties
</Encode>
Any thoughts?