QSVEnc 2.58

[QSVEncC]
・2.55から、avsync forcecfr時が正常に動作しないことがあったのを修正。

[QSVEnc.auo]
・簡易インストーラを更新。L-SMASHが正常にダウンロードされないのを修正。



QSVEnc ダウンロード>>
ダウンロード (ミラー) >>
OneDriveの調子がいまいちの時はミラー(GDrive)からどうぞ。同じものです。

QSVEncBenchmark.zipはベンチマーク用です。(約234MBと重いので注意)。run_benchmark.batをダブルクリックで実行です。

QSVEncCのオプションについてはこちら。
QSVEncCオプション一覧>

ソースはこちら


スポンサーサイト



コメントの投稿

非公開コメント

ロゴ消し

--vpp-delogoと-cropを併用すると

DecodeFrameAsync error: undefined behavior..
Error in encoding pipeline. : undefined behavior.

というエラーを吐いて止まってしまうのですが、これは併用が無理という仕様なのでしょうか?よろしくお願いします。

No title

おっしゃるように、QSVEncCの--vpp-delogoは--cropと併用することは考えて作られていません。

遅いavqsv読み込み

う~ん、いつ頃からか分かりませんが、avqsv読み込みが極端に
遅くなってしまってまつ
デフォでavqsvなのでavsw付けないと遅いままでつ (21fps対105fps)
ひょっとしてオプが不本意に入れ替わってしまったとか
元ファイルはm2ts h264 1080p

re遅いavqsv読み込み

2.11からつまんで試してみた結果全部ダメですたわ
初めて1080pのエンコするもんで、ひょっとしてそのせいかも
基本avsw付けて使うことにします

作者さんではないですが
この情報だとほとんど調べられないのでは?

せめて環境の情報(cpuやドライバのバージョンなど)や何をしようとしてどんなオプションを使ったのかくらいは書かないと…

一番下の元ファイルは…と書かれているのも
省略されすぎて
m2tsをh264に変換しようとしたのかm2tsとh264で試したのか
1080pは入力なのか出力なのか
わかりませんよ

Re: タイトルなし

速度の問題の場合、電力や熱の問題があったり、そのあたりの設定もいろいろあるので、上の方の書いてくださっているように、わりと設定とか環境次第な部分が多く複雑です。

どうしても速度を出したい場合はご自分の環境でいろいろやってみていただくしかないかなと思います。avswのほうが速いというのもあり得るのかもしれません。

特定の動画ファイルでエラー

あるtsファイルをH.264にエンコードしようとすると、以下のエラーが出ます。

qsv [error]: D3D9Device: Failed CreateDeviceEx: -2005530516.
qsv [error]: Failed to initialize HW Device. : null pointer.
qsv [error]: Failed to CreateHWDevice. : null pointer.
auo [error]: null pointer

無加工では発生せず、透過性ロゴで一部カットすると発生します。
元のtsのファイルサイズは16GB程度です。
これより大きい別のファイルで試してみたり、ファイル名を変更してみたりしましたが、特にエラーが発生しません。

何かほかに調べることなどありますでしょうか。

Re: 特定の動画ファイルでエラー

報告いただきありがとうございます。うまく動作せずすみません。

エラー「D3D9Device: Failed CreateDeviceEx」を確認してみましたが、通常は発生しないエラーであり、こちらで再現するのは困難でした。入力ファイルによって発生したりしなかったりすると難しいです…。申し訳ありません。

回避策としては、若干速度が低下するかもしれませんが、--disable-d3dをつけてエンコードすると、動作するかもしれません。

No title

特定の局の特定の番組で大量に黄色エラーが表示され(エンコード自体は進む)
エンコード後に番組開始時点から音声がものすごい早回しになったりします

[AVBSFContext @ 0000025439b38880] PCE-based channel configuration without PCE as first syntax element is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
avout: failed to run aac_adtstoasc bitstream filter: Not yet implemented in FFmpeg, patches welcome.

オプション:
qsvencc --avqsv --tff --audio-copy 1 -u 4 --la 4000 -i input.ts -o output.mp4
ドライバ:4501
CPU:Core i3 4170

Re: No title

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

チャンネルが切り替わる場合にffmpegのbitstreamfilter適用時にエラーとなってしまっていることが分かりました。ただ、bitstreamfilterでこのチャンネル切り替えをどう扱えばよいのかよくわからず、どうすれば直るのかもよくわからないので、申し訳ありませんが今のところ直し方が全くわからない状態です。

回避策としては、--audio-codec aacなどで変換してしまうのが有効なので、お試しいただければと思います。

漢字ファイル名

