English version of changelog>>報告のあった問題の修正と回避。
・extbrcが9025Betaドライバに更新するとVBRモードで使用できなくなっていた問題を回避。9025 Betaドライバに更新すると発生する問題の回避策の続き。
・chromalocを設定すると出力が異常になる場合があったのを修正。
QSVEnc ダウンロード>>ダウンロード (ミラー) >>OneDriveの調子がいまいちの時はミラー(GDrive)からどうぞ。同じものです。QSVEncBenchmark.zipはベンチマーク用です。(重いので注意)。run_benchmark.batをダブルクリックで実行です。
QSVEncCのオプションについてはこちら。
QSVEncCオプション一覧>ソースはこちら
はじめまして、MPEG-TSのエンコードに使わせていただきお世話になっております。
CPUはintel i7 4770S (Haswell)で、
V4.12で
qsvencc64.exe --avhw --interlace tff --audio-copy -i %1 -o "%~dpn1.mp4"
と、インターレース保持でエンコードすると、WMPやテレビのメディアプレーヤーは再生可能ですが、Fire TV stick (2020)のKODIからsamba経由では画像が乱れて使用できませんでした。
試しに V2.75で
qsvencc64.exe --avqsv --tff --audio-copy -i %1 -o "%~dpn1.mp4"
とすると、すべて再生可能です。
インタレース保持がフィールド単位からフレーム単位に変更になったことと関係ありますでしょうか?
可能性としてはあるかと思いますが、KODIに関しては使ったことがないのでなんとも言えません。
以下のコマンドでエンコードしています。
QSVEncC64.exe -u 1 --codec hevc --profile main10 --output-depth 10 --avhw --output-res -2x810 --cbr 1800 --audio-copy -i %1 -o "%~1@@".mkv --log "%~1@@".txt
4.07まではandoroidでシークできましたが4.08,4.12でシークできません。
ログを確認したところ「frame type IDR 1」となっていました。
>> frame type IDR 1
おそらくこれが原因です。どうやれば修正できるか調べてみたいと思います。HEVCの時だけ起こるようで謎ですね…。
こんにちは。
EPGStationのライブ視聴でMPEG-TSをmp4へ変換したいのですがうまく行かず困っています。
-c h264 --la-icq 30 --la-depth 10 --avhw --interlace tff --gop-len 30 --vpp-denoise 20 --output-res 1280x720 --vpp-scaling fine --audio-codec aac --audio-stream :stereo --avsync vfr --audio-ignore-decode-error 30 --format mpegts -i - -o -
ログが
[libaribb24 @ 0000023eb98f68c0] arib parser was created
[libaribb24 @ 0000023eb98f68c0] arib decoder was created
[mpeg2video @ 0000023eb98f4540] Invalid frame dimensions 0x0.
[mpeg2video @ 0000023eb98f4540] Invalid frame dimensions 0x0.
[mpegts @ 0000023eb5708540] Could not find codec parameters for stream 5 (Unknown: none ([13][0][0][0] / 0x000D)): unknown codec
Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options
[mpegts @ 0000023eb5708540] Could not find codec parameters for stream 6 (Unknown: none ([13][0][0][0] / 0x000D)): unknown codec
Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options
[mpegts @ 0000023eb5708540] Could not find codec parameters for stream 7 (Unknown: none ([13][0][0][0] / 0x000D)): unknown codec
Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options
[mpegts @ 0000023eb5708540] Could not find codec parameters for stream 8 (Unknown: none ([13][0][0][0] / 0x000D)): unknown codec
Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options
[mpegts @ 0000023eb5708540] Could not find codec parameters for stream 9 (Unknown: none ([13][0][0][0] / 0x000D)): unknown codec
Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options
[mpegts @ 0000023eb5708540] Could not find codec parameters for stream 10 (Unknown: none ([13][0][0][0] / 0x000D)): unknown codec
Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options
[mpegts @ 0000023eb5708540] Could not find codec parameters for stream 11 (Unknown: none ([13][0][0][0] / 0x000D)): unknown codec
Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options
[libaribb24 @ 0000023eb98f68c0] arib decoder destroyed
[libaribb24 @ 0000023eb98f68c0] arib parser was destroyed
Input #0, mpegts, from 'pipe:0':
Duration: N/A, start: 83872.634178, bitrate: N/A
Program 57352
Metadata:
service_name : NHKEFl17'K\
service_provider:
Stream #0:1[0x100]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, bt709, top first), 1440x1080 [SAR 4:3 DAR 16:9], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Side data:
cpb: bitrate max/min/avg: 20000000/0/0 buffer size: 9781248 vbv_delay: N/A
Stream #0:2[0x110]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 143 kb/s
Stream #0:3[0x130]: Subtitle: arib_caption (Profile A) ([6][0][0][0] / 0x0006)
Stream #0:4[0x138]: Data: bin_data ([6][0][0][0] / 0x0006)
Stream #0:5[0x140]: Unknown: none ([13][0][0][0] / 0x000D)
Stream #0:6[0x160]: Unknown: none ([13][0][0][0] / 0x000D)
Stream #0:7[0x161]: Unknown: none ([13][0][0][0] / 0x000D)
Stream #0:8[0x162]: Unknown: none ([13][0][0][0] / 0x000D)
Stream #0:9[0x163]: Unknown: none ([13][0][0][0] / 0x000D)
Stream #0:10[0x164]: Unknown: none ([13][0][0][0] / 0x000D)
Stream #0:11[0x165]: Unknown: none ([13][0][0][0] / 0x000D)
Program 57353
Metadata:
service_name : NHKEFl27'K\
service_provider:
Program 57354
Metadata:
service_name : NHKEFl37'K\
service_provider:
Program 57736
Metadata:
service_name : NHK7HBS2
service_provider:
No Program
Stream #0:0[0x12]: Data: epg
[h264 @ 0000023eb98fd800] ignoring invalid SAR: 0/0
QSVEncC (x64) 4.12 (r1979) by rigaya, Nov 23 2020 19:05:15 (VC 1928/Win/avx2)
OS Windows 10 x64 (18363)
CPU Info Intel Pentium(R) N3700 @ 1.60GHz [TB: 2.40GHz] (4C/4T) <Airmont>
GPU Info Intel HD Graphics (16EU) 200-700MHz (20.19.15.4531)
Media SDK QuickSyncVideo (hardware encoder) PG, 1st GPU, API v1.19
Async Depth 6 frames
Buffer Memory d3d11, 1 input buffer, 59 work buffer
Input Info avqsv: MPEG2, 1440x1080, 30000/1001 fps
VPP Enabled Denoise, strength 20
Resizer, 1440x1080 -> 1280x720 (fine)
AVSync vfr
Output H.264/AVC High @ Level 3.2
1280x720i 1:1 29.970fps (30000/1001fps), interlaced(tff)
avwriter: h264, #1:aac/stereo:stereo -> aac/stereo/192kbps
=> mpegts
Target usage 4 - balanced
Encode Mode LA-ICQ (Intelligent Const. Quality with Lookahead)
Lookahead depth 10 frames, quality medium
Windowed RC off
ICQ Quality 30
QP Limit min: none, max: none
Trellis Auto
Ref frames 3 frames
Bframes 3 frames, B-pyramid: on
Max GOP Length 30 frames
Output #0, mpegts, to '-':
Metadata:
encoding_tool : QSVEncC (x64) 4.12
encoder : Lavf58.49.100
Stream #0:0: Video: h264, nv12(top first), 1280x720, q=2-31, 200 kb/s, 29.97 fps, 90k tbn
Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp, 192 kb/s
Failed to SynchronizeFirstTask : unknown error.
Error in encoding pipeline. : unknown error.
となっておりました。
お手数ですが、解決法がありましたらよろしくお願いします。
QSVEncをいつも愛用させていただいています。ありがとうございます。1つお願いがあります。
QSVEncだと、dropした動画をエンコードしたとき、--audio-ignore 系の option を付けてもその先のエンコードを諦めるときがありますが
ffmpegの -fflags +discardcorrupt を使うことで救える時があります。
ので、QSVEnc にも -fflags +discardcorrupt 相当の、とりあえず最後まで走らせる option 等を検討いただけないでしょうか。
> ストリーム再生について
EPGStationを使用したことがないのもあり、お役に立てずすみません。
> dropしていても最後までエンコードしたい
discardcorrupt の実装はよくわかりませんが、おそらくデコーダがエラーになった際にリセットすればよいのだと思います。ただ、もともとリセットは実装難易度が高く、リセットに関してはあきらめて実装を簡素化した経緯があるので、なかなか難しそうです。
あと手元に微妙にdropのあるようなデータがない(自分の環境だとdropするものはdropしまくっていてそもそも再生できない)のも難点です…。
ご回答ありがとうございました。
エラーが出たときにリセットして再開するのがベストですが、例えばエラーを検知したらソフトエンコードに切り替えて最初から1度だけリトライするとか
指定したバッチファイルに切り替える(切替先からffmpegを使う)等の
簡易な実装でも良いので、もしご検討いただければ幸いです。