City Council to YouTube

Thanks to qntmpkts on GitHub for the initial confirmation this is possible to take a HLS stream (m3u8) and send it to YouTube:

Also check out ffmpeg’s documenation page on this:

ffmpeg -re -i protocol://domain.tld/stream.m3u8 -c:v copy -c:a aac -ar 44100 -ab 128k -ac 2 -strict -2 -flags +global_header -bsf:a aac_adtstoasc -bufsize 3000k -f mp4 "rtmp://<STREAMNAME/KEY>"

Calgary City Council Stream

Current Link: (The 12 in the URL can change as there are multiple servers)

This link can be found most easily by going to and then looking at the network tab in your browser to find the m3u8 URL it’s hitting.

Codec Details

HLS H264 (Main), yuv420p, 1080p AAC 48hz

ffmpeg -re -i -c:v copy -c:a aac -ar 44100 -ab 128k -ac 2 -strict -2 -flags +global_header -bufsize 3000k -f flv "rtmp://"

Test to local file

ffmpeg -re -i -c:v copy -c:a aac -ar 44100 -ab 128k -ac 2 -strict -2 -flags +global_header -bsf:a aac_adtstoasc -bufsize 3000k -f mp4 test30seconds.mp4

Test local file to YouTube

ffmpeg -re -i test30seconds.mp4 -c:v copy -c:a copy -strict -2 -flags +global_header -bufsize 3000k -f flv "rtmp://"

Notes from trying this

Other options

Other folks recommend using OBS to take the input and send to YouTube and then have more control over the stream.