From 799c815bd682480344795c401186647939b32648 Mon Sep 17 00:00:00 2001 From: Janne Mareike Koschinski <mail@justjanne.de> Date: Thu, 23 Jan 2025 22:19:50 +0100 Subject: [PATCH] Configure dedicated GPU for recording/streaming --- scripts/recording-sink.sh | 17 ++++++++++++++--- scripts/streaming-sink.sh | 6 +++--- services/voctomix2-recording-sink.service | 1 + services/voctomix2-streaming-sink.service | 1 + 4 files changed, 19 insertions(+), 6 deletions(-) diff --git a/scripts/recording-sink.sh b/scripts/recording-sink.sh index a46bf26..1b07b5a 100755 --- a/scripts/recording-sink.sh +++ b/scripts/recording-sink.sh @@ -1,12 +1,23 @@ #!/bin/sh -set echo "[INFO] Recording to /storage/capture/${EVENT}/${ROOM} started…" +mkdir -p "/storage/capture/${EVENT}" + ffmpeg -y -nostdin -hide_banner -re \ + -init_hw_device vaapi=vaapi0:/dev/dri/renderD129 \ + -hwaccel vaapi \ + -hwaccel_output_format vaapi \ -thread_queue_size 512 -i tcp://localhost:11000?timeout=3000000 \ - -map 0:v -c:v:0 mpeg2video -pix_fmt:v:0 yuv420p -qscale:v:0 4 -qmin:v:0 4 -qmax:v:0 4 -keyint_min:v:0 5 -bf:v:0 0 -g:v:0 5 -me_method:v:0 dia -metadata:s:v:0 title="HD" \ - -map 0:a:0 -c:a s302m -metadata:s:a:0 title="Native" \ + -filter_hw_device vaapi0 \ + -filter_complex "[0:v]format=nv12,hwupload[hd];" \ + -c:v h264_vaapi \ + -flags +cgop -aspect 16:9 \ + -r:v:0 60 -g:v:0 180 \ + -map "[hd]" \ + -metadata:s:v:0 title="HD" \ + -map "0:a:0" -metadata:s:a:0 title="native" \ + -c:a s302m \ -strict -2 \ -flags +global_header \ -f segment \ diff --git a/scripts/streaming-sink.sh b/scripts/streaming-sink.sh index b36008b..6567741 100755 --- a/scripts/streaming-sink.sh +++ b/scripts/streaming-sink.sh @@ -15,15 +15,15 @@ else fi ffmpeg -y -nostdin -hide_banner -re \ - -init_hw_device vaapi=vaapi0:/dev/dri/renderD128 \ + -init_hw_device vaapi=vaapi0:/dev/dri/renderD129 \ -hwaccel vaapi \ -hwaccel_output_format vaapi \ -thread_queue_size 512 -i tcp://localhost:15000?timeout=3000000 \ -filter_hw_device vaapi0 \ - -filter_complex "[0:v]hqdn3d,format=nv12,hwupload[hd];" \ + -filter_complex "[0:v]format=nv12,hwupload[hd];" \ -c:v h264_vaapi \ -flags +cgop -aspect 16:9 \ - -r:v:0 30 -g:v:0 90 -crf:v:0 21 -maxrate:v:0 6M -bufsize:v:0 24M \ + -r:v:0 30 -g:v:0 60 -b:v 6M -maxrate:v:0 8M \ -c:a aac -b:a 192k -ar 48000 \ -map "[hd]" \ -metadata:s:v:0 title="HD" \ diff --git a/services/voctomix2-recording-sink.service b/services/voctomix2-recording-sink.service index a727de2..e916dcc 100644 --- a/services/voctomix2-recording-sink.service +++ b/services/voctomix2-recording-sink.service @@ -15,3 +15,4 @@ StartLimitInterval=0 [Install] WantedBy=voctomix2-voctocore.service + diff --git a/services/voctomix2-streaming-sink.service b/services/voctomix2-streaming-sink.service index 0302b48..7dc0331 100644 --- a/services/voctomix2-streaming-sink.service +++ b/services/voctomix2-streaming-sink.service @@ -15,3 +15,4 @@ StartLimitInterval=0 [Install] WantedBy=voctomix2-voctocore.service + -- GitLab