QSVEnc 2.48v2

Linux向けのソースのみの更新です。Windows向けには更新はありません。

ご指摘いただいたようにLinux向けの対応が不十分だった個所を修正しました。

・--vpp-sub対応、ただしsystemメモリモードのみ。
・--versionで使用可能なvppのリストを表示。(Linux版のみ)
・その他ビルドの細かい修正。



以下ビルド時などの注意点です。

・--vpp-subの有効化について
例えばCentOSなら、

sudo yum install libass libass-devel

などとしてlibassをインストールしておき、QSVEncのconfigure時に

ENABLE_LIBASS_SUBURN 1

となることを確認してください。ここが"0"になっていると、libassが正常に検出できておらず、--vpp-subが利用可能になりません。


・「謎機能: コマンドオプションの推定」の有効化について
Windows版のQSVEncCには、例えば

QSVEncC.exe --qp-min 10

と打つと

Error: Unknown option: --qp-min

Did you mean option(s) below?
--qpmin

などと近いオプションを教えてくれる謎機能がついています。つけた理由がなかなか残念で、自分がよく間違うから…。

これをLinux版でも有効にするには、使わせていただいているこちらのdtlライブラリと<regex>をまともに使えるコンパイラが必要です。この条件が整っていれば、configure時に

ENABLE_CPP_REGEX 1
ENABLE_DTL 1

と出て、この機能が有効になるはずです。

まずdtlライブラリは適切にヘッダーディレクトリ"dtl"をインストールするか、qsvencのディレクトリにcloneするかしてください。

cd qsvenc
git clone https://github.com/cubicdaiya/dtl.git

このあとconfigureすれば、

ENABLE_DTL 1

と出て、dtlライブラリが有効になるはずです。

ただ、これだけではだめで、この機能にはc++11の<regex>(正規表現ライブラリ)も必要です。c++14とかじゃあるまいし、いまどきc++11なら余裕だと思っていたら、CentOS 7.1の標準コンパイラgcc 4.8.xは<regex>がまともに動かないのですよね…。
まあCentOS 7.1がgcc 4.8.xなんていう2013年のコンパイラを標準にしているのがあかんのだと思うのですが…。いまやgcc 6.0ですよ? ああ、でもCentOSってRHELベースだから保守的になるのはしょうがないのかなあ…。

というわけでgcc 4.9.0以降でないと、configure時に

ENABLE_CPP_REGEX 0

とか出てこの機能は有効にならないので注意してください。

まあ、もっともコマンドオプションを間違ったときに推定してくれるだけの機能なので、なくても困りはしませんが。


スポンサーサイト



コメントの投稿

非公開コメント

No title

QSVEncBenchmarkにQSVEnc 2.48v2を上書きして実行すると
以下の100%の部分で止まってしまいます。
QSVEncBenchmark同梱の2.39だと問題なく最後まで実行できました。
報告のみですが、失礼します。

QSVEncC (x64) 2.48 (r1076) by rigaya, May 4 2016 21:01:38 (VC 1900/Win/avx2)
OS Windows 7 (x64)
CPU Info Intel Core i3-2328M @ 2.20GHz (2C/4T) <SandyBridge>
GPU Info Intel HD Graphics 650-1100MHz
Media SDK QuickSyncVideo (hardware encoder), 1st GPU, API v1.4
Async Depth 5 frames
Buffer Memory d3d9, 1 input buffer, 24 work buffer
Input Info avcodec video: MPEG2, 1920x1080, 30000/1001 fps
Output H.264/AVC Main @ Level 4
1920x1080p 1:1 29.970fps (30000/1001fps)
Target usage 7 - fastest
Encode Mode Constant QP (CQP)
CQP Value I:24 P:26 B:27
Ref frames 2 frames
Bframes 3 frames
Max GOP Length 300 frames
Scene Change off

encoded 5203 frames, 139.24 fps, 14405.05 kbps, 298.12 MB
encode time 0:00:37, CPULoad: 9.67%
frame type IDR 18
frame type I 18, total size 4.39 MB
frame type P 1301, total size 117.24 MB
frame type B 3884, total size 176.49 MB


QSVEncC (x64) 2.48 (r1076) by rigaya, May 4 2016 21:01:38 (VC 1900/Win/avx2)
OS Windows 7 (x64)
CPU Info Intel Core i3-2328M @ 2.20GHz (2C/4T) <SandyBridge>
GPU Info Intel HD Graphics 650-1100MHz
Media SDK QuickSyncVideo (hardware encoder), 1st GPU, API v1.4
Async Depth 5 frames
Buffer Memory d3d9, 1 input buffer, 24 work buffer
Input Info avcodec video: MPEG2, 1920x1080, 30000/1001 fps
Output H.264/AVC High @ Level 4
1920x1080p 1:1 29.970fps (30000/1001fps)
Target usage 1 - best
Encode Mode Constant QP (CQP)
CQP Value I:24 P:26 B:27
Ref frames 2 frames
Bframes 3 frames
Max GOP Length 300 frames
Scene Change off

