live stream with multiple audio language

You can do it with FFMPEG outside of Wowza – just combine separate video and audio streams into one new stream for each language you want:

Wowza multiple Live audio with video streaming.

You may also be able to use FFMPEG to combine your video stream and multiple audio streams into one single MPEG-TS stream, then just select different audio tracks for playback with different “.stream” files in Wowza (as described in wifisolution’s second link above). I have not tried this method, though. Instructions for FFMPEG as Wowza MPEG-TS encoder here:

Use FFmpeg to live stream with Wowza Streaming Engine

the latter solution works very well:

  1. ingest mpeg-ts over udp ==> to wowza

e.g. free solution is to use ffmpeg:

ffmpeg -i input -map 0:0 (encoding parameters for video) -map 0:1 (encoding parameters for audio) language=eng -map 0:2 language=fre (as many -map as audio tracks) -f mpegts udp://[server IP]:[port]?pkt_size=1316

  1. create stream files for each language specifying the video PID, audio PID or language, with URI: udp://localhost:[port]

The stream files can then be called by a player.

If the player loads a playlist with the streams, one can then select each language.

wowza has options for improving the udp (jitter buffer etc, search for tutorials for mpeg-ts among the articles).

We have devised another solution since we’re not interested in real time applications but rather on the reliability of the streams;

we encode with ffmpeg in tcp.

Then on the server we start an ffmpeg listener per:

ffmpeg -i tcp://[server IP]:[ingest port] -map 0:0 -vcodec copy -map 0:1 -acodec copy (etc for each audio channel) - mpegts udp://localhost:[port indicated in stream files on wowza, may differ from ingest port]?pkt_size=1316

The listener must be started before the encoder.

Since the tcp listener is on the same server as wowza, this minimizes packet loss.