From bff9ceae7f42723f939f620f9ef9faebca966742 Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Sat, 29 Oct 2022 07:32:19 -0400 Subject: stream testing --- README.org | 18 ++++++++++++------ roles/stream/tasks/test.yml | 16 ++++++++++++++++ 2 files changed, 28 insertions(+), 6 deletions(-) create mode 100644 roles/stream/tasks/test.yml diff --git a/README.org b/README.org index d5df01d..b4f6a13 100644 --- a/README.org +++ b/README.org @@ -22,7 +22,7 @@ Goal: - [X] Add SSH key - [X] Add as remote - [X] Push to the wiki -- [ ] Have the changes show up automatically +- [X] Have the changes show up automatically - [X] Have ansible copy the SSH key file:/docker:emacsconf-front:/home/ikiwiki/emacsconf.setup @@ -144,20 +144,26 @@ ansible-playbook -i inventory.yml prod-playbook.yml --tags proxy --extra-vars='{ /ssh:media|sudo:upload@media:~upload /ssh:media|sudo::/etc/nginx/sites-available * Stream - +** Prod Setting up icecast: ansible-playbook -i inventory.yml prod-playbook.yml --tags stream -Test with a file: -ansible-playbook -i inventory.yml prod-playbook.yml --tags test-stream-file -e icecast_test=~/code/emacsconf-2021-emacs-news-highlights/full.webm -e icecast_test_track=dev + +** Testing + +Runs the ffmpeg command on res + +ansible-playbook -i inventory.yml prod-playbook.yml --tags test -e icecast_test_file=/home/orga/test.webm -e icecast_test=file -e icecast_test_track=dev Play the stream with MPV: -ansible-playbook -i inventory.yml prod-playbook.yml --tags test-stream-mpv -e icecast_test_track=dev -e test=mpv +ansible-playbook -i inventory.yml prod-playbook.yml --tags test -e icecast_test_track=dev -e icecast_test=mpv + +Use a test pattern (don't know if this works) -ansible-playbook -i inventory.yml prod-playbook.yml --tags test-stream-pattern -e icecast_test_track=dev -e test=pattern +ansible-playbook -i inventory.yml prod-playbook.yml --tags test -e icecast_test_track=dev -e icecast_test=pattern * Captioning Set up whisper diff --git a/roles/stream/tasks/test.yml b/roles/stream/tasks/test.yml new file mode 100644 index 0000000..6968b69 --- /dev/null +++ b/roles/stream/tasks/test.yml @@ -0,0 +1,16 @@ +- name: Test by streaming from a file + tags: test-stream-file + block: + - debug: + msg: ffmpeg -loglevel 32 -re -i {{ icecast_test_file }} -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://{{ icecast_emacsconf_user }}:{{ icecast_emacsconf_password }}@{{ icecast_hostname }}:{{ icecast_port }}/emacsconf/{{ icecast_test_track|d("gen") }}.webm + - name: Run ffmpeg on res + shell: ffmpeg -re -loglevel 32 -i {{ icecast_test_file }} -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://{{ icecast_emacsconf_user }}:{{ icecast_emacsconf_password }}@{{ icecast_hostname }}:{{ icecast_port }}/emacsconf/{{ icecast_test_track|d("gen") }}.webm + when: icecast_test is defined and icecast_test == 'file' +- name: Test by displaying the stream in mpv + tags: test-stream-mpv, never + local_action: shell mpv http://{{ icecast_hostname }}:{{ icecast_port }}/{{ emacsconf_id }}/{{ icecast_test_track|d("gen") }}.webm + when: icecast_test is defined and icecast_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://{{ icecast_emacsconf_user }}:{{ icecast_emacsconf_password }}@{{ icecast_hostname }}:{{ icecast_port }}/emacsconf/{{ icecast_test_track|d("gen") }}.webm + when: icecast_test is defined and icecast_test == 'pattern' -- cgit v1.2.3