From 21b051177dc5897d239e6532f5f245a32f7dfb36 Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Thu, 20 Oct 2022 14:52:23 -0400 Subject: Starting point for icecast config --- roles/stream/tasks/main.yml | 52 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 roles/stream/tasks/main.yml (limited to 'roles/stream/tasks/main.yml') diff --git a/roles/stream/tasks/main.yml b/roles/stream/tasks/main.yml new file mode 100644 index 0000000..73040d6 --- /dev/null +++ b/roles/stream/tasks/main.yml @@ -0,0 +1,52 @@ +- name: Install Icecast + become: true + package: + name: icecast2 + state: present +- name: Set up config + become: true + template: + src: icecast.xml + dest: /etc/icecast2/icecast-emacsconf.xml +- name: Set up init file + become: true + template: + src: icecast-emacsconf.init.d + dest: /etc/init.d/emacsconf + mode: 0755 +- name: Set up nginx config + become: true + template: + src: emacsconf.nginx.conf + dest: /etc/nginx/emacsconf.nginx.conf + mode: 0644 +- name: Enable icecast + become: true + sysvinit: + name: emacsconf + enabled: yes + state: started +- name: Check if icecast is listening + wait_for: + port: "{{ icecast_port }}" + delay: 5 + timeout: 10 + msg: "Timeout waiting for {{ icecast_port }} to respond" + register: port_check + ignore_errors: yes +- name: Try to restart icecast if not started + service: name=emacsconf state=started enabled=yes + when: port_check.failed == true +- name: Test by streaming from a file + tags: test-stream-file, never + local_action: shell ffmpeg -loglevel 32 -i {{ icecast_test }} -cluster_size_limit 2M -cluster_time_limit 5100 -content_type video/webm -c:v libvpx -b:v 1M -crf 30 -g 125 -deadline good -threads 4 -f webm icecast://emacsconf:{{ icecast_emacsconf_password }}@live0.emacsconf.org:{{ icecast_port }}/emacsconf/{{ icecast_test_track|d("gen") }}.webm + when: icecast_test is defined +- name: Test by displaying the stream in mpv + tags: test-stream-mpv, never + local_action: shell mpv http://live0.emacsconf.org:{{ icecast_port }}/emacsconf/{{ icecast_test_track|d(gen) }}.webm +# - name: Set up restream script +# template: +# src: restream-yt.sh +# dest: /home/orga/restream-yt.sh +# owner: orga +# mode: 0755 -- cgit v1.2.3