NVENCを使用したFFMpegの最適な設定


25

私は私の使用していFFMPEGを私のGPU(の対応無しにNVENC H264のMP4、ファイルに私の衛星受信機からの変換ファイル(SD、MPEG2の.TS-ファイル)へ)

これは私が使用している行です

ffmpeg -i "e:\input.ts" -vcodec h264_nvenc -preset slow -level 4.1
       -qmin 10 -qmax 52 "e:\output.mp4"

しかし、品質は期待したほど良くありません。そして、私のシステムのフルパワーは使用されていません:

ここに画像の説明を入力してください

わずか11%のGPUと30%のCPU使用率。

質問:ファイルサイズを等しくして品質を改善し、Geforce GTX 1080の計算能力をより多く使用するために改善できる点はありますか?

私はいくつか見つかったパラメータから林正浩を変更することなく、-preset slowすでに最高品質のアプローチの権利をすべきですか?

回答:


36

エンコーダーのチューニングに関する大まかなガイドは次のとおりです。

基本から始めましょう。オプションの短い集中砲火は、目的と期待を理解せずに、予想されるアウトプットを突然改善するという結論に飛び込むのは不利です。

1.エンコーダーのオプションを理解することから始めます。

NVENCベースのエンコーダーの場合、各エンコーダーが使用するオプションの学習から始めます(Linuxを使用しているため、ここに貼り付ける前にxclipを使用してコーデックオプションをクリップボードにコピーします)。

(a)。H.264エンコーダーの場合:

ffmpeg -hide_banner -h encoder=h264_nvenc | xclip -sel clip

出力:

Encoder h264_nvenc [NVIDIA NVENC H.264 encoder]:
    General capabilities: delay 
    Threading capabilities: none
    Supported pixel formats: yuv420p nv12 p010le yuv444p yuv444p16le bgr0 rgb0 cuda
