From c12caaf9b1fa97c690d4f3241a9ff19321f24ca2 Mon Sep 17 00:00:00 2001
From: Michael Koscher <michael.koscher@aau.at>
Date: Mon, 11 May 2020 08:07:14 +0200
Subject: [PATCH] Change codec to H.264 and add information in chat

---
 chat.py   |  3 +++
 stream.py | 10 ++++++++--
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/chat.py b/chat.py
index e5ee705..ff6204c 100644
--- a/chat.py
+++ b/chat.py
@@ -60,6 +60,9 @@ def bbb_browser():
     element = EC.invisibility_of_element((By.CSS_SELECTOR, '.ReactModal__Overlay'))
     WebDriverWait(browser, selelnium_timeout).until(element)
 
+    browser.find_element_by_id('message-input').send_keys("Watcher can send messages to this meeting")
+    browser.find_elements_by_css_selector('[aria-label="Send message"]')[0].click()
+
     redis_r = redis.Redis(host=args.redis,charset="utf-8", decode_responses=True)
     redis_s = redis_r.pubsub()
     redis_s.psubscribe(**{args.channel:chat_handler})
diff --git a/stream.py b/stream.py
index 1bea469..5809697 100644
--- a/stream.py
+++ b/stream.py
@@ -58,10 +58,14 @@ def bbb_browser():
 
     element = EC.invisibility_of_element((By.CSS_SELECTOR, '.ReactModal__Overlay'))
     WebDriverWait(browser, selelnium_timeout).until(element)
+    browser.find_element_by_id('message-input').send_keys("This meeting will be stream to the following address: %s" % args.target)
+    browser.find_elements_by_css_selector('[aria-label="Send message"]')[0].click()
     browser.find_elements_by_id('chat-toggle-button')[0].click()
     browser.find_elements_by_css_selector('button[aria-label="Users and messages toggle"]')[0].click()
     browser.execute_script("document.querySelector('[aria-label=\"Users and messages toggle\"]').style.display='none';")
     browser.execute_script("document.querySelector('[aria-label=\"Options\"]').style.display='none';")
+    browser.execute_script("document.querySelector('[aria-label=\"Actions bar\"]').style.display='none';")
+    browser.execute_script("document.getElementById('container').setAttribute('style','margin-bottom:30px');")
 
 def get_join_url():
     minfo = bbb.get_meeting_info(args.id)
@@ -76,8 +80,10 @@ def watch():
         time.sleep(60)
 
 def stream():
-    logging.info('Starting Stream with cmd: ffmpeg -fflags +igndts -f x11grab -s 1920x1080 -r 24 -draw_mouse 0 -i :%d -f alsa -i pulse -ac 2 -preset ultrafaset -crf 0 -pix_fmt yuv420p -s 1920x1080 -c:a aac -b:a 160k -ar 44100 -threads 0 -f flv "%s"' % (122, args.target))
-    ffmpeg_stream = 'ffmpeg -fflags +igndts -f x11grab -s 1920x1080 -r 24 -draw_mouse 0 -i :%d -f alsa -i pulse -ac 2 -preset ultrafaset -pix_fmt yuv420p -s 1920x1080 -c:a aac -b:a 160k -ar 44100 -threads 0 -f flv "%s"' % (122, args.target)
+    audio_options = '-f alsa -i pulse -ac 2 -c:a aac -b:a 160k -ar 44100'
+    #video_options = ' -c:v libvpx-vp9 -b:v 2000k -crf 33 -quality realtime -speed 5'
+    video_options = '-c:v libx264 -vf format=yuv420p -b:v 4000k -g 50 -preset ultrafast -tune zerolatency'
+    ffmpeg_stream = 'ffmpeg -thread_queue_size 512 -f x11grab -draw_mouse 0 -s 1920x1080  -i :%d %s -threads 0 %s -f flv "%s"' % ( 122, audio_options, video_options, args.target)
     ffmpeg_args = shlex.split(ffmpeg_stream)
     p = subprocess.Popen(ffmpeg_args)
 
-- 
GitLab