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