X



【NVENC/VCE】ハードウェアエンコーダーを語るスレ4【QSV】
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@編集中 (ワッチョイ f6e7-/WEI)
垢版 |
2019/12/27(金) 12:15:53.59ID:tVsuyvWq0
高速なエンコード処理ができるハードウェアエンコーダーについて語るスレです。

●Intel
https://software.intel.com/en-us/media-sdk
https://01.org/linuxmedia
https://github.com/Intel-Media-SDK/MediaSDK
https://github.com/intel/media-driver
https://en.wikipedia.org/wiki/Intel_Quick_Sync_Video

●NVIDIA
https://developer.nvidia.com/nvidia-video-codec-sdk
https://developer.nvidia.com/video-encode-decode-gpu-support-matrix
・エンコード: 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

■前スレ
【NVENC/VCE】ハードウェアエンコーダーを語るスレ3【QSV】
https://mevius.5ch.net/test/read.cgi/avi/1562858636/

次スレは>>980が立ててください。
0432名無しさん@編集中 (ブーイモ MMa6-9iwF)
垢版 |
2020/03/25(水) 11:20:07.30ID:y28TYYopM
VCEとQSVで画質保ったまま高速エンコしたいとアレコレやってみたけど
結局Ryzenでx264/x265ぶん回した方がラクってなってきた

NVenc使えたら世界が変わるんかな・・・
0433名無しさん@編集中 (スップ Sd12-k/r1)
垢版 |
2020/03/25(水) 11:46:59.27ID:OWIq+tBTd
もう少し技術が進めば
CPUエンコするとき一部分だけを
GPUの回路借りたりもできるんだろうけど
まだそこまで行ってない
最終的にはMMXのチェックボックス選択するみたいに
NVCも気軽に選べればいいんだけどね
0436名無しさん@編集中 (ワッチョイ 61aa-Qyt/)
垢版 |
2020/03/25(水) 12:33:14.64ID:9ZYepAy50
>>432
漠然と早くしたいだけなら。。。爆速なのは保障するw
ただねぇ、実際RTXを使ってるけどNVENCの出番は限定的だよ。キャプチャとかedcbの録画後実行batに仕込むくらいか
圧縮効率もTuringのHEVC+Bフレ≒x264で悪くないが、x265が頭1つ抜けてるから結局保存用には使わない

まぁでも文面から察するにゲフォ自体使ってなさそうだが、エンコするならCUDAあると捗るよ?
個人的にはNVENCよりQTGMC+αをKFMに置き換えてマジ感動した。無駄にゃならんと思う
0439名無しさん@編集中 (オイコラミネオ MMc6-iaHD)
垢版 |
2020/03/25(水) 14:27:29.10ID:rQw7cL7/M
>>436
turingでやってるけどts→h.265を1500kbpsでssim0.995までいけるよ
設定かエンコソフトが悪いんじゃない?

ソフトによってbフレーム設定してても使ってない事があるからbフレあるか確認した方がいいよ
例えばA'sとかハンドブレイクはnvencの265でbフレを使わない
Xmediaはbフレ数を設定するOptionがあるのに使わなかったりする
0441名無しさん@編集中 (オイコラミネオ MM1d-iaHD)
垢版 |
2020/03/25(水) 16:22:47.70ID:tpz7i94tM
俺がやってるのは実写映画だな
ドキュメンタリーだと実写でもssimが0.98くらいまで下がることもある
映画とドキュメンタリーは実写でも映し方が違うのかもな
0450名無しさん@編集中 (ワッチョイ d201-MKsy)
垢版 |
2020/03/28(土) 17:31:46.22ID:QAJDPoeF0
NVencでバッチ出力したいけどうまくいかない
どっかのブログにあった
NVEncC64.exe -c hevc –cqp 28:30:32 –gop-len auto –sar 4:3 –bref-mode each –audio-copy -i %1 -o %1.mp4
でファイル作ってもエンコード始まらないし何がおかしいんだろ
0452名無しさん@編集中 (ワッチョイ d201-MKsy)
垢版 |
2020/03/28(土) 18:01:45.76ID:QAJDPoeF0
>>451
ダメですね…
Aviutl拡張用のNVencファイル内にBatファイル作って作動してもうまくいかず、Aviutlの方もエンコがうまくいかなくなったので
別のストレージにBatでエンコするためのファイルを作ってそこでエンコ使用としています
グラボはRTX2070なのでBフレームやらは対応してるはずです
0453名無しさん@編集中 (ワッチョイ a9da-MKsy)
垢版 |
2020/03/28(土) 18:06:54.37ID:KdRIzRsr0
>>450
「NVEncC64.exe」が置いてあるフォルダを指定してない
使いたいNVEncCのバージョンがおいてあるとこで「アドレスのコピー」

cd /d "コピーしたアドレス"