encoded 5203 frames, 74.48 fps, 13719.35 kbps, 283.93 MB
encode time 0:01:10, CPULoad: 3.89%
frame type IDR 18
frame type I 18, total size 4.35 MB
frame type P 1301, total size 110.52 MB
frame type B 3884, total size 169.05 MB



QSVEncC (x64) 2.48 (r1076) by rigaya, May 4 2016 21:01:38 (VC 1900/Win/avx2)
OS Windows 7 (x64)
CPU Info Intel Core i3-2328M @ 2.20GHz (2C/4T) <SandyBridge>
GPU Info Intel HD Graphics 650-1100MHz
Media SDK QuickSyncVideo (hardware encoder), 1st GPU, API v1.4
Async Depth 6 frames
Buffer Memory d3d9, 1 input buffer, 35 work buffer
Input Info avcodec video: MPEG2, 1920x1080, 30000/1001 fps
VPP Enabled Resizer, 1920x1080 -> 1280x720
Output H.264/AVC High @ Level 3.1
1280x720p 1:1 29.970fps (30000/1001fps)
Target usage 1 - best
Encode Mode Constant QP (CQP)
CQP Value I:24 P:26 B:27
Ref frames 2 frames
Bframes 3 frames
Max GOP Length 300 frames
Scene Change off
[100.0%] 5165 frames: 128.55 fps, 7110 kb/s, remain 0:00:00

Re: No title

報告ありがとうございます。

たしかに最近のものでベンチマークしていなかったので、調べてみます。

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

No title

いつも便利に利用させてもらっています。

QSVEncCで以下のコマンドでエンコードを行っていたのですが、2.20から2.48v2に上げたところ、同じソースでもキーフレームの数が明らかに少ない動画が出力されるようになりました。
QSVEncC.exe --avs --cqp 22:24:25 -u best --scenechange -i test.avs -o test.mp4

(例)ジョジョ4部OP
20秒~100秒くらいまでが1フレーム(2.47v2)

(例)ばくおんED
キーフレームが1フレームのみ(2.47v2)
10秒毎にキーフレーム(2.20)

シーンチェンジ検出をオフにすると、10秒ごとにキーフレームが挿入される動画が出力されます。履歴を見ても特にシーンチェンジ検出に関する変更はされていないようですが、ご確認いただけないでしょうか?

当方の環境は以下の通りです。
Windows 10 x64 / i7-3770S / ドライバ 10.18.10.4276 / API v1.11

No title

お世話になります

現在Win8.1 x64でHaswell i7-4770無印のHD4600を使っていますが
先日Intelのサイトで公開された
15.36.31.4414 (10.18.14.4414)
https://downloadcenter.intel.com/ja/download/25978/
のドライバをインストールしたところ
QSVEncで表示されるAPIバージョンがv1.16からv1.17に変わりました

ところがこの状態でQSVEnc 2.48v2を含めてAPI v1.17に対応しているQSVEnc 2.22以降を使うと
「ファイルの出力に失敗しました。」のエラーダイアログが表示されて拡張QSV出力が使えません
この時ログウィンドウには
---
qsv [error]: Failed to initialize encoder. : invalid video parameters.
auo [error]: invalid video parameters.
--
のようなメッセージが表示されます

全てのバージョンを試した訳ではありませんが
API v1.16までの対応のQSVEnc 2.21以前を使うと
このドライバをインストールした状態でも拡張QSV出力が使えるようです

これはドライバ側の不具合か何かで実際にはAPI v1.17には対応していないということでしょうか?

No title

>ベンチマークについて
こちらでも最新版でベンチマークを行いましたが、正常に終了してしまいました。

かなり環境が異なるので、そのせいかもしれません。

OS : Windows 8.1 (x64)
CPU: Intel Core i7-4770K @ 3.50GHz [TB: 4.20GHz] (4C/8T) <Haswell>
L1 : Read: 847.07GB/s, Write: 417.40GB/s
L2 : Read: 393.03GB/s, Write: 127.28GB/s
L3 : Read: 185.19GB/s, Write: 85.97GB/s
RAM: Read: 33.12GB/s, Write: 14.32GB/s
Used 2848 MB, Total 7628 MB
GPU: Intel HD Graphics 4600 (20EU) 200-1600MHz [84W] (10.18.14.4414)
QSV: QSVEncC 2.48 (x86) / API[hw]: v1.17 / d3d9

TargetUsage ([TU-1]:Best Quality) ~ ([TU-7]:Fastest Speed)

