Live alternative audio with SRT /mpeg-ts

I’m investigating live alternaive language audio with HLS using a custom medialist module. However I’m trying to figure out the workflow for ingest.

The documentation states it needs to ingest a udp mpeg-ts stream. I’m not sure yet how to achieve that with a software encoder yet like gstreamer for testing this. Its easy to probe a VOD file for these generated audio and video PID’s. But I’m confused how it’spossible to identify these tracks for ingest for a live encode ?

Seeing that it’s an mpeg-ts stream, would it be possible to select these PID tracks from an SRT encoder ingest also ?

Right now, I’m investigating the option of two rtmp encodes for the seperate audio also. Would this work ?

Is there anyway to demux audio tracks from an rtmp published stream ? Like the VOD module I suppose ? It seems mpeg-ts is unusuitable as an option as is somehow publishing two rtmp streams.

If I setup an mpeg-ts stream target for an RTMP stream back to the server host, would this be a possible hack to ingest to the multiple audio tracks ?

I’m investigating this option now, so publish with two audio tracks,but I would have no idea about PID’s. Mpeg-ts encoders are not easily accessible for end users, I can’t seem to find suitable software encoders for this setup either ?

I’m trying to find ways to publish multi channel mpeg-ts with software as a test also but no luck.

We’re not sure since @Daniel Rossi since we have not tested this workflow to the point we officially support it, but would be happy to take a closer look through a support ticket and test it out with you.

https://www.wowza.com/support/open-ticket

PID’s are being delivered over SRT mpeg-ts. I am trying to work on some tests. But trying to get UDP mpeg-ts working first which I’ve successfully done via OBS.

FYI there is already this suggestion for srt: /users/Daniel_Rossi

I was able to properly run a encoder test using ffmpeg as gstreamer has bugs. audio PID’s are sent with the mpegts

ffmpeg -fflags +genpts -re -i sintel_lang_2000k.mp4 -acodec copy -vcodec copy -map 0:v:0 -map 0:a:0 -map 0:a:2 -strict -2 -y -f mpegts ‘srt://192.168.4.43:8081?pkt_size=1316&mode=caller’

Audio languages can be ingested uring SRT, after the stream file is modified

{ uri : “srt://0.0.0.0:8081”, mpegtsVideoPID : “0”, mpegtsAudioPID : “258” }

My custom media list generates a rendition for the language stream file and the one with both video and default language audio.

Works like UDP mpegts.

It was working now nothing. Only one of the ports opens !

Did you make it work? I have the same issue … UDP port sharing not working with SRT. Restreaming the SRT via UDP to the same instance loses my additional 2nd and 3rd audio tracks.

I did.I ran a ffmpeg docker container on the WSE server to convert SRT to MPEG-TS UDP. FFMpeg handles the SRT negotiation, and you’ll create udp:// stream files in WSE. This is not possible with WSE alone at this time