Wowza Community

WIll WSE or WSC support HLS YouTube live ingest API?

We are keen to take advantage of the HLS ingest offered by YouTube live.
Basic concept here - https://support.google.com/youtube/answer/10349430?hl=en-GB
Dev workflow here - https://developers.google.com/youtube/v3/live/guides/hls-ingestion

Will Wowza be officially supporting it on WSE, WSC or even Clearcaster?

Hi Scott, I asked engineering about it and we haven’t yet tested this. But, they’re going to take a look at it and see what may need to be done on the Wowza side. We’ll speak with our contacts at You Tube and when I have an answer, I’ll be sure to post in here with an update. Thanks…

Any update on this? We are planning to take advantage as well. Please let us know if there is any plan to support Youtube HLS.
Thank you

Hello @Subhash_Balam1 thank you for asking for an update. This is what I have from the Wowza engineers:

Two options:

A. You can do it with ffmpeg acting as the encoder - can get a little tricky, but if you really want to push a WSE HLS stream to YouTube then this works.

ffmpeg -hide_banner -re -i http://localhost:1935/live/myStream/playlist.m3u8 -c copy -hls_time 2 -hls_list_size 4 -http_persistent 1 -method POST 'https://a.upload.youtube.com/http_upload_hls?cid={stream-key}&copy=0&file=master.m3u8

B. We do provide an example HLS stream target (both as a file and HTTP destination) though it’s really aimed at developers for now. We tried it though and it did work.

https://github.com/WowzaMediaSystems/wse-example-pushpublish-hls


We do provide a compiled example module in the repo, so customers just need to follow the steps in the README and then add the following as a stream target in conf/[app-name]/PushPublishMap.txt (this example for a stream called myStream)


myStream={"entryName":"myStream-http", "sendSSL":"true", "profile":"cupertino-http", "streamName":"", "destinationName":"webserver", "host":" a.upload.youtube.com/http_upload_hls?cid={stream-key}&copy=0&file= ", "http.path":""}

One caveat is that this isn’t manageable via the Engine Manager - it won’t show in stream targets, and you need to do all editing via the applicable conf file.

Hope this helps and we’d added it as a feature request for Engine manager. That’s not going to be an option for a good long while though since we have other features currently in the the pipeline at the top of the list for 2021. But, if we can get to it sooner we will and I’ll alert you.