📺

VLC+Radeonハードウェアデコードでブロックノイズが出る場合の対処(Windows)

2022/03/08に公開

大きなスポーツイベントが開催されたので約10年ぶりにPCによる録画に挑戦してみた。機材はPT2 on Core2Duo。OSがUbuntu 12.04 LTSだったので20.04 LTSを新規インストールして臨んだ。

録画したファイルをWindows上のVLCで再生してみる。

えっ何ですかこれは。

BS放送のみブロックノイズが発生している。録画が失敗したのだろうか。それはそれで諦めるとしても、こういう不調を放置するのは好きじゃない。なんとかして原因や対処方法を突き止めたい。

試行錯誤

1.ハードウェア周りの調査・変更

拙宅では録画の1か月ほど前にプロによるアンテナ工事が行われている。地デジ録画は問題なくBS録画のみ問題が発生していることから、十中Hack、アンテナ線などのハードウェア周りの不具合であろう。おそらく原因はそこにあるはずだ。

アンテナ線周りの改善→NG

配線変更、ブースター追加&撤去、アッテネーションなど、いろいろやってみた。しかし、どれも改善に至らず。そもそもCNRが16~17dBほど得られているので問題があるのか無いのかよくわからない。

購入したブースターが余ってしまった。

チューナーの変更→NG

チューナーPT2の故障を疑い、USBチューナーを購入してみるも同じ症状を確認。

軽く落ち込む。また、つまらぬものを買ってしまった。

2.録画ファイルと再生環境の調査

ハードウェアの問題でなければ、録画ファイルや再生環境の問題だろうか。録画ファイルのストリームコンテナから所望のデータのみ抜き出せれば手がかりが掴めるかも知れない。

ffmpegでprogramを抜き出す→NG

同じ症状を確認。ならばさらにその中身を抜き出してみよう。

ffmpegでprogram中のvideoとaudioだけ抜き出す→NG

同じ症状を確認。まじかー。方向転換しよう。

ffmpegでmp4エンコード→OK

あれれ??、ブロックノイズが出ない。なんだこれは。

MPC-BEで再生→OK

VLCの代わりにMPC-BEを使ってみる。録画ファイルの再生でもブロックノイズが出ない!。ということは、VLCの再生に限って問題があるのか。

VLCの設定変更

ハードウェアデコード設定の変更→OK

おそらく、デコーダーを変えれば良いのだろう。

ツール→設定から設定画面が開くので、入力/コーデック欄を見てみる。デフォルトは「ハードウェアアクセラレーションによるデコード」が「自動」だが、他の選択肢へ変更してみる。

やった!、改善した。「DirectXビデオアクセラレーション(DXVA)2.0」へ変更すれば良いようだ。

GPUの試行錯誤

GPUドライバの変更→NG

コーデックの「ハードウェアアクセラレーション」とはGPUの動画再生支援のことだろう。試しに、GPUのドライバをWindowsUpdateで入るものから、メーカー(Lenovo)推奨のバージョンへ変更してみる。いったんVLCの設定は元に戻しておく。

AMD Radeon(TM) Vega 11 Graphics バージョン30.0.13023.1012

AMD Radeon(TM) Vega 11 Graphics バージョン26.20.14054.5001(メーカー推奨バージョン)

結果は改善せず、同じ症状を確認。GPUドライバを変更して改善できるものではないようだ。

結論

Radeon GraphicsのWindows PCにて、VLCで再生時にブロックノイズが出た場合、VLCのツール→設定→入力/コーデックから「ハードウェアアクセラレーションによるデコード」を「DirectXビデオアクセラレーション(DXVA)2.0」へ変更すれば解消できる場合があることがわかった。

GitHubで編集を提案

Discussion