h264_nvenc AVOptions:
  -preset            <int>        E..V.... Set the encoding preset (from 0 to 11) (default medium)
     default                      E..V.... 
     slow                         E..V.... hq 2 passes
     medium                       E..V.... hq 1 pass
     fast                         E..V.... hp 1 pass
     hp                           E..V.... 
     hq                           E..V.... 
     bd                           E..V.... 
     ll                           E..V.... low latency
     llhq                         E..V.... low latency hq
     llhp                         E..V.... low latency hp
     lossless                     E..V.... 
     losslesshp                   E..V.... 
  -profile           <int>        E..V.... Set the encoding profile (from 0 to 3) (default main)
     baseline                     E..V.... 
     main                         E..V.... 
     high                         E..V.... 
     high444p                     E..V.... 
  -level             <int>        E..V.... Set the encoding level restriction (from 0 to 51) (default auto)
     auto                         E..V.... 
     1                            E..V.... 
     1.0                          E..V.... 
     1b                           E..V.... 
     1.0b                         E..V.... 
     1.1                          E..V.... 
     1.2                          E..V.... 
     1.3                          E..V.... 
     2                            E..V.... 
     2.0                          E..V.... 
     2.1                          E..V.... 
     2.2                          E..V.... 
     3                            E..V.... 
     3.0                          E..V.... 
     3.1                          E..V.... 
     3.2                          E..V.... 
     4                            E..V.... 
     4.0                          E..V.... 
     4.1                          E..V.... 
     4.2                          E..V.... 
     5                            E..V.... 
     5.0                          E..V.... 
     5.1                          E..V.... 
  -rc                <int>        E..V.... Override the preset rate-control (from -1 to INT_MAX) (default -1)
     constqp                      E..V.... Constant QP mode
     vbr                          E..V.... Variable bitrate mode
     cbr                          E..V.... Constant bitrate mode
     vbr_minqp                    E..V.... Variable bitrate mode with MinQP (deprecated)
     ll_2pass_quality              E..V.... Multi-pass optimized for image quality (deprecated)
     ll_2pass_size                E..V.... Multi-pass optimized for constant frame size (deprecated)
     vbr_2pass                    E..V.... Multi-pass variable bitrate mode (deprecated)
     cbr_ld_hq                    E..V.... Constant bitrate low delay high quality mode
     cbr_hq                       E..V.... Constant bitrate high quality mode
     vbr_hq                       E..V.... Variable bitrate high quality mode
  -rc-lookahead      <int>        E..V.... Number of frames to look ahead for rate-control (from 0 to INT_MAX) (default 0)
  -surfaces          <int>        E..V.... Number of concurrent surfaces (from 0 to 64) (default 0)
  -cbr               <boolean>    E..V.... Use cbr encoding mode (default false)
  -2pass             <boolean>    E..V.... Use 2pass encoding mode (default auto)
  -gpu               <int>        E..V.... Selects which NVENC capable GPU to use. First GPU is 0, second is 1, and so on. (from -2 to INT_MAX) (default any)
     any                          E..V.... Pick the first device available
     list                         E..V.... List the available devices
  -delay             <int>        E..V.... Delay frame output by the given amount of frames (from 0 to INT_MAX) (default INT_MAX)
  -no-scenecut       <boolean>    E..V.... When lookahead is enabled, set this to 1 to disable adaptive I-frame insertion at scene cuts (default false)
  -forced-idr        <boolean>    E..V.... If forcing keyframes, force them as IDR frames. (default false)
  -b_adapt           <boolean>    E..V.... When lookahead is enabled, set this to 0 to disable adaptive B-frame decision (default true)
  -spatial-aq        <boolean>    E..V.... set to 1 to enable Spatial AQ (default false)
  -temporal-aq       <boolean>    E..V.... set to 1 to enable Temporal AQ (default false)
  -zerolatency       <boolean>    E..V.... Set 1 to indicate zero latency operation (no reordering delay) (default false)
  -nonref_p          <boolean>    E..V.... Set this to 1 to enable automatic insertion of non-reference P-frames (default false)
  -strict_gop        <boolean>    E..V.... Set 1 to minimize GOP-to-GOP rate fluctuations (default false)
  -aq-strength       <int>        E..V.... When Spatial AQ is enabled, this field is used to specify AQ strength. AQ strength scale is from 1 (low) - 15 (aggressive) (from 1 to 15) (default 8)
  -cq                <float>      E..V.... Set target quality level (0 to 51, 0 means automatic) for constant quality mode in VBR rate control (from 0 to 51) (default 0)
  -aud               <boolean>    E..V.... Use access unit delimiters (default false)
  -bluray-compat     <boolean>    E..V.... Bluray compatibility workarounds (default false)
  -init_qpP          <int>        E..V.... Initial QP value for P frame (from -1 to 51) (default -1)
  -init_qpB          <int>        E..V.... Initial QP value for B frame (from -1 to 51) (default -1)
  -init_qpI          <int>        E..V.... Initial QP value for I frame (from -1 to 51) (default -1)
  -qp                <int>        E..V.... Constant quantization parameter rate control method (from -1 to 51) (default -1)
  -weighted_pred     <int>        E..V.... Set 1 to enable weighted prediction (from 0 to 1) (default 0)
  -coder             <int>        E..V.... Coder type (from -1 to 2) (default default)
     default                      E..V.... 
     auto                         E..V.... 
     cabac                        E..V.... 
     cavlc                        E..V.... 
     ac                           E..V.... 
     vlc                          E..V.... 

(b)。HEVC / H.265エンコーダーの場合:

ffmpeg -hide_banner -h encoder=hevc_nvenc | xclip -sel clip

出力:

Encoder hevc_nvenc [NVIDIA NVENC hevc encoder]:
    General capabilities: delay 
    Threading capabilities: none
    Supported pixel formats: yuv420p nv12 p010le yuv444p yuv444p16le bgr0 rgb0 cuda
