summaryrefslogtreecommitdiffstats
path: root/roles/stream/tasks/main.yml
diff options
context:
space:
mode:
Diffstat (limited to 'roles/stream/tasks/main.yml')
-rw-r--r--roles/stream/tasks/main.yml52
1 files changed, 52 insertions, 0 deletions
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