Skip to content

Commit

Permalink
Update: [Server][LiveEncodingTask] HW エンコーダーの起動を高速化
Browse files Browse the repository at this point in the history
それぞれ使用しない機能を無効化するオプションを指定することで、エンコーダの起動をわずかに高速化させる
NVEnc 7.39 以降が必要、また QSVEnc 7.56 以降を推奨
  • Loading branch information
rigaya committed Dec 3, 2023
1 parent bf09647 commit 5532aab
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 0 deletions.
6 changes: 6 additions & 0 deletions server/app/streams/LiveEncodingTask.py
Original file line number Diff line number Diff line change
Expand Up @@ -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')

# 映像
## コーデック
Expand Down
6 changes: 6 additions & 0 deletions server/app/streams/VideoEncodingTask.py
Original file line number Diff line number Diff line change
Expand Up @@ -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')

# 映像
## コーデック
Expand Down

0 comments on commit 5532aab

Please sign in to comment.