Encode Speed (fps)
TargetUsage, 1920x1080, 1280x720
  TU-1,   172.35,   354.39
  TU-4,   239.98,   529.30
  TU-7,   469.76,   969.22

Bitrate (kbps)
TargetUsage, 1920x1080, 1280x720
  TU-1,    3340,    1898
  TU-4,    3235,    1857
  TU-7,    3671,    2100

CPU Usage (%)
TargetUsage, 1920x1080, 1280x720
  TU-1,    4.82,    2.28
  TU-4,    4.48,    4.52
  TU-7,    6.22,    3.51


> scenechangeが正常に動作しない問題について (2016-05-17(23:04))
報告ありがとうございました。2.46で壊してしまっており、2.49で修正しました。


>4414ドライバについて
2.49でエラー終了しないようにしました。どうも1.17の機能を使おうとすると死んでしまう場合があるようで、そうした場合を回避するようにしました。

No title

rigaya様

QSVEnc 2.49で4414ドライバをインストールした状態でも
拡張QSV出力が使えるようになりました
素早いご対応どうもありがとうございました
プロフィール

rigaya

Author:rigaya
アニメとか見たり、エンコードしたり。
連絡先: rigaya34589@live.jp
github twitter

最新記事
最新コメント
カテゴリ
月別アーカイブ
カウンター
検索フォーム
いろいろ
公開中のAviutlプラグインとかのダウンロード

○Aviutl 出力プラグイン
x264guiEx 3.xx
- x264を使用したH264出力
- x264guiExの導入紹介動画>
- x264guiExの導入
- x264guiExのエラーと対処方法>
- x264.exeはこちら>

x265guiEx
- x265を使用したH.265/HEVC出力
- x265guiExの導入>
- x265.exeはこちら>

QSVEnc + QSVEncC
- QuickSyncVideoによるHWエンコード
- QSVEnc 導入/使用方法>
- QSVEncCオプション一覧>

NVEnc + NVEncC
- NVIDIAのNVEncによるHWエンコード
- NVEnc 導入/使用方法>
- NVEncCオプション一覧>

VCEEnc + VCEEncC
- AMDのVCE/VCNによるHWエンコード
- VCEEnc 導入/使用方法>
- VCEEncCオプション一覧>

svtAV1guiEx
- SVT-AV1によるAV1出力
- svtAV1guiExの導入>
- SVT-AV1単体はこちら>

VVenCguiEx
- VVenCによるVVC出力
- VVenCguiExの導入>

ffmpegOut
- ffmpegを使用した出力
- ffmpegOutの導入>


○Aviutl フィルタプラグイン
自動フィールドシフト (ミラー)
- SSE2~AVX512による高速化版
- オリジナル: aji様

clfilters 
- OpenCLベースの複数のGPUフィルタ集
- 対応フィルタの一覧等はこちら

エッジレベル調整MT (ミラー)
- エッジレベル調整の並列化/高速化
- SSE2~AVX512対応
- オリジナル: まじぽか太郎様

バンディング低減MT (ミラー)
- SSE2~AVX512による高速化版
- オリジナル: まじぽか太郎様

PMD_MT
- SSE2~AVX512による高速化版
- オリジナル: スレ48≫989氏

透過性ロゴ (ミラー)
- SSE2~FMA3によるSIMD版
- オリジナル: MakKi氏

AviutlColor (ミラー)
- BT.2020nc向け色変換プラグイン
- BT.709/BT.601向けも同梱

○その他
Amatsukaze改造版
- AmatsukazeのAV1対応版

rkmppenc
- Rockchip系SoCのhwエンコーダ

x264afs (ミラー)
- x264のafs対応版

aui_indexer (ミラー使い方>)
- lsmashinput.aui/m2v.auiの
 インデックス事前・一括生成

auc_export (ミラー使い方>)
- Aviutl Controlの
 エクスポートプラグイン版
 エクスポートをコマンドから

aup_reseter (ミラー)
- aupプロジェクトファイルの
 終了フラグを一括リセット

CheckBitrate (ミラー, 使い方, ソース)
- ビットレート分布の分析(HEVC対応)

チャプター変換 (使い方>)
- nero/appleチャプター形式変換

エッジレベル調整 (avisynth)
- Avisynth用エッジレベル調整

メモリ・キャッシュ速度測定
- スレッド数を変えて測定
- これまでの測定結果はこちら

○ビルドしたものとか
L-SMASH (ミラー)
x264 (ミラー)
x265 (ミラー)
SVT-AV1 (ミラー)

○その他
サンプル動画
その他

○読みもの (ミラー)
Aviutl/x264guiExの色変換
動画関連ダウンロードリンク集
簡易インストーラの概要

○更新停止・公開終了
改造版x264gui
x264guiEx 0.xx
RSSリンクの表示
リンク
QRコード
QR