133 lines
3.6 KiB
YAML
133 lines
3.6 KiB
YAML
---
|
|
|
|
- name: Video Capture - Luna Offload Vars
|
|
when: luna_offload | bool
|
|
set_fact:
|
|
mediamtx_remote_ffmpeg: "-f rtsp rtsp://172.20.20.60:8554/stream"
|
|
stream_preview_host: "172.20.20.60"
|
|
|
|
- name: Video Capture - server only Vars
|
|
when: server_deploy | bool
|
|
set_fact:
|
|
stream_preview_host: "172.20.20.60"
|
|
stream_control_host: "172.20.20.60"
|
|
|
|
- name: Video Capture - Local stream vars
|
|
when: remote_deploy | bool
|
|
set_fact:
|
|
mediamtx_local_ffmpeg: "-f rtsp rtsp://172.20.20.60:8554/stream"
|
|
|
|
- name: Video Capture - Remote stream vars
|
|
when: not remote_deploy | bool
|
|
set_fact:
|
|
mediamtx_local_ffmpeg: "-f rtsp rtsp://localhost:8554/stream"
|
|
|
|
- name: Video Capture - MediaMTX Only
|
|
when: MediaMTX_only | bool
|
|
block:
|
|
|
|
- name: include mediamtx task
|
|
include_tasks: mediamtx.yaml
|
|
- meta: end_play
|
|
|
|
- name: Video Capture - Kiosk Only
|
|
when: kiosk_refresh | bool
|
|
block:
|
|
|
|
- name: display initial kiosk_service_templates
|
|
debug:
|
|
msg: "{{ kiosk_service_templates }}"
|
|
|
|
- name: Run the chrome kiosk role when it's GUI time
|
|
include_role:
|
|
name: chrome_kiosk
|
|
when: GUI_deploy | bool
|
|
- meta: end_play
|
|
|
|
|
|
- name: Video Capture - Check arch if needed
|
|
when: refresh_special | bool
|
|
block:
|
|
|
|
- name: Video Capture - Check CPU Arch
|
|
shell: "dpkg --print-architecture"
|
|
register: cpu_architecture_output
|
|
|
|
- name: Video Capture - Set cpu_architecture variable
|
|
set_fact:
|
|
cpu_architecture: "{{ cpu_architecture_output.stdout_lines[0] }}"
|
|
|
|
# override GUI_deploy if unauthorized
|
|
# if non-1080p resolutions are needed
|
|
# chrome configs can be set here on a
|
|
# case-by-case basis
|
|
- name: Video Capture - get Product Name for x86
|
|
when: GUI_deploy | bool and not armcpu_check | bool
|
|
block:
|
|
|
|
- name: Video Capture - run product command
|
|
shell: "dmidecode | grep -A3 'System Info' | grep Product | cut -d: -f2 | cut -b2-"
|
|
register: prod_name_output
|
|
|
|
- name: Video Capture - show output
|
|
debug:
|
|
msg: "System Info: {{prod_name_output.stdout_lines[0] }}"
|
|
|
|
- name: Video Capture - Check for GUI-approved platform
|
|
ignore_errors: yes
|
|
set_fact:
|
|
GUI_deploy: "{{ prod_name_output.stdout_lines[0] in kiosk_models }}"
|
|
|
|
- name: Video Capture - get Product Name for arm
|
|
when: GUI_deploy | bool and armcpu_check | bool and not arm_device_found | bool
|
|
block:
|
|
|
|
- name: Video capture - arm check loop
|
|
loop: "{{ arm_gui_list }}"
|
|
loop_control:
|
|
loop_var: arm_gui_list_item
|
|
include_tasks: arm_gui_check.yaml
|
|
|
|
- name: Video Capture - Will we GUI?
|
|
debug:
|
|
msg: "GUI Deploy: {{ GUI_deploy }}"
|
|
|
|
- name: Video Capture - Run Once Block
|
|
when: not refresh_special | bool
|
|
block:
|
|
|
|
- name: Video Capture - Install Packages
|
|
apt:
|
|
name:
|
|
- "{{ streamer_packages_items }}"
|
|
state: present
|
|
loop: "{{ streamer_packages }}"
|
|
loop_control:
|
|
loop_var: streamer_packages_items
|
|
|
|
- name: Video Capture - Working Folder Handler
|
|
when: not remote_deploy | bool
|
|
include_tasks: working_folder.yaml
|
|
|
|
- name: Video Capture - Configure MediaMTX
|
|
when: not remote_deploy | bool
|
|
include_tasks: mediamtx.yaml
|
|
|
|
- name: Video Capture - Configure service control
|
|
when: not remote_deploy | bool
|
|
include_tasks: service_control.yaml
|
|
|
|
- name: Video Capture - Configure Streaming
|
|
when: not server_deploy | bool
|
|
include_tasks: streamer.yaml
|
|
|
|
- name: Video Capture - Configure Jellyfin
|
|
when: '"amd64" in cpu_architecture and jellyfin_deploy | bool and not remote_deploy | bool'
|
|
include_tasks: jellyfin.yaml
|
|
|
|
- name: Run the chrome kiosk role when it's GUI time
|
|
include_role:
|
|
name: chrome_kiosk
|
|
when: GUI_deploy | bool and not server_deploy | bool
|
|
|
|
... |