でディレクトリ移動しとけばそのコマンドプロンプトを開いてる間は省略できる
バッチなら移動ではなく指定するだけでいい
コマンドプロンプト調べようね
https://www.pg-fl.jp/
0459名無しさん@編集中 (ワッチョイ 128e-m3pd)
垢版 |
2020/03/28(土) 22:45:48.87ID:3Li235Do0
フルパスでNVEncCをフルパスで指定すれば行けそうだが…
エラー内容は書いてないからこれだっていえんけど、あとはログ取ってエラー確認するとかだな。
%1は使いにくかろう。d:\は適当に修正して。

-i "%~1" -o "d:\%~n1.mp4" 2>"d:\%~n1.log"
0461名無しさん@編集中 (ワッチョイ d201-MKsy)
垢版 |
2020/03/28(土) 23:50:42.27ID:QAJDPoeF0
いろいろありがとうございます。
.batにドラッグしたら一瞬でプロセッサ?が消えてしまう感じですね
素でダブルクリックしたら.exeのアドレスから最後の文字まで写って一瞬で消えるって感じです
便利だと聞いて素人知識で飛びついてしまった結果手間取らせてしまい申し訳ないです
次回からはもうちょい勉強してから手を出してみます
0479名無しさん@編集中 (ワッチョイW a901-VLTb)
垢版 |
2020/03/31(火) 01:24:53.11ID:i1WihOT/0
amatsukazeをつかって溜まったtsをまとめてエンコしようと思い1650super導入
D3DVPを使うと1280x720へのリサイズ ファルサイズ 1/5 - 1/12くらいになる設定でCPUにもよるが400fps前後
インタレ解除をKFMにすると140fpsで
ふと x265 veryfastではどうかなと手持ちのPC群で試すと(kfm)
Ryzen5 2600で62fps
i5 9600k 5GHzで100fps
Ryzen9 3900Xで170fpsとなりNVEncが微妙に、、w 当然画質もx265のが良いわけで、、
tsは2600のマシンに溜めているので3700xにでも取り替えようかと思案中
CUDAだけならTuringでなくてもよいしねぇ、、
ハードエンコと関係なくってスマン
0482名無しさん@編集中 (ワッチョイ 1202-Cd0d)
垢版 |
2020/03/31(火) 17:06:20.90ID:BC6NWJrW0
お尋ねします。下記のコマンドでエンコしてみましたが、エンコードエンジンが負荷が
50%程度で推移しています。SWデコードにすると98%程度まで行きます。
これはHWデコードが追い付いていないということでしょうか?
GeForce GTX 1660 SUPER
Ryzen7 3800X
Win10Pro

ffmpeg.exe -hwaccel nvdec -c:v mpeg2_cuvid -i %1 -vcodec hevc_nvenc -preset fast -acodec aac -ab 128k -ac 2 -ar 48000 "%~dpn1.mp4"
0494名無しさん@編集中 (ウソ800 e5e7-CuPJ)
垢版 |
2020/04/01(水) 01:09:50.57ID:LDgqK90A0USO
>>493
ありがとう。

以前は -hwaccel_output_format cuda なんて明示指定する必要なかったはずだよな〜と思って
調べてるところなんだけど、どうやら3月の頭にnvdec絡みで揉めてたみたいだ。
以下のページも3/4に変更されてる。

 HWAccelIntro ? FFmpeg
 https://trac.ffmpeg.org/wiki/HWAccelIntro

このページでの以前のフルHWトランスコードの説明は
  ffmpeg -hwaccel cuvid -c:v h264_cuvid -i input -c:v h264_nvenc -preset slow output
になってて、NVIDIAのSDK9.1のドキュメント等でもそう書かれてる。

でも3月頭の変更後は
  ffmpeg -hwaccel cuda -hwaccel_output_format cuda -i input -c:v h264_nvenc -preset slow output
を使えと書かれてる。
0495名無しさん@編集中 (ウソ800 e5e7-CuPJ)
垢版 |
2020/04/01(水) 01:24:12.62ID:LDgqK90A0USO
>>493-494
どうも今のソースだと、

  ・ 以前の -hwaccel cuvid のコードが消された。

  ・ -hwaccel の指定で用いるべきなのはcuda。一応nvdecとcuvidも指定できるが、ただのエイリアスで、内部でcudaに変更される。
   (nvdecについては実装直後からずっとエイリアス。cuvidがエイリアスになったのは3月頭。)

  ・ -hwaccel cuvid を指定すれば、-hwaccel_output_format cuda も内部で自動指定されるけど、
   「一応昔のコマンドとの互換性のために自動指定してやってっけど、いずれ廃止されっから
    -hwaccel_output_format cuda は明示指定しとけよ!」って警告が出る。(これも3月頭の実装)

  ・-hwaccel cuvid や -hwaccel nvdec を指定した場合は、-hwaccel_output_format cuda の自動指定はされないので、
   -hwaccel_output_format cuda を明示指定する必要がある。

という感じになってるっぽい。