とても便利なアプリをフリーで供給いただき感謝です。
一点、どうしても分からない問題があり教えて頂ければと。
PowerShellスクリプトで漢字ファイル名の途中に倍角スペース(半角でも?)が入った場合にエラーが帰ってしまいます。
Error: Unknown option: "????????.ts"
しかし同じオプションで PowerShellコンソールから直接実行すると問題ありません。 例えばPowerShell で直に
.\QSVEncC64.exe --audio-copy -i "録画 ファイル1.ts" --bluray --vbr 3000 --maxbitrate 30000 --quality higher -o "録画 ファイル1.m2ts"
と叩くと正常に実行されますが PowerShellスクリプトで
powershell -Command .\QSVEncC64.exe --audio-copy -i "録画 ファイル1.ts" --bluray --vbr 3000 --maxbitrate 30000 --quality higher -o "録画 ファイル1.m2ts"
とやった場合に上記エラーになります。ダブルクオーテーションでオプション全体を囲ったり、エスケープしたりしてみましたが同じ状況です。
( Win10 Pro x64、 i7-2600k)
皆さん、どのように対処しておられるのでしょうか? 教えて頂ければ助かります。

Re: 漢字ファイル名

★ ちょっと拙速でした。QSVEncというより PowerShellの問題でしたが、自己解決したかもしれません。
参考までに対応策を上げておきます。
実際のスクリプトは片っ端から .tsファイルを h.264変換するために foreach{ } のループを使ってフィアル名を文字列変数に格納したため、シングルクォーテーションを使うと変数が展開されないと思いこんでシングルクォーテーションを試していませんでした。
文字列変数の中にシングルクォーテーションを含めてしまえば問題なくシングルクォーテーションが使えて、エラーが出なくなりました。
####################################
$TARGET_DIR="E:\TV_Record"
$OUTPUT_DIR="E:\TV_Record\Encoded\"
$QSVENC= "D:\Aplications\QSVEncC64.exe"
$QSV_OPT_A = " --audio-copy"
$QSV_OPT_V = "--bluray --vbr 2800 --maxbitrate 30000 --quality higher"

cd $TARGET_DIR
$arr = get-childitem $TARGET_DIR
foreach ($fn in $arr) {
$Basefn = $fn.Basename
$fn = "'" + $Basefn + ".ts" + "'"
$ofn = "'" + $OUTPUT_DIR + $Basefn + ".m2ts" + "'"
$qsv_opt="$QSV_OPT_A -i $fn $QSV_OPT_V -o $ofn"
powershell -Command "$QSVENC $qsv_opt"
}
####################################
上記スクリプトで 5~6個のファイルを処理してみましたが、今までのところエラーは出ておりません。
もっとスマートな方法があれば教えて頂ければと思い敢えて晒してみました。

trimオプション指定時の動作

いつもqsvencを利用させて頂き大変助かっております。
qsvenccで1時間程度のMP4をCMカットで
Trim(31,19114) ++ Trim(21812,34489) ++ Trim(37196,53789) ++ Trim(57387,74559) ++ Trim(78158,95152)
から
以下のチャプターを作成して
CHAPTER01=00:00:00.000
CHAPTER01NAME=A
CHAPTER02=00:10:36.770
CHAPTER02NAME=B
CHAPTER03=00:17:39.792
CHAPTER03NAME=C
CHAPTER04=00:26:53.478
CHAPTER04NAME=D
CHAPTER05=00:36:26.484
CHAPTER05NAME=E


QSVEncC64 --avqsv --audio-copy --trim 31:19114,21812:34489,37196:53789,57387:74559,78158:95152 --chapter "chapter.txt" -i "test.mp4" -o "test_qsv.mp4"
とエンコードすると
chapterB以外は
Cは16分9秒
Dは23分52秒
Eは31分25秒
と時間がずれているのですが、追加するオプション等あるのでしょうか?
--chapterオプションを使用しないで
尚、mp4box,remuxerを使用してチャプター追加を行うと正常にチャプターは反映されます。

Re: trimオプション指定時の動作

申し訳ありません、指定されているオプション自体には問題はありません。特に追加のオプションは必要ないです。

--trim + --chapterでのQSVEncCになんらかの問題があるのだと思います。すこし時間あるときに調べてみます。

qsvenc2.58でqsvでデコード

trimオプション指定時の動作の件了解しました。
別件ですが
qsvenc2.58でqsvでデコードを試しているのですがエラーになってしまいます。
QSVEncC64.exe --avqsv -i "test.mp4" -o - -c raw | x264.exe --demuxer y4m -o "test_.h264" -
を実行すると
Failed to initialize encode session. : undeveloped feature.
QSVEncC.exe finished with error!
と出てエラーになります。

