--- - 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 ...