summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSacha Chua <sacha@sachachua.com>2026-05-10 15:00:36 -0400
committerSacha Chua <sacha@sachachua.com>2026-05-10 15:00:36 -0400
commite3d3f14439c3b483ed01cde5ea56260e6da08bd6 (patch)
tree71f6af82feb0d906bcb58bf3bdfbc40b3407bc88
parentc212767a1fc866d526ab46d8288ae2825709fdc4 (diff)
downloademacsconf-ansible-e3d3f14439c3b483ed01cde5ea56260e6da08bd6.tar.xz
emacsconf-ansible-e3d3f14439c3b483ed01cde5ea56260e6da08bd6.zip
BigBlueButton setup
-rw-r--r--roles/bbb/tasks/main.yml10
-rw-r--r--roles/bbb/templates/video.yml81
2 files changed, 91 insertions, 0 deletions
diff --git a/roles/bbb/tasks/main.yml b/roles/bbb/tasks/main.yml
index 1a4b115..017e939 100644
--- a/roles/bbb/tasks/main.yml
+++ b/roles/bbb/tasks/main.yml
@@ -16,3 +16,13 @@
with_file:
- ../../base/files/keys/sachac
- ../../base/files/keys/orga
+- name: Set up video.yml
+ become: true
+ template:
+ src: video.yml
+ dest: /usr/local/bigbluebutton/core/scripts/video.yml
+- name: Set up bigbluebutton.yml
+ become: true
+ template:
+ src: bigbluebutton.yml
+ dest: /usr/local/bigbluebutton/core/scripts/bigbluebutton.yml
diff --git a/roles/bbb/templates/video.yml b/roles/bbb/templates/video.yml
new file mode 100644
index 0000000..461372b
--- /dev/null
+++ b/roles/bbb/templates/video.yml
@@ -0,0 +1,81 @@
+publish_dir: /var/bigbluebutton/published/video
+playback_dir: /usr/local/bigbluebutton/core/playback/video
+# offset applied to audio in the output video file
+# audio_offset = 1000 means that the audio will be delayed by 1000ms
+audio_offset: 0
+
+layout:
+ width: 1280
+ height: 720
+ framerate: 24
+ areas:
+ - name: presentation
+ x: 0
+ y: 0
+ width: 960
+ height: 720
+ - name: webcam
+ x: 960
+ y: 0
+ width: 320
+ height: 720
+ - name: deskshare
+ x: 0
+ y: 0
+ width: 960
+ height: 720
+ pad: true
+nopresentation_layout:
+ width: 1280
+ height: 720
+ framerate: 24
+ areas:
+ - name: webcam
+ x: 0
+ y: 0
+ width: 1280
+ height: 720
+nowebcam_layout:
+ width: 1280
+ height: 720
+ framerate: 24
+ areas:
+ - name: presentation
+ x: 0
+ y: 0
+ width: 1280
+ height: 720
+ - name: deskshare
+ x: 0
+ y: 0
+ width: 1280
+ height: 720
+ pad: true
+formats:
+ #- mimetype: 'video/mp4'
+ # extension: m4v
+ # parameters:
+ # - [ '-c:v', 'copy', # Use working format codec defined in core/lib/recordandplayback/edl/video.rb
+ # '-c:a', 'aac', '-b:a', '128K',
+ # '-f', 'mp4', '-movflags', 'faststart' ]
+ # postprocess: []
+ - mimetype: 'video/webm;codecs="vp09.00.41.08,opus"'
+ extension: webm
+ parameters:
+ # # Default single-pass encode
+ # #- [ '-c:v', 'libvpx-vp9', '-level', '4.1', '-b:v', '1800K', '-minrate', '900K', '-maxrate', '2610K',
+ # # '-crf', '31', '-quality', 'good', '-speed', '2', '-tile-columns', '2', '-threads', '2',
+ # # '-force_key_frames', 'expr:gte(t,n_forced*10)',
+ # # '-c:a', 'libopus', '-b:a', '64K',
+ # # '-f', 'webm' ]
+ # Slower but better quality two-pass encode
+ - [ '-c:v', 'libvpx-vp9', '-level', '4.1', '-b:v', '1800K', '-minrate', '900K', '-maxrate', '2610K',
+ '-crf', '31', '-quality', 'good', '-pass', '1', '-speed', '4', '-tile-columns', '2', '-threads', '2',
+ '-force_key_frames', 'expr:gte(t,n_forced*10)',
+ '-an',
+ '-f', 'webm' ]
+ - [ '-c:v', 'libvpx-vp9', '-level', '4.1', '-b:v', '1800K', '-minrate', '900K', '-maxrate', '2610K',
+ '-crf', '31', '-quality', 'good', '-pass', '2', '-speed', '2', '-tile-columns', '2', '-threads', '2',
+ '-force_key_frames', 'expr:gte(t,n_forced*10)',
+ '-c:a', 'libopus', '-b:a', '64K',
+ '-f', 'webm' ]