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
0723名無しさん@編集中 (ワッチョイWW 6d5f-F4UH)
垢版 |
2019/01/16(水) 04:35:45.78ID:cfCORw/o0
実写ソースの場合、RTX20x0のTuring世代NVEnc以外のHWエンコーダだと
H264とHEVCの画質容量比的な性能逆転するから、Pascal世代のNVEncならH264の方が良いと思うけど
0737名無しさん@編集中 (ワッチョイ e9e7-fAiL)
垢版 |
2019/01/19(土) 21:25:42.29ID:jAYscWAY0
>>734-736
> core i7-6700HQとCPUの統合グラフィックス機能を使用して
> CPU負荷,GPU負荷ともに約33%で済むらしいからかなり期待している

記事には「プレビューを表示させた状態でのCPUおよびGPU使用率」とあるから、
プレビュー表示だけでこの使用率、つまりエンコード負荷は含めていないってことだと思うんだけど、
もしかして「エンコードを含めてこの負荷で済んでる」と勘違いしてないか?

あとHWエンコード関係ないからキャプチャ機器スレでも探してそっちに行った方がいいと思う。
0738名無しさん@編集中 (ワッチョイWW 7168-tS56)
垢版 |
2019/01/20(日) 00:47:55.03ID:5TmBIywi0
>>734
それたぶん、AverMediaのUSB 3.0キャプチャーと同じで、入力は4K60p対応だけどキャプチャーは4K30pまでのパターンだと思う
HDMI 2.1に搭載されるロッシーな映像信号圧縮技術「DSC:Display Stream Compression」を搭載して、USB 3.0の枠内で伝送できるようになれば、
USBで4K60pキャプチャーが現実的になるかとは思う
0739名無しさん@編集中 (ワッチョイ 218e-HUDj)
垢版 |
2019/01/20(日) 18:04:16.49ID:952R3mDn0
AverMediaのUSBはFHDでもしょぼい圧縮転送してるらしいで
NVDECで暗部つぶれた画像をHWデコードして、NVENCやx264/x265でリアルタイム再エンコしたらおさっし
0740名無しさん@編集中 (アウアウクー MM9d-tS56)
垢版 |
2019/01/20(日) 18:19:58.93ID:yRIOvDozM
>>739
マジで?
AverMediaは独自ドライバーをインストールして使うタイプだったはずだから、いろいろ小細工しているとは思っていたけど
ウチはI・O DATAのGV-HUVCというUSB Video Class準拠のキャプチャー機器使って2Kキャプチャしてるから小細工の心配は不要だけど、
このキャプチャー機器、OBS以外のソフトでキャプチャーしようとすると音声が入らないことが多いのが難点ではあるが
OBSはOBSで音声まわりの扱いがショボくはあるのだが…
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とかをエンコードしたりデコードしたりした場合に何か影響が出たりしないのかな?
■ このスレッドは過去ログ倉庫に格納されています

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