hevc_nvenc AVOptions:
  -preset            <int>        E..V.... Set the encoding preset (from 0 to 11) (default medium)
     default                      E..V.... 
     slow                         E..V.... hq 2 passes
     medium                       E..V.... hq 1 pass
     fast                         E..V.... hp 1 pass
     hp                           E..V.... 
     hq                           E..V.... 
     bd                           E..V.... 
     ll                           E..V.... low latency
     llhq                         E..V.... low latency hq
     llhp                         E..V.... low latency hp
     lossless                     E..V.... lossless
     losslesshp                   E..V.... lossless hp
  -profile           <int>        E..V.... Set the encoding profile (from 0 to 4) (default main)
     main                         E..V.... 
     main10                       E..V.... 
     rext                         E..V.... 
  -level             <int>        E..V.... Set the encoding level restriction (from 0 to 186) (default auto)
     auto                         E..V.... 
     1                            E..V.... 
     1.0                          E..V.... 
     2                            E..V.... 
     2.0                          E..V.... 
     2.1                          E..V.... 
     3                            E..V.... 
     3.0                          E..V.... 
     3.1                          E..V.... 
     4                            E..V.... 
     4.0                          E..V.... 
     4.1                          E..V.... 
     5                            E..V.... 
     5.0                          E..V.... 
     5.1                          E..V.... 
     5.2                          E..V.... 
     6                            E..V.... 
     6.0                          E..V.... 
     6.1                          E..V.... 
     6.2                          E..V.... 
  -tier              <int>        E..V.... Set the encoding tier (from 0 to 1) (default main)
     main                         E..V.... 
     high                         E..V.... 
  -rc                <int>        E..V.... Override the preset rate-control (from -1 to INT_MAX) (default -1)
     constqp                      E..V.... Constant QP mode
     vbr                          E..V.... Variable bitrate mode
     cbr                          E..V.... Constant bitrate mode
     vbr_minqp                    E..V.... Variable bitrate mode with MinQP (deprecated)
     ll_2pass_quality              E..V.... Multi-pass optimized for image quality (deprecated)
     ll_2pass_size                E..V.... Multi-pass optimized for constant frame size (deprecated)
     vbr_2pass                    E..V.... Multi-pass variable bitrate mode (deprecated)
     cbr_ld_hq                    E..V.... Constant bitrate low delay high quality mode
     cbr_hq                       E..V.... Constant bitrate high quality mode
     vbr_hq                       E..V.... Variable bitrate high quality mode
  -rc-lookahead      <int>        E..V.... Number of frames to look ahead for rate-control (from 0 to INT_MAX) (default 0)
  -surfaces          <int>        E..V.... Number of concurrent surfaces (from 0 to 64) (default 0)
  -cbr               <boolean>    E..V.... Use cbr encoding mode (default false)
  -2pass             <boolean>    E..V.... Use 2pass encoding mode (default auto)
  -gpu               <int>        E..V.... Selects which NVENC capable GPU to use. First GPU is 0, second is 1, and so on. (from -2 to INT_MAX) (default any)
     any                          E..V.... Pick the first device available
     list                         E..V.... List the available devices
  -delay             <int>        E..V.... Delay frame output by the given amount of frames (from 0 to INT_MAX) (default INT_MAX)
  -no-scenecut       <boolean>    E..V.... When lookahead is enabled, set this to 1 to disable adaptive I-frame insertion at scene cuts (default false)
  -forced-idr        <boolean>    E..V.... If forcing keyframes, force them as IDR frames. (default false)
  -spatial_aq        <boolean>    E..V.... set to 1 to enable Spatial AQ (default false)
  -temporal_aq       <boolean>    E..V.... set to 1 to enable Temporal AQ (default false)
  -zerolatency       <boolean>    E..V.... Set 1 to indicate zero latency operation (no reordering delay) (default false)
  -nonref_p          <boolean>    E..V.... Set this to 1 to enable automatic insertion of non-reference P-frames (default false)
  -strict_gop        <boolean>    E..V.... Set 1 to minimize GOP-to-GOP rate fluctuations (default false)
  -aq-strength       <int>        E..V.... When Spatial AQ is enabled, this field is used to specify AQ strength. AQ strength scale is from 1 (low) - 15 (aggressive) (from 1 to 15) (default 8)
  -cq                <float>      E..V.... Set target quality level (0 to 51, 0 means automatic) for constant quality mode in VBR rate control (from 0 to 51) (default 0)
  -aud               <boolean>    E..V.... Use access unit delimiters (default false)
  -bluray-compat     <boolean>    E..V.... Bluray compatibility workarounds (default false)
  -init_qpP          <int>        E..V.... Initial QP value for P frame (from -1 to 51) (default -1)
  -init_qpB          <int>        E..V.... Initial QP value for B frame (from -1 to 51) (default -1)
  -init_qpI          <int>        E..V.... Initial QP value for I frame (from -1 to 51) (default -1)
  -qp                <int>        E..V.... Constant quantization parameter rate control method (from -1 to 51) (default -1)
  -weighted_pred     <int>        E..V.... Set 1 to enable weighted prediction (from 0 to 1) (default 0)

