diff --git a/README.md b/README.md index 3696138..6972d37 100644 --- a/README.md +++ b/README.md @@ -3,13 +3,6 @@ The FOSSASIA video recording setup -## TODO - -- [ ] Write video crew guide -- [ ] Call for and train video crew -- [ ] Performance tweaks in Linux -- [ ] Status, IO and CPU usage monitoring - ## Overview ## Installing Debian @@ -62,8 +55,13 @@ To specify the room for a specific host, do the following: ``` echo the_room_id > ~opentech/room_id echo teh_room_type > ~opentech/room_type +# Example for Event Hall 2-1: +echo EH2 > ~opentech/room_type +echo EH2-1 > ~opentech/room_id ``` +See the [Video Equipment Google Sheet](https://docs.google.com/spreadsheets/d/1XLckJRG4ng2NoOfqy-EKca2LJdfC-Z6zfE6Q3FqKoM0/edit?usp=sharing) for the specific IDs. + This step is optional. This and the following steps should be done for every change in room or setup of the laptop. ## Exporting Hosts diff --git a/ansible/event b/ansible/event index def0531..1a97206 100644 --- a/ansible/event +++ b/ansible/event @@ -1,3 +1,3 @@ [recorders] x220-01 ansible_host=fd11:f055:a514::2 ansible_user=opentech room_id= room_type= -x230-01 ansible_host=fd11:f055:a514::3 ansible_user=opentech room_id=testroom1 room_type=special +x230-01 ansible_host=fd11:f055:a514::3 ansible_user=opentech room_id=EH2-1 room_type=EH2 diff --git a/ansible/group_vars/recorders b/ansible/group_vars/recorders index ad2c0d9..90d733b 100644 --- a/ansible/group_vars/recorders +++ b/ansible/group_vars/recorders @@ -10,4 +10,7 @@ record_fast: false record_user: mixer record_home: /home/mixer +# Set to 2 to enable monitoring, 0 to disable +monitoring_type: 2 + autostart: true diff --git a/ansible/roles/productivity/tasks/packages.yml b/ansible/roles/productivity/tasks/packages.yml index 082b025..c2bde17 100644 --- a/ansible/roles/productivity/tasks/packages.yml +++ b/ansible/roles/productivity/tasks/packages.yml @@ -7,4 +7,5 @@ name: - neovim - emacs + - git diff --git a/ansible/roles/recorder/handlers/main.yml b/ansible/roles/recorder/handlers/main.yml new file mode 100644 index 0000000..84ef0f6 --- /dev/null +++ b/ansible/roles/recorder/handlers/main.yml @@ -0,0 +1,7 @@ +--- + +- name: restart systemd-logind + become: yes + service: + name: systemd-logind + state: restarted diff --git a/ansible/roles/recorder/tasks/hostname.yml b/ansible/roles/recorder/tasks/hostname.yml deleted file mode 100644 index a7a5034..0000000 --- a/ansible/roles/recorder/tasks/hostname.yml +++ /dev/null @@ -1,12 +0,0 @@ ---- - -- name: generate hosts file - become: yes - template: - src: etc-hosts.j2 - dest: /etc/hosts - -- name: set hostname to room_id - become: yes - hostname: - name: "room-{{ room_id }}" diff --git a/ansible/roles/recorder/tasks/main.yml b/ansible/roles/recorder/tasks/main.yml index eea10dc..261449f 100644 --- a/ansible/roles/recorder/tasks/main.yml +++ b/ansible/roles/recorder/tasks/main.yml @@ -1,6 +1,5 @@ --- - include: user.yml -#- include: hostname.yml - include: packages.yml - include: artwork.yml - include: obs.yml diff --git a/ansible/roles/recorder/tasks/packages.yml b/ansible/roles/recorder/tasks/packages.yml index 78b0a4b..1eb7bb2 100644 --- a/ansible/roles/recorder/tasks/packages.yml +++ b/ansible/roles/recorder/tasks/packages.yml @@ -1,12 +1,5 @@ --- -- name: install general packages - become: yes - apt: - state: latest - name: - - git - - name: install packages required to be a recorder become: yes apt: diff --git a/ansible/roles/recorder/tasks/user.yml b/ansible/roles/recorder/tasks/user.yml index d22ab53..ded8c2e 100644 --- a/ansible/roles/recorder/tasks/user.yml +++ b/ansible/roles/recorder/tasks/user.yml @@ -44,7 +44,7 @@ - /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-log-out false - /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 @@ -53,4 +53,26 @@ - /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" + #when: "'uint32 0' not in idle_delay_setting.stdout" + +# Credits: SuperQ, gerryd + +- name: prevent laptop from sleeping when lid is closed + become: yes + lineinfile: + dest: /etc/systemd/logind.conf + regexp: "^HandleLidSwitch" + line: "HandleLidSwitch=ignore" + state: present + notify: restart systemd-logind + when: autostart + +- name: allow laptop to sleep when lid is closed + become: yes + lineinfile: + dest: /etc/systemd/logind.conf + regexp: "^HandleLidSwitch" + line: "HandleLidSwitch=ignore" + state: absent + notify: restart systemd-logind + when: not autostart 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 dfa4ef6..38307a7 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,7 @@ OBSBasic.Transition={\n "bindings": [\n {\n "key": "OBS_KEY [SimpleOutput] RecFormat=mkv RecQuality=Stream -VBitrate=4000 +VBitrate=3000 UseAdvanced=true Preset=ultrafast {% if record_fast %} 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 d909f7f..83a739e 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,7 @@ OBSBasic.Transition={\n "bindings": [\n {\n "key": "OBS_KEY [SimpleOutput] RecFormat=mkv RecQuality=Stream -VBitrate=4000 +VBitrate=3000 UseAdvanced=true Preset=ultrafast {% if record_fast %} diff --git a/ansible/roles/recorder/templates/obs-studio/basic/scenes/event_id.json.j2 b/ansible/roles/recorder/templates/obs-studio/basic/scenes/event_id.json.j2 index bd5a2b0..95e6712 100644 --- a/ansible/roles/recorder/templates/obs-studio/basic/scenes/event_id.json.j2 +++ b/ansible/roles/recorder/templates/obs-studio/basic/scenes/event_id.json.j2 @@ -3,7 +3,11 @@ "deinterlace_field_order": 0, "deinterlace_mode": 0, "enabled": true, +{% if room_type == "EH2" %} + "flags": 2, +{% else %} "flags": 0, +{% endif %} "hotkeys": { "libobs.mute": [], "libobs.push-to-mute": [], @@ -12,7 +16,7 @@ }, "id": "pulse_input_capture", "mixers": 255, - "monitoring_type": 0, + "monitoring_type": {{ monitoring_type }}, "muted": false, "name": "Microphone", "private_settings": {}, @@ -21,7 +25,13 @@ "push-to-talk": false, "push-to-talk-delay": 0, "settings": { - "device_id": "alsa_input.usb-Creative_Labs_VF0470_Live__Cam_Notebook-01.analog-mono" +{% if room_type == "EH2" %} + "device_id": "alsa_input.usb-Burr-Brown_from_TI_USB_Audio_CODEC-00.analog-stereo" +{% elif room_type == "TR9" %} + "device_id": "alsa_input.pci-0000_00_1b.0.analog-stereo" +{% else %} + "device_id": "alsa_input.pci-0000_00_1b.0.analog-stereo" +{% endif %} }, "sync": 0, "volume": 1.0 @@ -39,7 +49,7 @@ }, "id": "pulse_input_capture", "mixers": 255, - "monitoring_type": 0, + "monitoring_type": {{ monitoring_type }}, "muted": false, "name": "Slides Audio", "private_settings": {}, @@ -48,7 +58,13 @@ "push-to-talk": false, "push-to-talk-delay": 0, "settings": { +{% if room_type == "EH2" %} "device_id": "alsa_input.usb-VXIS_Inc_ACASIS-02.analog-stereo" +{% elif room_type == "TR9" %} + "device_id": "alsa_input.usb-VXIS_Inc_ACASIS-02.analog-stereo" +{% else %} + "device_id": "alsa_input.usb-VXIS_Inc_ACASIS-02.analog-stereo" +{% endif %} }, "sync": 0, "volume": 1.0 @@ -66,7 +82,7 @@ }, "id": "pulse_input_capture", "mixers": 255, - "monitoring_type": 0, + "monitoring_type": {{ monitoring_type }}, "muted": true, "name": "Emergency Audio", "private_settings": {}, @@ -75,7 +91,13 @@ "push-to-talk": false, "push-to-talk-delay": 0, "settings": { +{% if room_type == "EH2" %} "device_id": "alsa_input.pci-0000_00_1b.0.analog-stereo" +{% elif room_type == "TR9" %} + "device_id": "alsa_input.usb-046d_HD_Pro_Webcam_C920_CEB3336F-02.analog-stereo" +{% else %} + "device_id": "alsa_input.usb-046d_HD_Pro_Webcam_C920_CEB3336F-02.analog-stereo" +{% endif %} }, "sync": 0, "volume": 1.0 @@ -861,7 +883,13 @@ "push-to-talk-delay": 0, "settings": { "buffering": true, +{% if room_type == "EH2" %} "device_id": "/dev/v4l/by-id/usb-VXIS_Inc_ACASIS-video-index0", +{% elif room_type == "TR9" %} + "device_id": "/dev/v4l/by-id/usb-VXIS_Inc_ACASIS-video-index0", +{% else %} + "device_id": "/dev/v4l/by-id/usb-VXIS_Inc_ACASIS-video-index0", +{% endif %} "framerate": 65566, "input": 0, "pixelformat": 842093913, @@ -937,7 +965,13 @@ "push-to-talk-delay": 0, "settings": { "buffering": true, - "device_id": "/dev/v4l/by-id/usb-Creative_Labs_VF0470_Live__Cam_Notebook-video-index0", +{% if room_type == "EH2" %} + "device_id": "/dev/video0", +{% elif room_type == "TR9" %} + "device_id": "/dev/v4l/by-id/usb-046d_HD_Pro_Webcam_C920_CEB3336F-video-index0", +{% else %} + "device_id": "/dev/v4l/by-id/usb-046d_HD_Pro_Webcam_C920_CEB3336F-video-index0", +{% endif %} "framerate": 65566, "input": 0, "pixelformat": 842093913,