From ab7943f6a790c3fa26165f1acc8d7cff592d1968 Mon Sep 17 00:00:00 2001 From: j Date: Thu, 14 Oct 2021 14:47:15 +0100 Subject: [PATCH] HLS streaming option --- youtube.py | 36 ++++++++++++++++++++++++++---------- 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/youtube.py b/youtube.py index 3b565aa..fb978df 100755 --- a/youtube.py +++ b/youtube.py @@ -3,8 +3,10 @@ import os import json import subprocess + config = { - 'RTMP_URL': "rtmp://a.rtmp.youtube.com/live2", + 'RTMP_URL': 'rtmp://a.rtmp.youtube.com/live2/{STREAM_KEY}', + 'HLS_URL': 'https://a.upload.youtube.com/http_upload_hls?cid=${STREAM_KEY}©=0&file=live.m3u8', 'SRC': 'rtsp://192.168.1.64:554/Streaming/channels/103', 'STREAM_KEY': 'not-set' } @@ -14,19 +16,33 @@ with open('youtube.json') as fd: cmd = [ 'ffmpeg', '-hide_banner', + '-threads', '4', '-i', config['SRC'], '-f', 'lavfi', '-i', 'anullsrc=channel_layout=stereo:sample_rate=44100', '-map', '0:v', '-map', '1:a', - '-codec:a', 'libmp3lame', - '-threads', '4', - '-b:a', '11025', - '-bufsize', '1024k', - '-fflags', '+genpts', - '-c:v', 'copy', - '-f', 'flv', - '-reconnect', '1', - '{RTMP_URL}/{STREAM_KEY}'.format(**config) ] +if config.get('HLS'): + cmd += [ + '-codec:a', 'aac', + '-b:a', '44100', + '-bufsize', '1024k', + '-c:v', 'copy', + '-f', 'hls', '-method', 'PUT', '-hls_time', '2', '-hls_list_size', '4', + '-reconnect', '1', + config['HLS_URL'].format(**config) + ] +else: + cmd += [ + '-codec:a', 'libmp3lame', + '-threads', '4', + '-b:a', '11025', + '-bufsize', '1024k', + '-fflags', '+genpts', + '-c:v', 'copy', + '-f', 'flv', + '-reconnect', '1', + config['RTMP_URL'].format(**config) + ] subprocess.check_output(cmd)