update audiometer

This commit is contained in:
L3D 2023-02-21 02:11:00 +01:00
parent ea75de4724
commit 821b7b518d
Signed by: l3d
GPG key ID: CD08445BFF4313D1
5 changed files with 27 additions and 7 deletions

View file

@ -2,18 +2,18 @@
- name: Make sure stream_input_url is set - name: Make sure stream_input_url is set
ansible.builtin.fail: ansible.builtin.fail:
msg: "Please define stream_input_url" msg: "Please define stream_input_url"
when: not stream_input_url | bool when: stream_input_url == false
- name: Make sure stream_name is set - name: Make sure stream_name is set
ansible.builtin.fail: ansible.builtin.fail:
msg: "Please define stream_name" msg: "Please define stream_name"
when: not stream_name | bool when: stream_name == false
- name: Create systemd service - name: Create systemd service
become: true become: true
ansible.builtin.template: ansible.builtin.template:
src: 'templates/audiometer.service.j2' src: 'templates/audiometer.service.j2'
dest: '/lib/systemd/system/audiometer.service.j2' dest: '/lib/systemd/system/audiometer.service'
mode: 0640 mode: 0640
owner: root owner: root
group: root group: root
@ -29,3 +29,4 @@
mode: 0655 mode: 0655
owner: video owner: video
group: video group: video
notify: Systemctl restart audiometer.service

View file

@ -1,15 +1,17 @@
{{ ansible_managed | comment }} {{ ansible_managed | comment }}
[Unit] [Unit]
Description=create audiometer for {{ inventory_hstname }} Description=create audiometer for {{ inventory_hostname }}
After=network.target After=network.target
[Service] [Service]
Type=simple Type=simple
Restart=always Restart=always
User=video User=video
ExecStart=/opt/audiometer.sh ExecStart=/bin/sh /opt/audiometer.sh
ExecReload=/bin/kill -HUP $MAINPID ExecReload=/bin/kill -HUP $MAINPID
StartLimitBurst=2
StartLimitInterval=8
[Install] [Install]
WantedBy=multi-user.target WantedBy=multi-user.target

View file

@ -1,6 +1,6 @@
#!/bin/sh #!/bin/sh
ffmpeg -listen 1 -i {{ stream_input_url }} \ ffmpeg -i {{ stream_input_url }} \
-nostats \ -nostats \
-loglevel repeat+level+info \ -loglevel repeat+level+info \
-filter_complex \ -filter_complex \
@ -8,7 +8,7 @@ ffmpeg -listen 1 -i {{ stream_input_url }} \
[full_mix]framerate=fps=25[out]; \ [full_mix]framerate=fps=25[out]; \
[orig_scaled]drawtext=fontfile=/srv/www/{{ inventory_hostname }}/opensans.ttf:text={{ stream_name }}:fontcolor=white:fontsize=100:box=1:boxcolor=black@0.5:boxborderw=5:x=(w-text_w)/2:y=(h-text_h)/1.5[preview_overlay];\ [orig_scaled]drawtext=fontfile=/srv/www/{{ inventory_hostname }}/opensans.ttf:text={{ stream_name }}:fontcolor=white:fontsize=100:box=1:boxcolor=black@0.5:boxborderw=5:x=(w-text_w)/2:y=(h-text_h)/1.5[preview_overlay];\
[0:a:0]ebur128=video=1:size=640x480:meter=9:target=-16:gauge=shortterm[native][native_a]; [native_a]anullsink; \ [0:a:0]ebur128=video=1:size=640x480:meter=9:target=-16:gauge=shortterm[native][native_a]; [native_a]anullsink; \
[native]drawtext=fontfile=/srv/www/{{ inventory_hostname }}/opensans.ttf:text=native:fontcolor=white:fontsize=60:box=1:boxcolor=black@0.5:boxborderw=5:x=(w-text_w)/2:y=(h-text_h)/1.5[native_overlay];\ [native]drawtext=fontfile=/srv/www/{{ inventory_hostname }}/opensans.ttf:text=audio:fontcolor=white:fontsize=60:box=1:boxcolor=black@0.5:boxborderw=5:x=(w-text_w)/2:y=(h-text_h)/1.5[native_overlay];\
[0:a:0]showvolume=r=50:w=640:h=60:b=0:ds=log:dm=1.0[native_vu]; \ [0:a:0]showvolume=r=50:w=640:h=60:b=0:ds=log:dm=1.0[native_vu]; \
[preview_overlay][native_vu][native_overlay]vstack=inputs=3[full_mix] " \ [preview_overlay][native_vu][native_overlay]vstack=inputs=3[full_mix] " \
-map "[out]" \ -map "[out]" \

View file

@ -0,0 +1,17 @@
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name test.winkekatze.tv;
include snippets/tls_parameters_{{ site.name }}.snippet.conf;
include snippets/tls_certificate_{{ site.name }}.snippet.conf;
include snippets/logging_{{ site.name }}.snippet.conf;
root /srv/www/test.winkekatze.tv;
location / {
charset utf-8;
try_files $uri $uri/ =404;
}
}