2.ハードウェアの制限を理解し、オプションを適用する前に、まず正しいデフォルトに固執します。

特にPascalでのHEVCエンコードの場合、NVENCで発生するハードウェアの制限については、この回答を参照しください。

FFmpegを備えた現在の世代のNVIDIAハードウェアで利用可能なハードウェアアクセラレーションインフラストラクチャについては、この回答を参照してください。

次に、その情報を使用して、次の手順に進みます。

3.構文は重要です。

FFmpegに引数を渡す順序は次のとおりです。

(a)。バイナリを呼び出します。

(b)。-loglevel入力を宣言する前に、FFmpegに引数を渡します(直接渡すなど)。

(c)。などのハードウェアアクセラレーションによるデコードを使用している場合はcuvid、ここで宣言し、必要な特定の引数を含めます。この時点で、デコーダーには予想される入力解像度、サポートされているコーデックなどの特定の制約があることを言及することが不可欠です。この段階ではエンコードが失敗し、回復できません。実際、MPV開発者はこれを繰り返し言及していますが、ミッションクリティカルなコンテンツ配信のためにハードウェアアクセラレーションによるデコードに依存しないでください。

(d)。入力を宣言します。ストリームの場合、URLを使用し、必要に応じて、必要に応じて追加のフラグ(バッファーサイズなど)を追加します。ローカルリソース(アクセス可能なファイルシステム上)の場合、絶対ファイルパスが必要です。

