From 5532aab31c7bae2e0e878a2196d48a8661d64170 Mon Sep 17 00:00:00 2001 From: rigaya Date: Sun, 3 Dec 2023 11:33:35 +0900 Subject: [PATCH] =?UTF-8?q?Update:=20[Server][LiveEncodingTask]=20HW=20?= =?UTF-8?q?=E3=82=A8=E3=83=B3=E3=82=B3=E3=83=BC=E3=83=80=E3=83=BC=E3=81=AE?= =?UTF-8?q?=E8=B5=B7=E5=8B=95=E3=82=92=E9=AB=98=E9=80=9F=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit それぞれ使用しない機能を無効化するオプションを指定することで、エンコーダの起動をわずかに高速化させる NVEnc 7.39 以降が必要、また QSVEnc 7.56 以降を推奨 --- server/app/streams/LiveEncodingTask.py | 6 ++++++ server/app/streams/VideoEncodingTask.py | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/server/app/streams/LiveEncodingTask.py b/server/app/streams/LiveEncodingTask.py index 1232309e..56aa0155 100644 --- a/server/app/streams/LiveEncodingTask.py +++ b/server/app/streams/LiveEncodingTask.py @@ -292,6 +292,12 @@ def buildHWEncCOptions(self, options.append(f'-m max_interleave_delta:{max_interleave_delta}K --output-thread 0 --lowlatency') ## その他の設定 options.append('--log-level debug') + ## QSVEncC と rkmppenc では OpenCL を使用しないので、無効化することで初期化フェーズを高速化する + if encoder_type == 'QSVEncC' or encoder_type == 'rkmppenc': + options.append('--disable-opencl') + ## NVEncC では NVML によるモニタリングを無効化することで初期化フェーズを高速化する + if encoder_type == 'NVEncC': + options.append('--disable-nvml 1') # 映像 ## コーデック diff --git a/server/app/streams/VideoEncodingTask.py b/server/app/streams/VideoEncodingTask.py index be2bd466..7b6de05a 100644 --- a/server/app/streams/VideoEncodingTask.py +++ b/server/app/streams/VideoEncodingTask.py @@ -220,6 +220,12 @@ def buildHWEncCOptions(self, ## 主に HWEncC の起動を高速化するための設定 options.append('-m avioflags:direct -m fflags:nobuffer+flush_packets -m flush_packets:1 -m max_delay:250000') options.append('-m max_interleave_delta:500K --output-thread 0 --lowlatency') + ## QSVEncC と rkmppenc では OpenCL を使用しないので、無効化することで初期化フェーズを高速化する + if encoder_type == 'QSVEncC' or encoder_type == 'rkmppenc': + options.append('--disable-opencl') + ## NVEncC では NVML によるモニタリングを無効化することで初期化フェーズを高速化する + if encoder_type == 'NVEncC': + options.append('--disable-nvml 1') # 映像 ## コーデック