Live Stream Record audio codecs

I am supporting a video conference system that uses Wowza with a flash frontend. Currently it does correctly allow live streaming between flash clients, but we also want to be able to record streams.

We would like to both record video conference sessions and allow users to record themselves on their own webcams for playback later. We would prefer to use mp4 instead of flash. Currently the flash component outputs H.264 video and SPEEX audio. Unfortunately, Flash does not output AAC or MP3 (http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/media/SoundCodec.html).

I have configured a stream to use the StreamType live-record, and that stream is correctly recording the video files. Unfortunately, it does not appear to be recording any audio data. According to VLC there is a SPEEX audio stream in the mp4 file but there is no data in the stream. After burning MANY hours attempting to troubleshoot, I found the reason in the official documentation (https://www.wowza.com/resources/WowzaMediaServer_UsersGuide-3.6.4.pdf): “When publishing video, if the mp4: media type prefix is specified, then the content is recorded to an MP4 (QuickTime) container. Only H.264, AAC, and MP3 content can be recorded to an MP4 container.” So I had to look elsewhere.

The official users guide suggested an alternative method; HTTPLiveStreamRecord. Unfortunately, I’m finding a contradiction. In the online help (https://www.wowza.com/docs/how-to-record-live-streams-httplivestreamrecord#livestreamrecordaddon) it states that the supported audio codecs for mp4 are AAC, MP3, and SPEEX. That’s good. It’s also dated 2010. Unfortunately, in the readme for the example of that same page (https://www.wowza.com/downloads/forums/livestreamrecord/LiveStreamRecord_3.0.zip) it states “•Only H.264 video and either AAC or MP3 audio can be recorded to the MP4 format.”. Which is it? Can I record SPEEX audio or not? The MPEG-4 wikipedia page does not mention SPEEX so I’m leaning towards no.

Before I burn a bunch more time on the issue, has anyone else had any luck recording mp4 streams with audio and video from a Flash source? Is the only option to buy Transcoder licenses?

You can record a stream published by a Flash application to an .mp4 container if it is h.264 video and Speex audio. And it should record data too using Wowza Live Stream Record. The resultant .mp4 file will work with Flash RTMP and Flash HDS playback clients, and possibly VLC, but most other clients will not work. You would need to involve either the Wowza Transcoder (such as in this guide) or post process to transcode the Speex audio to AAC (or MP3 but preferably AAC).

Richard