QSVEncC64.exe --avqsv -i "test.mp4" --audio-copy -o "test_.mp4"
は正常に動作します。
環境は
Windows10 x64 core i5 3570k geforce GTX660(プライマリ)
gefoce ドライバ 375.95
intel hdドライバは
10.18.10.4358
10.18.10.4425
の両方でテストしましたが結果は同じでした。
log-level traceで取得したログは以下になります。
qsvデコードは可能のように見えるのですが、途中でエラーになります
宜しくお願い致します。
--------------------------------------------------
Automatically selecting system memory for output raw frames.
Performace Monitor: none
Performace Plot : none
Input: avqsv reader selected.
avqsv/avsw: Closing...
avqsv/avsw: Cleared Stream Packet Buffer.
avqsv/avsw: Closed video.
avqsv/avsw: Closed.
avqsv: opened file "test.mp4".
avqsv: got stream information.
avqsv: found video stream, stream idx 1
avqsv: can be decoded by qsv.
avqsv: initialized h264_mp4toannexb filter.
avqsv: start predecode.
avqsv: fps decoder invalid: false
avqsv: read 48 packets.
avqsv: checking 31 frame samples.
avqsv: stream timebase 1001/30000
avqsv: decoder fps 30000/1001
avqsv: duration histgram of 1 frames
avqsv: 2002 [ 31 frames]
avqsv: using popular duration...
avqsv: fps mul: 1001
avqsv: raw avgDuration: 2002.000000
avqsv: estimatedAvgFps: 30000/1001
avqsv: use decoder fps...
avqsv: final AvgFps (raw64): 30000/1001
avqsv: final AvgFps (gcd): 30000/1001
avqsv: final AvgFps (round): 30000/1001
avqsv: avqsv video: H.264/AVC, 1280x720, 30000/1001 fps, sar 1:1, bitdepth 8, shift 0
Input: reader initialization successful.
CheckParam: 1280x720p, 1:1, 30000/1001, 0 frames
InitSession: Start initilaizing... memType: system
InitSession: failed to init session for multi GPU mode, retry by single GPU mode.
InitSession: initialized using system memory.
InitSession: mfx lib version: 0.0
Failed to initialize encode session. : undeveloped feature.
Closing pipeline...
Closing enc status...
Closing m_EncThread...
Closing Plugins...
Closing m_pmfxDEC/ENC/VPP...
Closing TaskPool...
Closing mfxSession...
DeleteFrames...
DeleteAllocator...
Closing audio readers (if used)...
Closing writer...
Closing reader...
avqsv: Closing...
avqsv: Cleared Stream Packet Buffer.
avqsv: Closed avformat context.
avqsv: Closed video.
avqsv: Closed.
avqsv: Closing...
avqsv: Cleared Stream Packet Buffer.
avqsv: Closed video.
avqsv: Closed.
avqsv: Closing...
avqsv: Close...
Closing perf monitor...
Closed pipeline.


QSVEncC.exe finished with error!

Re: qsvenc2.58でqsvでデコード

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

下のあたりのログは相当怪しいことが起こっている状態で、なんとかデコード動かそうとモードを切り替えてリトライしたが失敗した、という動作になっています。
>>> InitSession: failed to init session for multi GPU mode, retry by single GPU mode.
>>> InitSession: initialized using system memory.
>>> InitSession: initialized using system memory.
>>> InitSession: mfx lib version: 0.0
>>> Failed to initialize encode session. : undeveloped feature.

教えていただいたオプションで、こちらで確認しましたが、特に問題なく動作しています。ただ、環境がdGPUなしのi7 6700Kと、好条件が揃っているためだと思います。

他の方からも、IvyBridge + dGPU + "-c raw"の条件で失敗するという報告を頂いたりするのですが、残念ながら手元にIvyBridgeがないため、何が起こっているのか、回避可能なのかわからない状態にあります。

せっかく報告いただいたのに申し訳ありませんが、x264へは通常のavs読みなどでCPUデコードをしていただければと思います。

Re2: trimオプション指定時の動作

--trim + --chapterについて少し調べましたが、問題なく動作しており、こちらで想定している動作であることを確認しました。

例えば、チャプター"C"が1分31秒ずれるのは、チャプター"C"までに、最初の30フレームと途中の2698フレームがカットされているためで、カットされた分、チャプターの時間も自動的に補正されています。つまり、--chapterは、出力ファイルに対する時間ではなく、入力ファイルに対する時間を想定してます。

何らかのオプションで、出力ファイルに対するチャプター指定に切り替えられるようにしたほうが良いでしょうか?

trimオプション指定時の動作

qsvデコードの件了解しました。
そちらで検証しようがないのではどうしようもないですね

trimオプション指定時の動作ですが、
追加のコマンドでtrim後の位置にチャプター追加
できるような動作を希望します。

以上よろしくお願いいたします。

Re: trimオプション指定時の動作

QSVEncを更新しました。
http://rigaya34589.blog135.fc2.com/blog-entry-860.html

QSVEnc 2.59で--chapter-no-trimをつけて実行すると、ご要望の動作になるかと思います。
プロフィール

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