diff --git a/ansible/group_vars/recorders b/ansible/group_vars/recorders index 7b13ac4..b52bdeb 100644 --- a/ansible/group_vars/recorders +++ b/ansible/group_vars/recorders @@ -2,3 +2,7 @@ room_id: unknown +# Overwrite in inventory if cannot cope +record_profile: 1080p +# Overwrite in inventory if want to use more storage to use less CPU +record_fast: false diff --git a/ansible/roles/recorder/tasks/artwork.yml b/ansible/roles/recorder/tasks/artwork.yml index c33d729..c0dd4e2 100644 --- a/ansible/roles/recorder/tasks/artwork.yml +++ b/ansible/roles/recorder/tasks/artwork.yml @@ -2,16 +2,17 @@ - name: create artwork directory file: - dest: /opt/artwork + dest: "/opt/artwork/{{ event.id }}" state: directory + recurse: yes owner: root group: root mode: u=rwx,g=rx,o=rx - name: copy backgrounds copy: - src: ../../../artwork/{{ event.id }}/{{ item }}.png - dest: /opt/artwork/ + src: "../../../artwork/{{ event.id }}/{{ item }}.png" + dest: "/opt/artwork/{{ event.id }}" owner: root group: root mode: u=rw,g=r,o=r diff --git a/ansible/roles/recorder/tasks/main.yml b/ansible/roles/recorder/tasks/main.yml index 0634b60..6122515 100644 --- a/ansible/roles/recorder/tasks/main.yml +++ b/ansible/roles/recorder/tasks/main.yml @@ -3,3 +3,4 @@ - include: hostname.yml - include: packages.yml - include: artwork.yml +- include: obs.yml diff --git a/ansible/roles/recorder/tasks/obs.yml b/ansible/roles/recorder/tasks/obs.yml index 7ae59a5..fce52f4 100644 --- a/ansible/roles/recorder/tasks/obs.yml +++ b/ansible/roles/recorder/tasks/obs.yml @@ -5,14 +5,23 @@ dest: "{{ mixer_user.home }}/.config/obs-studio/{{ item }}" state: directory recurse: yes - owner: root - group: root + owner: mixer + group: mixer mode: u=rwx,g=rx,o=rx with_items: - basic/profiles/1080p - basic/profiles/720p - basic/scenes +- name: create videos directory + file: + dest: "{{ mixer_user.home }}/Videos/{{ event.id }}/{{ room_id }}" + state: directory + recurse: yes + owner: mixer + group: mixer + mode: u=rwx,g=rx,o=rx + - name: generate base obs configuration files template: src: "obs-studio/{{ item }}.j2" diff --git a/ansible/roles/recorder/tasks/user.yml b/ansible/roles/recorder/tasks/user.yml index 83bd15d..50d4658 100644 --- a/ansible/roles/recorder/tasks/user.yml +++ b/ansible/roles/recorder/tasks/user.yml @@ -46,6 +46,7 @@ - /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.shell favorite-apps "['obs.desktop', 'org.gnome.Nautilus.desktop', 'firefox.desktop']" - /usr/bin/gsettings set org.gnome.desktop.session idle-delay 0 become: yes become_user: mixer diff --git a/ansible/roles/recorder/templates/obs-studio/basic/profiles/1080p/basic.ini.j2 b/ansible/roles/recorder/templates/obs-studio/basic/profiles/1080p/basic.ini.j2 index c09d996..b4087cd 100644 --- a/ansible/roles/recorder/templates/obs-studio/basic/profiles/1080p/basic.ini.j2 +++ b/ansible/roles/recorder/templates/obs-studio/basic/profiles/1080p/basic.ini.j2 @@ -21,7 +21,12 @@ OBSBasic.Transition={\n "bindings": [\n {\n "key": "OBS_KEY [SimpleOutput] RecFormat=mkv RecQuality=Small +{% if record_fast %} RecEncoder=x264_lowcpu +{% else %} +RecEncoder=x264 +{% endif %} +FilePath={{ mixer_user.home }}/Videos/{{ event.id }}/{{ room_id }} [AdvOut] TrackIndex=1 diff --git a/ansible/roles/recorder/templates/obs-studio/basic/profiles/720p/basic.ini.j2 b/ansible/roles/recorder/templates/obs-studio/basic/profiles/720p/basic.ini.j2 index 9205fe2..e213f0b 100644 --- a/ansible/roles/recorder/templates/obs-studio/basic/profiles/720p/basic.ini.j2 +++ b/ansible/roles/recorder/templates/obs-studio/basic/profiles/720p/basic.ini.j2 @@ -21,7 +21,12 @@ OBSBasic.Transition={\n "bindings": [\n {\n "key": "OBS_KEY [SimpleOutput] RecFormat=mkv RecQuality=Small +{% if record_fast %} RecEncoder=x264_lowcpu +{% else %} +RecEncoder=x264 +{% endif %} +FilePath={{ mixer_user.home }}/Videos/{{ event.id }}/{{ room_id }} [AdvOut] TrackIndex=1 diff --git a/ansible/roles/recorder/templates/obs-studio/global.ini b/ansible/roles/recorder/templates/obs-studio/global.ini.j2 similarity index 100% rename from ansible/roles/recorder/templates/obs-studio/global.ini rename to ansible/roles/recorder/templates/obs-studio/global.ini.j2