X



【NVENC/VCE】ハードウェアエンコーダーを語るスレ【QSV】

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@編集中 (ワッチョイ 4381-Xflc)
垢版 |
2018/08/08(水) 04:44:09.82ID:NnYmcXUx0
ソフトウェアエンコーダーに画質は劣るものの、エンコード完了までの処理速度が爆速なハードウェアエンコーダーを語りましょう

●Intel
https://software.intel.com/en-us/media-sdk
https://en.wikipedia.org/wiki/Intel_Quick_Sync_Video

●NVIDIA
https://developer.nvidia.com/nvidia-video-codec-sdk
・エンコード: https://en.wikipedia.org/wiki/Nvidia_NVENC
・デコード: https://en.wikipedia.org/wiki/Nvidia_PureVideo

●AMD
https://github.com/GPUOpen-LibrariesAndSDKs/AMF
・エンコード: https://en.wikipedia.org/wiki/Video_Coding_Engine
・デコード: https://en.wikipedia.org/wiki/Unified_Video_Decoder
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
0750名無しさん@編集中 (ワッチョイ eb63-G1wx)
垢版 |
2019/01/23(水) 07:03:00.98ID:cnxrGIU00
NVENC最強伝説
0755名無しさん@編集中 (アウアウクー MM9d-juPH)
垢版 |
2019/01/23(水) 11:16:50.52ID:DR4xb6qnM
Pascal1枚持ってるなら買い足しはどうなのかな?
今はまだNVIDIAのSDKもTuringに対応して間もないし、大手のソフトですらRTXに最適化されていないよね
自分はBフレーム対応含む環境が整ってミドルレンジの製品が揃う年末ぐらいに動き出すかな
0765名無しさん@編集中 (ワッチョイ 3146-wD8z)
垢版 |
2019/01/24(木) 00:08:50.35ID:1WIN0nwm0
>>764
それはそうだろうね
ただ現状扱うソースが大きくてもフルHDまでなんで今はいいかなって思ってる
上で報告が上がってるファイルサイズの小ささは魅力だね
0770名無しさん@編集中 (ワッチョイ 81e7-uJAn)
垢版 |
2019/01/24(木) 17:22:33.38ID:gqyytZo80
>>767-769
1060が積んでるNVENCは1つ、1070が積んでるNVENCは2つ。
ともに同時エンコできるのは2つまで。(Max # of concurrent sessions)
 https://developer.nvidia.com/video-encode-decode-gpu-support-matrix

NVENCを2つ積んでる1070では2つ同時エンコしても基本的に速度低下は起きないはず。
NVENCを1つしか積んでいない1060では2つ同時エンコすると速度低下が起きるはず。

ただし、これはNVENCのスペックをフルに活用する場合の話であって
その他の処理(デコードやフィルタ等)にボトルネックがあるなどしてNVENCをフル活用できていない場合は別。

>>769のケースは多分NVENCをフル活用していないものと思われる。
0774名無しさん@編集中 (ワッチョイ 2e63-wD8z)
垢版 |
2019/01/25(金) 12:40:27.04ID:cTFwIz4P0
Windows10のゲームDVRがハードウェアエンコーダーなんだが
H.265でキャプれるようにならんかなー(今現在はH.264のみ)
0776名無しさん@編集中 (ワッチョイWW e95f-G4pD)
垢版 |
2019/01/26(土) 05:32:46.72ID:QPrm9ydz0
GTX16x0は、GTX1060のGDDR5X版みたいにGP104の使い回しじゃないかと思うけども
単純にGTX1070/TiのGDDR5X版がGTX1660/Tiとかね
そんで一部デベロッパーで出してたGTX1060 GDDR5Xと同じか、CUDACore微増させたのがGTX1650みたいな感じな気がする
0777名無しさん@編集中 (ワッチョイ 46ca-GiBE)
垢版 |
2019/02/07(木) 20:13:54.76ID:ErW8DH7e0
Linux kaby lakeなpentiumでh264_vaapiでBSプレミアムの動画をトランスコードしているのですが、
-qpと -maxrateって同時に使えないんですかね?
-qp 34と言う高めの数字でも瞬間的に11mbpsを超えたりするので、 -maxrate 8M(とあとbuffsizeの指定)
と書いたのですが、効果がありませんでした。
0778777 (ワッチョイ 46ca-GiBE)
垢版 |
2019/02/07(木) 21:17:01.88ID:ErW8DH7e0
書き忘れましたが、エンコーダはffmpeg 4.1(h264_vaapi)です。
それにしてもh264_vaapiだとx264と違って-crf値の設定がほぼ無意味で-qp値しか
クオリティベースのエンコードができないようですが、仕様
0780777 (ワッチョイ 46ca-GiBE)
垢版 |
2019/02/08(金) 06:11:58.28ID:m2RBeXnR0
-c:v h264_vaapi -qp 34 -g 50 -me_range 16 -i_qfactor 0.714286 -mbd 2 -trellis 2 -bf 4 -b_strategy 2 -bidir_refine 1

失礼、普段のオプションはこんな感じです。これに=maxrate 8M -bufsize 3M と書いても瞬間的に8mbpsを超えるので、質問させていただいた次第です。
0783777 (ワッチョイ 46ca-GiBE)
垢版 |
2019/02/08(金) 08:45:06.53ID:m2RBeXnR0
>>782
本来なら-crfを使いたいのですが、x264と違ってh264_vaapiではうまく使えないようなので(非常に高いビットレートがでる)、-qpを使っています。
VBR(ABR)だとドキュメンタリーのインタビューのシーンなどのビットレートを落とせるところでもあまり落としてくれないので
ビットレートの無駄遣いのようであまり使いたくありません。
-qpと-crfを比較したサイト(どこにあったか失念。英語のサイトです)を見たところ、ビットレートのグラフはほぼ同じようにqp値、crf値が上がるごとに
減っていったのでほぼ同じ効果があると思って使っているのですが、x264のcrf値のようないい方法ありますか?
0785777 (ワッチョイ 46ca-GiBE)
垢版 |
2019/02/08(金) 09:45:34.37ID:m2RBeXnR0
https://trac.ffmpeg.org/wiki/Hardware/VAAPI
申し訳ない、ここになにかも書いてありました。


Mapping options from libx264

No CRF-like mode is currently supported. The only constant-quality mode is CQP (constant quantisation parameter), which has no
adaptivity to scene content. It does, however, allow different quality settings for different frame types, to improve compression by
spending fewer bits on unreferenced B-frames - see the (i|b)_q(factor|offset) options. CQP mode cannot be combined with a maximum
bitrate or buffer size.


CRFもないし、maxrateとcqp(qp)値との併用もできないようです。
0788785 (ワッチョイ 7eca-GiBE)
垢版 |
2019/02/09(土) 10:38:42.13ID:Q9mleCh80
>>786-787
レスありがとうございます。使ってるディストリがdebian testingなので、Intel Media SDKを入れるのがまず大変のようなので
いろいろ調べながらやってみます。(rigaya氏のページにあった情報は参考になりましたが、ちょっと古いようです)
ただqsvにしちゃうと、現状だとVP9エンコができなくなるのが痛いですね。
0790名無しさん@編集中 (ワッチョイ 8de7-OF6d)
垢版 |
2019/02/10(日) 17:04:25.55ID:/y8PkD8C0
>>684のNVENC処理改善が入った OBS 23.0 RC1 がリリースされた。

・Win7ではNVENCの新実装は使えない。

・負荷を抑えリソースへの影響を軽減する。

・Psycho-visual Tuningの実装。体感画質を上げるためにビットレートの最適化を行う。
 GPU負荷は上がるけど、動きの激しい場面などで有効。

・Look-aheadの実装。動的Bフレームを有効にする。
 オフだと常時「最大Bフレーム数」の数のBフレームを使う。
 オンだとBフレーム数を必要なだけに抑えることで、画質の向上を狙えるが、GPU負荷は上がる。

---

関連

 Release OBS Studio 23.0 Release Candidate 1
 https://github.com/obsproject/obs-studio/releases/tag/23.0.0-rc1

 NVENC Performance Improvements (Release Candidate)
 https://obsproject.com/forum/threads/nvenc-performance-improvements-release-candidate.98950/

 OBS Studio 23.0 Release Candidate
 https://obsproject.com/forum/threads/obs-studio-23-0-release-candidate.100204/
0793名無しさん@編集中 (ワッチョイ 6e8e-gf/b)
垢版 |
2019/02/12(火) 06:11:23.08ID:MPZ19riM0
このスレ的にはRTX20系以降ならそういう認識で問題ない気がするが、GTX10系以前やQSVはH.264のほうがましな場合もある。
ビットレート次第だけど。
0801名無しさん@編集中 (ワッチョイ 2d2f-OF6d)
垢版 |
2019/02/12(火) 13:53:40.73ID:QJHeNYZ10
中古でいいならマイニング用途落ちのRX570/RX470とかがコスパ良さそう
https://akiba-pc.watch.impress.co.jp/docs/wakiba/find/1165171.html
一昨年くらいにVCEよりQSVのほうが画質も速度もいいようなことをどこかで見かけて
CPUが対応してれば買う意味ないなと思ったけど
今探してみてもVCEとQSVのちょうどいい比較が見つからなかった
0802名無しさん@編集中 (ワッチョイ 523e-ZFeD)
垢版 |
2019/02/12(火) 14:14:04.99ID:oqCs5DFf0
>>801
skylakeのQSVから2400GのVCEに乗り換えた感想です
aviutlを利用してH.264で大体同じサイズにした場合
画質:VCEの方がすこしいいかな
速度:インタレ解除なしなら同等、インタレ解除するならVCEはハード対応してないのでQSVの勝ち
0804名無しさん@編集中 (ワッチョイ 2290-/WZR)
垢版 |
2019/02/12(火) 15:18:17.76ID:nhPnwNvh0
>>796
H.265のメリット
同じ動画でも容量が少ない(H.264の三分の二〜半分ぐらいになる)
H.264よりビットレート少なくなるが画質は同等
NASやHDDに保存する場合も容量の圧迫が少なくてすむ

H.265のデメリット
エンコードに非常に時間がかかる
再生環境に何アリ
再生可能な端末がやプレイヤーは限られTVなどで見る場合は特に利用機器に制限多い
PCなどでVLC利用の場合などでもグラボのドライバー相性が出る場合がまだある
Androidだとほぼ問題なく近年iPhoneなどApple製品でもVLCなど使えば安定してる
0805796 (ワッチョイ 6e63-OF6d)
垢版 |
2019/02/12(火) 15:26:42.13ID:TaovfXes0
>>804
ああ神様!ありがとうございます!
私にも、大変わかりやすいご説明頂き感謝です!
本当に勉強になります!
0807名無しさん@編集中 (ワッチョイ 8de7-OF6d)
垢版 |
2019/02/12(火) 15:59:35.15ID:aWs0QX+90
What's new in Video Codec SDK 9.0: (Video_Codec_SDK_9.0.18)
----------------------------------
In NVIDIA Video Codec SDK release 9.0, following features have been added:

Encode Features::
1. Improved encoded quality for Turing GPUs
2. HEVC B-frame support (Turing GPUs only)
3. Encoded output in video memory
4. H.264 ME only mode output in video memory.
5. Non-reference P frames
6. Support for accepting CUArray as input

Decode Features::
1. HEVC YUV 444 decoding (Turing GPUs only)
2. Multiple NVDEC engines(Turing GPUs only)
0808名無しさん@編集中 (ワッチョイ 8de7-OF6d)
垢版 |
2019/02/12(火) 16:01:38.89ID:aWs0QX+90
>>807

SDK9での新機能
 NVENC: http://2sen.dip.jp/cgi-bin/upgun/up2/source/up3522.jpg
 NVDEC: http://2sen.dip.jp/cgi-bin/upgun/up2/source/up3523.jpg

ハードウェア毎の機能
 NVENC: http://2sen.dip.jp/cgi-bin/upgun/up2/source/up3524.jpg
 NVDEC: http://2sen.dip.jp/cgi-bin/upgun/up2/source/up3525.jpg

パフォーマンス
 NVENC: http://2sen.dip.jp/cgi-bin/upgun/up2/source/up3526.jpg
 NVDEC: http://2sen.dip.jp/cgi-bin/upgun/up2/source/up3527.jpg
0809名無しさん@編集中 (ワッチョイ 8de7-OF6d)
垢版 |
2019/02/12(火) 16:09:39.63ID:aWs0QX+90
>>807-808

・H.264 field encoding がTuringでサポートされないことがさりげなく明示された。

・TuringでのH.264/H.265の品質改善の要因は、RDOや複数フレーム参照といった機能サポートによるものらしい。
 (HEVCについてはBフレーム機能追加もだけど。)

---
 Improved encoded quality for Turing GPUs
  Turing hardware adds support for features like rate distortion optimization (RDO) and enable multiple frames to be used as reference.
  These features significantly improve the encoding quality for both H.264 and HEVC.
  These features are tied with the already existing presets.
  This ensures that existing applications can take advantage of these features without making changes to their source code.
---
0810名無しさん@編集中 (ワッチョイ 8de7-OF6d)
垢版 |
2019/02/12(火) 16:32:53.84ID:aWs0QX+90
>>807-808
HEVCのBフレームについては、SDK9で B-FRAMES AS REFERENCE のモードとして
NV_ENC_BFRAME_REF_MODE_EACH ってのが指定できるようになった(H.264では指定できない)みたいなので、
SDK9に対応してこの機能を使えば、現状よりも更にTuringのHEVCエンコードの品質が上がるかも?
0812名無しさん@編集中 (スプッッ Sd82-tRBg)
垢版 |
2019/02/12(火) 17:49:48.44ID:8v6Zrr0ed
>>811
TU117=GTX1650除外だから、
hevc 目当てなら1660買っとけってことか
0813名無しさん@編集中 (ワッチョイ 8de7-OF6d)
垢版 |
2019/02/12(火) 17:56:25.56ID:aWs0QX+90
>>810がちょっと誤解を生む表現だったので補足。

B-FRAMES AS REFERENCE自体はSDK8でサポートされてた機能で
H.264限定で、NV_ENC_BFRAME_REF_MODE_MIDDLEというモードだけ指定できた。
NVEncCなら --bref-mode middle。

HEVCではBフレームがサポートされてなかったので、当然B-FRAMES AS REFERENCEも使えなかったし、
SDK8ではそれに関する設定をすることもできなかった。

SDK9でHEVCでもB-FRAMES AS REFERENCEの設定ができるようになり、
更にNV_ENC_BFRAME_REF_MODE_MIDDLEだけでなく、NV_ENC_BFRAME_REF_MODE_EACHも指定できることになった。

NVEncCがSDK9に対応すれば、--bref-mode each/middle がHEVCで使えるようになって、
それを使えばTuringのHEVCエンコード品質が多分更に上がるものと思われる。

という流れです。
0817名無しさん@編集中 (オッペケ Srd1-5caY)
垢版 |
2019/02/12(火) 18:13:40.71ID:V0SkQvoCr
>>816
ありがとうございます
いま大量エンコードでTSファイル保存勢を辞めている所ですがもう少し待ったほうが良かったか、、現状で満足はしていますが残念っ
0818名無しさん@編集中 (ワッチョイWW d154-irfR)
垢版 |
2019/02/12(火) 19:39:25.03ID:rrOD0+rV0
まさかの1660待望説到来なのか?
でも1660はメモリーが6GBまでかと思われるが、4Kとかをエンコードしたりデコードしたりした場合に何か影響が出たりしないのかな?
0825名無しさん@編集中 (ワッチョイ 8de7-OF6d)
垢版 |
2019/02/13(水) 00:11:02.45ID:vHGN6yin0
NVEnc 4.31

[共通]
・NVENC SDK 9.0に更新。NVIDIA グラフィックドライバ 418.81以降が必要。
・HEVCエンコ時のB ref modeの設定を追加。(--bref-mode middle/each)

[NVEnc.auo]
・設定画面に「品質(--preset)」「Bフレーム参照モード(--bref-mode)」を追加。

[NVEncC]
・--presetをreadmeに追加。
 
 
速いもうできたのか的な。
0829名無しさん@編集中 (ワッチョイWW d154-irfR)
垢版 |
2019/02/13(水) 22:24:30.74ID:EGETJ5UR0
>>828
やはり動画の再生やエンコード用途ならばGPUのメモリーは、そんなにたくさん詰む必要はないわけだね

ちなみにGTX1660の世代がエンコードユーザーにとってはRTX世代より有利なのは間違いないのかな?
0833名無しさん@編集中 (ワッチョイWW d154-irfR)
垢版 |
2019/02/13(水) 23:51:26.10ID:EGETJ5UR0
>>832
!!

よくよく調べると、
■TU117(つまりGTX1650)
・HEVCのBフレーム非対応
・インターレース信号をインターレースのままエンコード対応
のPascal世代相当

■TU116(つまりGTX1660Ti及びGTX1660)
・HEVCのBフレーム対応
・インターレース信号のままでのエンコードは非対応
のTuring世代

で、エンコードやデコードに関しては、特段TU116だけ何かが特別良くなるわけではなく、あくまで他のTuring世代と同等

ということで良いのかな?
0836名無しさん@編集中 (中止 7fa7-GvlG)
垢版 |
2019/02/14(木) 10:58:21.49ID:bfnbZDEx0St.V
業務用のエンコーダを買えば完璧。2桁値段が高いけどね。
0843名無しさん@編集中 (ワッチョイW 0733-633A)
垢版 |
2019/02/15(金) 00:07:22.26ID:RhJUmx2L0
>>842
ありがとう!まさかこんな所にあるとは気づかなかった!!

あと、もう少し教えてほしいんだけど、QSVの場合は「ハードウェアデコード」のチェックはオン?それともオフ?
ググってみると両方あるし、そもそもエンコードしてるのにデコードの設定があるのもよくわからず困ってる。
0845名無しさん@編集中 (ワッチョイWW 5f08-quza)
垢版 |
2019/02/15(金) 01:52:08.57ID:lNnrUGx50
1660は本当にエンコユーザー御用達になりそう

噂ではTensor Coreも載るみたいだし
将来的にTensor Core対応のwaifu2xみたいな超解像やノイズ処理のソフトが出ててきも使えるかも知れないし
0847名無しさん@編集中 (ワッチョイ 5f46-yQ/S)
垢版 |
2019/02/15(金) 18:16:20.21ID:Zdt6+lgC0
知ってて当たり前の事だったらごめんなさい
TuringでHEVCのBフレーム対応ができるようになるようだけど
Pascal以前のGPUを使った時Bフレーム対応の部分だけCPUに計算
させる事はできるのかしら?
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況