(e)。オプションで、フィルターを挿入します。これは、サイズ変更、ピクセル形式の会話、インターレース解除などの機能に必要です。ここで使用しているフィルターによっては、ハードウェアベースのデコーダー(セクション(c)で説明したように、フィルターが処理できない場合、エンコードは失敗します。

(f)。適切なビデオとオーディオエンコーダを呼び出し、それはビットレートに来るときなど、マッピング、ビットレート、エンコーダのプリセットとして、それらに必要な引数を渡し、自分の所望の値が経由して設定されていることを確認-b:v-maxrate:vおよび-bufsize:vオプション。これらを空白のままにしないでください。これは、これらの値が重要な理由の良い出発点です。いつものように、プリセットを指定することから始めます。下にスクロールして、この特定のエンコーダーによるプリセットのパフォーマンスへの影響に関する注意事項を確認してください。

(g)。FFmpegは出力ファイルの選択された拡張子に応じてファイルの必要な出力形式を推測できますが、必要に応じて追加のオプションを基になるマルチプレクサに渡すことができるように、出力形式を明示的に宣言することをお勧めします(-fオプションを使用) 、HLS、mpegts、DASHなどのストリーミング形式でよくあることです。

(h)。出力ファイルへの絶対パス。

上記の例では、次のように引用されています。

ffmpeg -i "e:\input.ts" -vcodec h264_nvenc -preset slow -level 4.1
       -qmin 10 -qmax 52 "e:\output.mp4"

適切なビットレートを指定して(-b:v-maxrate:vおよび-bufsize:v設定を使用)、適応量子化エンコーディング技術(空間および時間AQメソッドがサポートされ、一度に1つしか使用できません)を有効にし、オプションで(および個別に)出力品質を上げることができます以下に示すように、重み付き予測を有効にする(Bフレームのサポートを無効にする)だけでなく、必要に応じて適切なダウンスケールとサイズ変更のためのオプションのフィルターも有効にします。以下の例は、mpeg2でエンコードされたmpegts入力を処理するスニペットを示しています。

ffmpeg -loglevel debug -threads 4 -hwaccel cuvid -c:v mpeg2_cuvid -i "e:\input.ts" \
-filter:v hwupload_cuda,scale_npp=w=1920:h=1080:interp_algo=lanczos \
-c:v h264_nvenc -b:v 4M -maxrate:v 5M -bufsize:v 8M -profile:v main \
-level:v 4.1 -rc:v vbr_hq -rc-lookahead:v 32 \
-spatial_aq:v 1 -aq-strength:v 15 -coder:v cabac \
-f mp4 "e:\output.mp4"

警告:重み付き予測(-weighted_pred)は、適応量子化と同時に有効にできないことに注意してください。そうしようとすると、エンコーダーの初期化に失敗します。

上記のスニペットは、入力ファイルがMPEG2ストリームであることを前提としています。そうでない場合は、分析後に正しいCUVIDデコーダーに切り替えます。

ffprobe -i e:\input.ts

H.264 / AVCの場合、以下に示すようにスニペットを変更します。

ffmpeg -loglevel debug -threads 4 -hwaccel cuvid -c:v h264_cuvid -i "e:\input.ts" \
-filter:v hwupload_cuda,scale_npp=w=1920:h=1080:interp_algo=lanczos \
-c:v h264_nvenc -b:v 4M -maxrate:v 5M -bufsize:v 8M -profile:v main \
-level:v 4.1 -rc:v vbr_hq -rc-lookahead:v 32 -spatial_aq:v 1 \
-aq-strength:v 15 -coder:v cabac \
-f mp4 "e:\output.mp4"

NVENCの適応量子化または重み付き予測オプションのいずれかを有効にすると、特に特定のデバイスドライバーの組み合わせで、安定性に問題が生じる可能性があることに気付きました。可能な場合-refs:vは、AQと加重予測を切り替える代わりに、16 フレーム程度に設定された汎用オプションと組み合わせてBフレーム(3つ以下)を使用することを検討してください。

ffmpeg -loglevel debug -threads 4 -hwaccel cuvid -c:v h264_cuvid -i "e:\input.ts" \
-filter:v hwupload_cuda,scale_npp=w=1920:h=1080:interp_algo=lanczos \
-c:v h264_nvenc -b:v 4M -maxrate:v 5M -bufsize:v 8M -profile:v main \
-level:v 4.1 -rc:v vbr_hq -rc-lookahead:v 32 -refs:v 16 \
-bf:v 3 -coder:v cabac \
-f mp4 "e:\output.mp4"

チューリング、具体的に、あなたはまた、(トグルを参照して以下のように参照のためにBフレームを可能にするから利益を得ることができます-b_ref_mode:v middle)

ffmpeg -loglevel debug -threads 4 -hwaccel cuvid -c:v h264_cuvid -i "e:\input.ts" \
-filter:v hwupload_cuda,scale_npp=w=1920:h=1080:interp_algo=lanczos \
-c:v h264_nvenc -b:v 4M -maxrate:v 5M -bufsize:v 8M -profile:v main \
-level:v 4.1 -rc:v vbr_hq -rc-lookahead:v 32 -refs:v 16 \
-bf:v 3 -coder:v cabac -b_ref_mode:v middle \
-f mp4 "e:\output.mp4"

スレッド数に関する追加のメモ(-threadsオプションを介してffmpegに渡されます):

特定のしきい値を超えるエンコーダスレッドが増えると、レイテンシが増加し、エンコードメモリのフットプリントが大きくなります。エンコード遅延の増加により、固定ビットレートモードおよびVBV(ビデオバッファ検証)と呼ばれるほぼ一定のビットレートモードでスレッド数が増えると、品質の低下がより顕著になります。キーフレームには、低品質のキーフレームのパルスを避けるために、他のフレームタイプよりも多くのデータが必要です。

ゼロ遅延またはスライススレッドモードには遅延はありませんが、このオプションはサポートされているエンコーダーのマルチスレッド品質をさらに悪化させます。

そのため、認識されるエンコーダのスループットが長期的にもたらす利点を相殺するため、レイテンシが問題となるエンコードのスレッド数を制限するのが賢明です。

また、Windowsを使用しているため、\上記のコマンドをテストするUnixボックスからこれを書いているので、上記のシェルエスケープを削除することもできます。

プリセットおよびインターレースエンコーディングの考慮事項によるパフォーマンスへの影響に関する注意事項:

高スループット、低レイテンシパフォーマンスを実現するには、いずれかllhpまたはllhqプリセットを使用していることを確認してください。これは、さまざまなデバイスとの幅広い互換性が期待されるライブストリーミングなどのワークロードに最も役立ちます。したがって、Bフレームなどのパフォーマンスを損なう機能を完全に省略して、より高いビットレート間の適切なトレードオフを実現できます。使用とスループット。より高いプリセット(デフォルトなどmedium)を使用すると、エンコーダのスループットが大幅に低下すると同時に、品質出力のリターン急速に低下しますNetflixのVMAFの品質測定値llhpllhq測定値 は実質的に無視できますが、前者によるエンコーダのパフォーマンスの向上(テストベッドで〜30%以上)は間違いなく十分です。

llhpおよびllhqプリセット、および使用中の他のプリセットについては-rc:v、エンコーダオプションで公開されている引数を渡すことで、組み込みのレート制御メソッドをオーバーライドすることもできます。たとえば、固定ビットレートエンコーディングでは、-rc:v cbrcbr_ld_hqレート制御方式よりも大幅に高速で、スループットが20%増加します)を指定できます。選択たプリセットはスループット最も大きな影響を与え、その後、必要に応じてオプションでオーバーライドできるプリセットオプション(使用中のレート制御方法など)が影響することに注意しください。

