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.yml48
1 files changed, 30 insertions, 18 deletions
diff --git a/roles/stream/tasks/main.yml b/roles/stream/tasks/main.yml
index 7cabb6b..76febe0 100644
--- a/roles/stream/tasks/main.yml
+++ b/roles/stream/tasks/main.yml
@@ -8,6 +8,33 @@
template:
src: icecast.xml
dest: /etc/icecast2/icecast-emacsconf.xml
+- name: Create restream dir
+ file:
+ path: "{{ icecast_restream_dir }}"
+ owner: "{{ icecast_user }}"
+ state: directory
+- name: Debug
+ debug:
+ var: item.id
+ loop: "{{ emacsconf_tracks }}"
+- name: Copy the lowres restreaming shell script
+ template:
+ src: lowres.sh
+ dest: /usr/local/bin/{{ emacsconf_id }}-lowres-{{ item.id }}.sh
+ mode: 0755
+ loop: "{{ emacsconf_tracks }}"
+- name: Copy lowres on-connect
+ template:
+ src: on-connect
+ dest: /usr/local/bin/{{ emacsconf_id }}-lowres-{{ item.id }}-on-connect
+ mode: 0755
+ loop: "{{ emacsconf_tracks }}"
+- name: Copy lowres on-disconnect
+ template:
+ src: on-disconnect
+ dest: /usr/local/bin/{{ emacsconf_id }}-lowres-{{ item.id }}-on-disconnect
+ mode: 0755
+ loop: "{{ emacsconf_tracks }}"
- name: Set up init file
become: true
template:
@@ -22,36 +49,21 @@
mode: 0644
- name: Enable icecast
become: true
- sysvinit:
+ service:
name: emacsconf
- enabled: yes
state: started
+ enabled: yes
- name: Check if icecast is listening
wait_for:
port: "{{ icecast_port }}"
delay: 5
- timeout: 10
+ timeout: 20
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
- block:
- - debug:
- msg: ffmpeg -loglevel 32 -re -i {{ icecast_test }} -loop 1 -f webm -r 30 -ac 2 -cluster_size_limit 2M -cluster_time_limit 5100 -content_type video/webm -c:v libvpx -b:v 1M -crf 30 -g 125 -threads 4 -deadline realtime icecast://emacsconf:{{ icecast_emacsconf_password }}@live0.emacsconf.org:{{ icecast_port }}/emacsconf/{{ icecast_test_track|d("gen") }}.webm
- - local_action: shell ffmpeg -re -loglevel 32 -i {{ icecast_test }} -loop 1 -f webm -r 30 -ac 2 -cluster_size_limit 2M -cluster_time_limit 5100 -content_type video/webm -c:v libvpx -b:v 1M -crf 30 -g 125 -threads 4 -deadline realtime 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
- when: test is defined and test == 'mpv'
-- name: Test by streaming a test pattern
- tags: test-stream-pattern
- local_action: shell ffmpeg -loglevel 32 -f lavfi -i testsrc=duration=10:size=1280x720:rate=30 -f webm icecast://emacsconf:{{ icecast_emacsconf_password }}@live0.emacsconf.org:{{ icecast_port }}/emacsconf/{{ icecast_test_track|d("gen") }}.webm
- when: test is defined and test == 'pattern'
# - name: Set up restream script
# template:
# src: restream-yt.sh