・・・なんか揉めたままスレッドがロックされたっぽいんだけど、大丈夫なんかな、これ。
0496名無しさん@編集中 (ウソ800 e5e7-CuPJ)
垢版 |
2020/04/01(水) 01:30:52.72ID:LDgqK90A0USO
まだちゃんと読めてないんだけど、参考リンク

●3月頭の変更

  ffmpeg: remove superfluous custom cuvid hwaccel ・ FFmpeg/FFmpeg@60b1f85 (コメント欄で何か揉めてる)
  https://github.com/FFmpeg/FFmpeg/commit/60b1f85b67ccb907e4eba3e2c98839769690ed24

  ffmpeg: default hwaccel_output_format to cuda when hwaccel is cuvid ・ FFmpeg/FFmpeg@cb3c77c
  https://github.com/FFmpeg/FFmpeg/commit/cb3c77cfeed3d9b995fc8b387a1ef14561a4b6ea#commitcomment-37719468

●関連チケット

  #6989 (Hwaccel cuvid fails with “Error creating a NVDEC decoder: 1”) ? FFmpeg
  https://trac.ffmpeg.org/ticket/6989

なんかよくわからなくなってきたんで寝る・・・
0497名無しさん@編集中 (ウソ800 e5e7-CuPJ)
垢版 |
2020/04/01(水) 01:34:45.89ID:LDgqK90A0USO
>>495訂正

誤(×cuvid)
  ・-hwaccel cuvid や -hwaccel nvdec を指定した場合は、-hwaccel_output_format cuda の自動指定はされないので、
   -hwaccel_output_format cuda を明示指定する必要がある。

正(○cuda)
  ・-hwaccel cuda や -hwaccel nvdec を指定した場合は、-hwaccel_output_format cuda の自動指定はされないので、
   -hwaccel_output_format cuda を明示指定する必要がある。
0498名無しさん@編集中 (ワッチョイW e501-jcko)
垢版 |
2020/04/01(水) 22:23:38.66ID:XYXu6EFH0
>>479
見比べてみたけどブロックノイズが目立ちにくいかなぁ、、って程度
激しい動きのとこでもやや有利?
でも長い時間をかけるほどの差はないかなぁ、、というw
やっぱTuringえらいわww
どっちにするかはまだ思案中だけど、、
x265ならよりビットレートを下げてもいけそうではある

NVENCでやるにしてもRyzen2600じゃちょっと遅い感じだから
3800xにかえてみようかなと思ったり
0501名無しさん@編集中 (ワッチョイ e5da-8H9x)
垢版 |
2020/04/04(土) 01:19:55.48ID:RKAfUqOa0
>>500
検証というより比較する時に使う感じじゃない?
ソースに対してビットレート割り当てが極端に低くてブロックノイズ、オプションの違いによる擬色やバンディングとか発生しないと動画じゃ比較しにくいだろうし
0502名無しさん@編集中 (アンパン 4b8e-trDy)
垢版 |
2020/04/04(土) 04:34:09.05ID:EWMP8Cjf00404
>>498
このスレの話じゃないけど、Ryzen2600はAVX2が使えないかわいそうな子だからx265もやるなら卒業してもいいと思うぞ
NVIDIAの次のGPUもIntelのICELakeエンコーダー搭載デスクトップ版もコロナのせいで秋から冬にずれ込んでるし
第3世代Ryzen使う人に発熱や消費電力を気にする人は少ないだろうし、無難な選択だと思う
半年後には早くも「第四世代Ryzenは最大32コア128スレッド!かもしれない」という噂もあるけどな
0514名無しさん@編集中 (アンパン e394-u+5P)
垢版 |
2020/04/04(土) 15:28:06.26ID:J47UWBGt00404
ほいでエンコの出来栄えを静止画で検証は意味あるんですかいの
0516名無しさん@編集中 (アンパン e5da-8H9x)
垢版 |
2020/04/04(土) 17:21:17.14ID:RKAfUqOa00404
その静止画(動画)をハードかソフトのどちらでデコードするか、普段はどちらでデコードするかでも地味に変わるよね
気にする人は全部ソフトか圧縮無しなんだろうけど
0524名無しさん@編集中 (アンパン 9b1f-bVUD)
垢版 |
2020/04/04(土) 20:22:19.33ID:BOsn4eMW00404
>>519
そもそもエンコードとデコードを理解できてなさそう
エンコードは動画を圧縮するもの、デコードは圧縮された動画を再生するもの
規格に沿っていればどのエンコーダーとデコーダーの組み合わせでも問題ない
0525名無しさん@編集中 (アンパン f561-5QI3)
垢版 |
2020/04/04(土) 21:41:12.46ID:XjQFHuDR00404
>>524
amatsukazeのx264でエンコードしたのは再生できるんだけど、
amatsukazeのNVENCでエンコードしたのは音は出るけど絵が出ない。
GT710なのでH.264のはず。
エンコーダとデコーダの相性とかあるのかなぁと。
■ このスレッドは過去ログ倉庫に格納されています

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