parent
bfa8f9c3fc
commit
06deb1a82f
Binary file not shown.
After Width: | Height: | Size: 30 KiB |
Binary file not shown.
After Width: | Height: | Size: 24 KiB |
Binary file not shown.
After Width: | Height: | Size: 24 KiB |
Binary file not shown.
After Width: | Height: | Size: 24 KiB |
Binary file not shown.
After Width: | Height: | Size: 24 KiB |
|
@ -0,0 +1,6 @@
|
|||
[recorders:children]
|
||||
testgroup
|
||||
|
||||
[testgroup]
|
||||
#user@10.10.2.5 room_id=test
|
||||
ambrose@10.10.0.90 room_id=test
|
|
@ -0,0 +1,9 @@
|
|||
---
|
||||
|
||||
event:
|
||||
id: 2020.fossasia.org
|
||||
title: FOSSASIA Summit 2020
|
||||
|
||||
# Meta
|
||||
|
||||
ansible_python_interpreter: auto
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
|
||||
room_id: unknown
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
#!/bin/sh
|
||||
|
||||
ansible-playbook -Kbf 1 -i "$1" "$2"
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
- hosts: recorders
|
||||
roles:
|
||||
- role: recorder
|
||||
- role: monitoring-client
|
|
@ -0,0 +1,2 @@
|
|||
---
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
# MANAGED BY ANSIBLE
|
||||
|
||||
# GDM configuration storage
|
||||
#
|
||||
# See /usr/share/gdm/gdm.schemas for a list of available options.
|
||||
|
||||
[daemon]
|
||||
# Uncomment the line below to force the login screen to use Xorg
|
||||
#WaylandEnable=false
|
||||
|
||||
# Enabling automatic login
|
||||
AutomaticLoginEnable = true
|
||||
AutomaticLogin = mixer
|
||||
|
||||
# Enabling timed login
|
||||
# TimedLoginEnable = true
|
||||
# TimedLogin = user1
|
||||
# TimedLoginDelay = 10
|
||||
|
||||
[security]
|
||||
|
||||
[xdmcp]
|
||||
|
||||
[chooser]
|
||||
|
||||
[debug]
|
||||
# Uncomment the line below to turn on debugging
|
||||
# More verbose logs
|
||||
# Additionally lets the X server dump core if it crashes
|
||||
#Enable=true
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
---
|
||||
|
||||
- name: create artwork directory
|
||||
file:
|
||||
dest: /opt/artwork
|
||||
state: directory
|
||||
owner: root
|
||||
group: root
|
||||
mode: u=rwx,g=rx,o=rx
|
||||
|
||||
- name: copy backgrounds
|
||||
copy:
|
||||
src: ../../../artwork/{{ event.id }}/{{ item }}.png
|
||||
dest: /opt/artwork/
|
||||
owner: root
|
||||
group: root
|
||||
mode: u=rw,g=r,o=r
|
||||
with_items:
|
||||
- side-by-side
|
||||
- side-by-side-reverse
|
||||
- side-by-side-43
|
||||
- side-by-side-43-reverse
|
||||
- blank
|
|
@ -0,0 +1,10 @@
|
|||
---
|
||||
|
||||
- name: generate hosts file
|
||||
template:
|
||||
src: etc-hosts.j2
|
||||
dest: /etc/hosts
|
||||
|
||||
- name: set hostname to room_id
|
||||
hostname:
|
||||
name: "room-{{ room_id }}"
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
- include: user.yml
|
||||
- include: hostname.yml
|
||||
- include: packages.yml
|
||||
- include: artwork.yml
|
|
@ -0,0 +1,34 @@
|
|||
---
|
||||
|
||||
- name: create obs directory
|
||||
file:
|
||||
dest: "{{ mixer_user.home }}/.config/obs-studio/{{ item }}"
|
||||
state: directory
|
||||
recurse: yes
|
||||
owner: root
|
||||
group: root
|
||||
mode: u=rwx,g=rx,o=rx
|
||||
with_items:
|
||||
- basic/profiles/1080p
|
||||
- basic/profiles/720p
|
||||
- basic/scenes
|
||||
|
||||
- name: generate base obs configuration files
|
||||
template:
|
||||
src: "obs-studio/{{ item }}.j2"
|
||||
dest: "{{ mixer_user.home }}/.config/obs-studio/{{ item }}"
|
||||
owner: mixer
|
||||
group: mixer
|
||||
mode: u=rw,g=r,o=r
|
||||
with_items:
|
||||
- global.ini
|
||||
- basic/profiles/1080p/basic.ini
|
||||
- basic/profiles/720p/basic.ini
|
||||
|
||||
- name: generate event obs configuration files
|
||||
template:
|
||||
src: "obs-studio/basic/scenes/event_id.json.j2"
|
||||
dest: "{{ mixer_user.home }}/.config/obs-studio/basic/scenes/{{ event.id }}.json"
|
||||
owner: mixer
|
||||
group: mixer
|
||||
mode: u=rw,g=r,o=r
|
|
@ -0,0 +1,13 @@
|
|||
---
|
||||
|
||||
- name: install general packages
|
||||
apt:
|
||||
state: latest
|
||||
name:
|
||||
- git
|
||||
|
||||
- name: install packages required to be a recorder
|
||||
apt:
|
||||
state: latest
|
||||
name:
|
||||
- obs-studio
|
|
@ -0,0 +1,52 @@
|
|||
---
|
||||
|
||||
- name: create mixer group
|
||||
group:
|
||||
name: mixer
|
||||
|
||||
- name: create mixer user with password mixer
|
||||
user:
|
||||
name: mixer
|
||||
group: mixer
|
||||
comment: Mixer
|
||||
shell: /bin/bash
|
||||
password: $6$8tFX.bXNC4348gTR$8e33nlbdydXVvFZ0VmaN9Y7H5HjMduu1Z4Ofjh13PhRFGLJ6ojubsHh1SuLZSHWzWMeUxIPEyVX6VH.UaCZe8/
|
||||
register: mixer_user
|
||||
|
||||
- name: enable gdm autologin to mixer user
|
||||
copy:
|
||||
src: gdm.conf
|
||||
dest: /etc/gdm3/daemon.conf
|
||||
owner: root
|
||||
group: root
|
||||
mode: u=rw,g=r,o=r
|
||||
|
||||
- name: check sleep settings
|
||||
command:
|
||||
cmd: /usr/bin/gsettings get org.gnome.desktop.session idle-delay
|
||||
become: yes
|
||||
become_user: mixer
|
||||
register: idle_delay_setting
|
||||
changed_when: false
|
||||
|
||||
- name: prevent mixer from sleeping
|
||||
command:
|
||||
cmd: "{{ item }}"
|
||||
environment:
|
||||
# Required only when setting gsettings
|
||||
DBUS_SESSION_BUS_ADDRESS: "unix:path=/run/user/{{ mixer_user.uid }}/bus"
|
||||
with_items:
|
||||
- /usr/bin/gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type 'nothing'
|
||||
- /usr/bin/gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-type 'nothing'
|
||||
- /usr/bin/gsettings set org.gnome.settings-daemon.plugins.power idle-dim false
|
||||
- /usr/bin/gsettings set org.gnome.settings-daemon.plugins.power power-button-action 'nothing'
|
||||
- /usr/bin/gsettings set org.gnome.desktop.lockdown disable-lock-screen true
|
||||
- /usr/bin/gsettings set org.gnome.desktop.lockdown disable-log-out true
|
||||
- /usr/bin/gsettings set org.gnome.desktop.lockdown disable-printing true
|
||||
- /usr/bin/gsettings set org.gnome.desktop.lockdown disable-print-setup true
|
||||
- /usr/bin/gsettings set org.gnome.desktop.lockdown disable-save-to-disk true
|
||||
- /usr/bin/gsettings set org.gnome.desktop.interface gtk-theme 'Adwaita-dark'
|
||||
- /usr/bin/gsettings set org.gnome.desktop.session idle-delay 0
|
||||
become: yes
|
||||
become_user: mixer
|
||||
when: "'uint32 0' not in idle_delay_setting.stdout"
|
|
@ -0,0 +1,4 @@
|
|||
127.0.0.1 localhost room-{{ room_id }}
|
||||
::1 localhost ip6-localhost ip6-loopbac room-{{ room_id }}
|
||||
ff02::1 ip6-allnodes
|
||||
ff02::2 ip6-allrouters
|
|
@ -0,0 +1,33 @@
|
|||
[General]
|
||||
Name=1080p
|
||||
|
||||
[Video]
|
||||
BaseCX=1920
|
||||
BaseCY=1080
|
||||
OutputCX=1920
|
||||
OutputCY=1080
|
||||
|
||||
[Output]
|
||||
Mode=Simple
|
||||
|
||||
[Audio]
|
||||
SampleRate=48000
|
||||
|
||||
[Hotkeys]
|
||||
OBSBasic.StartRecording={\n "bindings": [\n {\n "control": true,\n "key": "OBS_KEY_RETURN"\n }\n ]\n}
|
||||
OBSBasic.StopRecording={\n "bindings": [\n {\n "control": true,\n "key": "OBS_KEY_BACKSPACE"\n }\n ]\n}
|
||||
OBSBasic.Transition={\n "bindings": [\n {\n "key": "OBS_KEY_RETURN"\n }\n ]\n}
|
||||
|
||||
[SimpleOutput]
|
||||
RecFormat=mkv
|
||||
RecQuality=Small
|
||||
RecEncoder=x264_lowcpu
|
||||
|
||||
[AdvOut]
|
||||
TrackIndex=1
|
||||
RecType=Standard
|
||||
RecTracks=1
|
||||
FFOutputToFile=true
|
||||
FFVEncoderId=0
|
||||
FFAEncoderId=0
|
||||
FFAudioTrack=1
|
|
@ -0,0 +1,33 @@
|
|||
[General]
|
||||
Name=720p
|
||||
|
||||
[Video]
|
||||
BaseCX=1920
|
||||
BaseCY=1080
|
||||
OutputCX=1280
|
||||
OutputCY=720
|
||||
|
||||
[Output]
|
||||
Mode=Simple
|
||||
|
||||
[Audio]
|
||||
SampleRate=48000
|
||||
|
||||
[Hotkeys]
|
||||
OBSBasic.StartRecording={\n "bindings": [\n {\n "control": true,\n "key": "OBS_KEY_RETURN"\n }\n ]\n}
|
||||
OBSBasic.StopRecording={\n "bindings": [\n {\n "control": true,\n "key": "OBS_KEY_BACKSPACE"\n }\n ]\n}
|
||||
OBSBasic.Transition={\n "bindings": [\n {\n "key": "OBS_KEY_RETURN"\n }\n ]\n}
|
||||
|
||||
[SimpleOutput]
|
||||
RecFormat=mkv
|
||||
RecQuality=Small
|
||||
RecEncoder=x264_lowcpu
|
||||
|
||||
[AdvOut]
|
||||
TrackIndex=1
|
||||
RecType=Standard
|
||||
RecTracks=1
|
||||
FFOutputToFile=true
|
||||
FFVEncoderId=0
|
||||
FFAEncoderId=0
|
||||
FFAudioTrack=1
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,27 @@
|
|||
[General]
|
||||
Pre19Defaults=false
|
||||
Pre21Defaults=false
|
||||
FirstRun=true
|
||||
LastVersion=352321538
|
||||
|
||||
[PropertiesWindow]
|
||||
cx=720
|
||||
cy=580
|
||||
|
||||
[BasicWindow]
|
||||
geometry=AdnQywACAAAAAABDAAAAGwAAA/8AAAL/AAAAWAAAAEYAAAOuAAACwgAAAAACAAAABAA=
|
||||
DockState=AAAA/wAAAAD9AAAAAQAAAAMAAAO9AAAA+/wBAAAABfsAAAAUAHMAYwBlAG4AZQBzAEQAbwBjAGsBAAAAAAAAANsAAACoAP////sAAAAWAHMAbwB1AHIAYwBlAHMARABvAGMAawEAAADhAAAA3AAAAKgA////+wAAABIAbQBpAHgAZQByAEQAbwBjAGsBAAABwwAAASoAAADkAP////sAAAAeAHQAcgBhAG4AcwBpAHQAaQBvAG4AcwBEAG8AYwBrAAAAAlgAAAC/AAAAggD////7AAAAGABjAG8AbgB0AHIAbwBsAHMARABvAGMAawEAAALzAAAAygAAAJsA////AAADvQAAAZkAAAAEAAAABAAAAAgAAAAI/AAAAAA=
|
||||
PreviewEnabled=true
|
||||
AlwaysOnTop=false
|
||||
SceneDuplicationMode=true
|
||||
SwapScenesMode=true
|
||||
EditPropertiesMode=false
|
||||
PreviewProgramMode=false
|
||||
DocksLocked=true
|
||||
ShowListboxToolbars=false
|
||||
|
||||
[Basic]
|
||||
SceneCollection={{ event.id }}
|
||||
SceneCollectionFile={{ event.id }}
|
||||
Profile={{ record_profile }}
|
||||
ProfileDir={{ record_profile }}
|
Loading…
Reference in New Issue