QSVEnc 2.25

ご指摘いただいた問題の修正。報告いただきありがとうございました。

[QSVEncC]
・avqsvリーダーで指定されたfpsで読み込むように。
ご指摘いただき、ありがとうございました。

・ts終端などの中途半端なパケットにより音声のヘッダparser部分でエラーが発生した際に、処理が中断され、正常なファイルが出力できない問題を修正。
tsとかを処理すると、音声の最終フレームが異常なことがある。このとき、音声コピー時にはヘッダparserのエラー、音声エンコード時には音声デコーダのエラーとなる。しかし、このエラーは無視して処理を続行する必要がある。エラーを補足して、エラーメッセージを出して異常終了扱いにすることもできるが、それだと終端にゴミがあったり、dropのあるファイルとかがエンコードできなくなって、現実的ではない。

もともと2.20あたりで、壊れた音声パケットによる音声エンコード時の音声デコーダのエラーとなる場合には、「エラーを無視し、処理を続行する、ただしメッセージは表示する」ようなコードになっていた。

ところが、壊れた音声パケットにより音声コピー時にヘッダparserで起こるエラーを無視するときの処理に問題があり、「エラーは無視するが、処理は続行しない」ようになっていて、そのため正常終了したように見せかけて出力ファイルは壊れている…という事態になっていた。

今回の修正で、音声コピーでも音声エンコードでも、壊れた音声パケットによりエラーは「エラーを無視し、処理を続行する、ただしメッセージは表示する」ように変更し、意図した動作をするようになった。

>pprさま
サンプルの提供をいただき、誠にありがとうございました。ご指摘いただきましたように、NGとなっていたファイルは、終端フレームに問題があるだけで、単に最終フレームを無視すればよく、本来はエンコードできるべきファイルでした。ところが上述のようにQSVEncCのバグにより、処理を中断してしまい、音声コピー時に破損したmp4が出る一方、エラーコードは正常終了を返していました。

QSVEncC 2.25では、音声コピーでも正しく再生できるmp4が作成され、エラーコードも"0"を返すと思います。(相変わらず、終端フレームが壊れていることを意味するエラーメッセージは出ますが、エンコード全体としては正常終了となります)



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

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

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


スポンサーサイト



コメントの投稿

非公開コメント

No title

修正対応ありがとうございました。

こちらでも正常にエンコード完了し、エラーコード0が返却されることを確認いたしました。

Re: No title

無事解決してよかったです。ご協力ありがとうございました。

No title

>avqsvリーダーで指定されたfpsで読み込むように。
お忙しい中ご対応いただきありがとうございます。

ただ、私が変換しようとしている動画がfps 29.97 のはずなのですが、avqsvだと26.xx でinputしないと音声とずれるようです。
細かいところが動画毎にことなると手間がかかるので従来の方法をとらせていただきます。

お手数をおかけしました。

audio-copyでクラッシュ

audio-copyですがCAvcodecWriter::applyBitstreamFilterAACのmemmoveでクラッシュする場合があるようです。

VSで見ると最終フレームのpkt->sizeが8以下のときに
av_bitstream_filter_filterのaac_adtstoasc_filterから返るdataSizeがマイナスになっていました。

(実はQSVEncではなくNVEncでの現象なのですが、QSVEnc 2.25での修正内容を確認しようとしたところ、ソースファイルが配布されていませんでした。)

バッチ処理がWER画面で止まってしまうので、エラーハンドリングしてもらえると助かります。

Re: audio-copyでクラッシュ

dataSizeが負になる問題、調査いただきありがとうございました。問題は再現できていませんが、ひとまずQSVEnc 2.45 / NVEnc 2.05ではdataSizeが負になっていたらエラー扱いするようにしました。
プロフィール

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