Pushing TS Files from HLD Intro Wowza

Hello

I have a project, in which I can receive an HLS stream from a broadcaster.

I get this HLS manually - I have created a program which polls the m3u8 from the broadcaster’s server, and when new chunks are available, the program download the .ts files using http.

On the Wowza side, I need to create a DVR stream, based on that HLS stream.

I configure an Wowza Application to “live”, and set-up the DVR settings as required.

Each .ts file is 10-seconds long, so naturally I get a new file every 10 seconds.

I tried a few techniques to push the .ts files to do that:

1:

I use ffmpeg in the middle, using command like this:

ffmpeg.exe -re -i tcp://127.0.0.1:1231?listen=1 -vcodec copy -acodec aac -b:a 128k -strict experimental -f flv -bsf:a aac_adtstoasc rtmp://localhost:1935/dvr/stream_hls

What it does, is listening to data on local tcp port, and copying it to a rtmp stream on wowza.

On my program’s side, each file that I download, I send it all to the tcp port.

This technique works, but it has 2 drawbacks: it needs ffmpeg in the middle, and I need to retranscode the audio, as it is not working without it.

2:

I use ffmpeg in the middle, similar to technique 1 using command like this:

ffmpeg.exe -re -i tcp://127.0.0.1:1231?listen=1 -c copy -f mpegts udp://127.0.0.1:10001?pkt_size=1316

I configure a rtp stream on the wowza server, which listens to udp port 10001.

What it does, is listening to data on local tcp port, and copying it to a mpegts using udp.

ffmpeg manage the breaking of the ts file to basic packets.

On my program’s side, each file that I download, I send it all to the tcp port.

This technique works, but it has 1 drawbacks: it needs ffmpeg in the middle, and it sometimes not working on the wowza side - the wowza not always manage to sync to ffmpeg.


So, I want to know what is the best option to send a complete .ts files to wowza for ingestion.

I did try manually break the ts file to basic packets, and send each packet to wowza directly using UDP.

But that didn’t work, as it seems that I need to send the packets as “real-time”, and not all the 10-seconds at once (This timing is handled by ffmpeg, using the -re argument).

So, I would like to know what is the best and recommended way to do that - sending a complete .ts file to wowza.

Do I need to manually manage to send that packets in real-time?

Doesn’t wowza has some sort of buffering capabilities, so it can convert the complete 10-seconds file to the correct timing?

thanks!

Hello there,

This is not possible with out of the box Wowza. Wowza will not accept TS chunks as an input source. There are ,I believe, some third party Wowza modules available (can not find them as I search Google) which will do this.

Maybe someone from support can shed a bit more light on this, or you may wish to post to the find a consultant forum and seek help there.

Good luck,

Salvadore