エンコードワークフローを検討し、必要に応じて調整します。マイレージは、ソースコンテンツ、使用中のフィルターチェーン、特定のpltform構成変数(GPUやドライバーバージョンなど)などに基づいて、明らかに異なります。

同じように、NVIDIAは、古いVolta NVENCエンコーダーを使用する1660Tiラインでも、Turingのインターレースエンコーディングをすべての層で明示的に無効にしていることに注意してください。インターレースエンコーディングのサポートが必要な場合は、代わりにPascalまたは古いSKUに切り替えてください。


1
大作!長い間ハードウェアエンコーディングを使用してきましたが、CPUエンコーディングよりもこれを推奨しますか、それとも品質/ファイルサイズのデメリットはまだ大きいですか。私はNVENCとNVENC HQで行われてきた多くの改良がデフォルトx264のに比べて同等の品質でなければなりませんがある意味
博士カタツムリ

@ Dr.Snailまず、ワークフローの要件を判断し、ハードウェアベースのエンコードソリューションに切り替える前にすべての要因を考慮することをお勧めします。たとえば、NVENCは、他のSIPベースのエンコーディングソリューションと同様に、ソフトウェアベースの実装に比べて高い電力効率で常に劇的に高速なパフォーマンスをもたらしますが、他のすべての要因は一定です。これに、期待どおりに品質のトレードオフに速度を適用し、サポートされていない機能を検討します。たとえば、NVENCでは、HDR情報を直接挿入することはできず、そのために外部ツールを使用する必要があります。
林正浩

このようなツール:github.com/SK-Hardwired/nv_hevc_hdr_patcher
林正浩

あなたは、選択したscale_npp=w=1920:h=1080フィルタはGPUの右から最も利益を得る一つのことですので?もう一つは、によってビットレートをlimitatingすると-b:v 1000k -minrate 500k -maxrate 3000k、出力サイズがより予測可能にするように思われる
博士カタツムリ

はい、@ Dr.Snail。予測可能なファイルサイズが優先されます。
林正浩

3

nvencを使用した私の経験では、希望するビットレートを指定する必要があります-デフォルトはVBRで、これは問題ありませんが、チューニングの量に関係なく、常に2Mの平均ビットレートを提供したいという事実を補いますフィードする解像度ファイル。エンコーダーの欠陥のようです。それは他のすべての点で予想通りに機能しますが、(たとえば)-b:v 4M720pファイルまたは-b:v 8M1080pが必要です。必要に応じて、これらを少し下げることもできます。


1

オーディオ用のLibvorbisは遅いようです。ac3を使用すると、速度が15%以上向上します。

ビデオドライバーに問題があると言われている、またはffmpegの古いコピーを使用している。qクリップがありませんが、PVRからSD tsファイルを取得し、設定を使用しました。

GTX750(非TI)(安い方)で700fps(設定)を取得しました

925fpsを取得しました(ac3オーディオの設定)

私が行うことができる他の推奨事項は次のとおりです。

qmaxを約23に変更します。


このコマンドで400FPSで見つけた古いGTX 760でこれをテストしました。AC3でffmpeg40\bin\ffmpeg -hwaccel cuvid -c:v mpeg2_cuvid -i "E:\input.ts" -c:v h264_nvenc "E:\output.mp4"コードを追加してくださいi.stack.imgur.com/CNaWM.png
Dr. Snail

これはコマンドラインで機能するはずです。-c:v h264_nvenc -c:a ac3の横に追加します。2つのセッションをプッシュすることもできます。2番目のコマンドラインを開き、別の.tsを同時にエンコードします。。私のようなあなたは「あなたの速度と品質をポンプアップするために行うことができる何かがあるかどうかを確認するためにあなたの.TSファイルのテスト1に幸せをdとした場合
ドン・ジョヴァンニ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.