CaMiL

もの作ることで幸せをいただいて、さらさらと暮らしたい

A's Video ConverterでTSファイルをMP4(H.265)エンコードする設定

我が家ではWindowsを録画サーバー化して地デジ放送を自動録画している。

エンコードの世界は深く果てしない感じがして、初見では複雑さ情報量の多さに圧倒される。

次々に新しい規格や技術の進化もはやく、数年前の情報では古く、Googleでも情報を選別するのがかなりめんどくさい。

 

 A's Video Converterの導入については以下のリンクを参照のこと。

ということで2019年10月時点において、AMDGPUでも高速にエンコードできるA's Video ConverterでTSファイルをMP4(H.265)エンコードの納得のいく設定を得られたので共有しておく。

 

はじめに

 TSファイルをできるだけ簡単にきれいで滑らか、劣化のないエンコードかつ元のTSよりも容量を小さく。

目的としてはまだファイル容量の圧縮は頑張っていないので、ほとんどのファイルが半分以下にはなる程度だ。

今のところ保存目的ではなく貯めて、気が向いたら見る程度で運用中である。

エンコード職人には到底及ばないが、うちの環境では問題のないエンコード設定となっている。

TSからMP4にエンコードすることでデインターレス(インタレース解除)処理がきれいにできるため、むしろ元のTSよりも鮮明な映像になる。

さらにはMadVRのフィルターを使えば元のTS映像よりもノイズが少なくきれいな映像に見えるはずだ。(特にアニメでは)

 

実写とアニメで設定が若干違うので該当の設定箇所で都度説明していきたい。

 なお、グラボや環境の違いによっては異なる結果になる場合があるので参考までにということでご理解ください。

 

22019/11/14追記:この記事はMadVR環境での検証結果です。

 

ビデオエンコードの設定

A's Video Converterのエンコード設定は[設定]から[トランスコード設定]を選択して行う。

f:id:beso:20191029155204g:plain

トランスコード設定(ビデオエンコード

ビデオエンコードの設定を変えることで圧縮率などを調整することができる。

最初の項目の[エンコーダ]はH.265に変更する。

現在このH.265エンコーダが高圧縮かつ高品質でGPUでのエンコードに対応しており高速に処理できるものだ。うちの環境では30分の番組を3分(350fps程)でエンコードできる。(エンコード速度だけならH.264のほうが速い)

[事前解析]と[VBAQ]は有効でも無効でも処理が増えるだけで映像にそれほど影響がないようなので無効にしている。

[レートコントロールVBR

[目標ビットレート]6000kbps

[最高ビットレート]14000kbs

と変更していく。

 他は難しいことは考えずに基本的には全部自動で問題はない。正直自分はここらへんはまだ触っていない。それよりもまともな映像にエンコードできる設定を探すまで理解したところだ。高圧縮に挑戦するならいろいろ試してみましょう。

 

オーディオエンコード設定

f:id:beso:20191029162047p:plain

トランスコード設定(オーディオエンコード

 オーディオは今回は触らない。MPEG4 AACで[ビットレート]を多少下げたところでわずかな容量削減にしかならない。

 

フィルタ設定

どのような映像を出力するかという、もっとも重要な設定項目である。

f:id:beso:20191029162452p:plain

トランスコード設定(フィルタ)

[ハードウェアビデオプロセッサ]にチェックし、設定を開く。

それ以外はチェックを外す。

 

f:id:beso:20191029162835g:plain

トランスコード設定(フィルタ ‐ 設定)
リサイズ

[リサイズ]にチェック。

地デジ程度の解像度なら[サイズ]は1280x720もあれば十分。

[高品質ダウンスケーリング]を有効にチェック。

 

デインタレース

インタレース解除ともいう。

設定は[デインターレース]にチェック。

[モード]はBob

これは非常に大事で左がBob、右が自動に設定された映像のGIFである。

f:id:beso:20191029171832g:plainf:id:beso:20191029171857g:plain
←Bob 自動→

 

Bob以外では画面がパンする(カメラが動く)映像があると猛烈にカクついて映像としてだめだ。(適応もまあまあいいがBobの方がきれい)

これはアニメでも実写でも同じ傾向。

 

[フレームレートを2倍にする]のチェックを外す。

[フレームレートを2倍にする]をチェックすると、下のGIFアニメのような現象が起きる。これも実写でもアニメでも同じである。

本来存在しないフレームが補完されるためなのか、動きのない文字やテロップに変なちらつきが発生する。 

f:id:beso:20191029175600g:plainf:id:beso:20191029175609g:plain

←チェックなし チェック有り→

 

[プルダウン検出]はチェックを入れておく。

よくわからないけれど、フレームレートを判定して処理を行うかどうかを検出してくれる機能のようだ。

 

フレームレート変換

TSの元のフレームレートは29.970で、実写映像の場合フレームレート変換でフレームレートを23.970に下げるとその分滑らかさを失う。代わりにデータ容量は小さくなる。

なので実写の場合は[フレームレート変換]のチェックを外したほうが引っ掛かりがなく滑らかである。

 

アニメの場合、アニメ制作の段階でフレームレート24で制作されているらしいので、29.970で再生すると動きがぎこちなくなり滑らかさが失う。むしろ余計なものを省いた元の映像に近いフレームレートに変換し戻すことで滑らかに再生することができる。

なのでアニメの場合はチェックを入れ、[フレームレート]23.970にすると引っ掛かりのない滑らかな映像となる。なぜフレームレートが24ではなく23.970なのかはここで追及しない。

 

GIFは実写映像の切り抜きとなっており、

左がチェックなし、右がチェック有りとなっている。

切り抜きGIFでは判別が難しいが実際の映像でみるとよくわかる。

f:id:beso:20191029220427g:plainf:id:beso:20191029220407g:plain

←無変換29.970 変換後23.970→

 

 ちなみにAMDのFluqid Motionをつかう場合はフレームレートは23.970でないと有効にならない。ちなみに最近買ったRadeon RX 5700XTはFluqid Motionに対応してないと後から知って、ショックを受けている。

 

デコード設定

f:id:beso:20191029235116p:plain

トランスコード設定(デコーダ

デコードの設定は最初に紹介したGigazineの通り。

[設定…]の中もいじらず初期設定のまま。

 

<おまけ> エンコードのBatファイル

うちでは録画終了後に録画後実行Batを設定して自動変換している。

ちなみに変換のBatファイルの中は

 

call "c:\Program Files\A's Video Converter\AsVideoConv.exe" "[ファイルパス]" "/p[プリセット名]"

 

のようになっている。

[プリセット名]はA's Video Converterに保存したプリセット名だ。

録画管理にEpgTimerを使ってる場合は

 

call "c:\Program Files\A's Video Converter\AsVideoConv.exe" "$FilePath$" "/pJISSYA"

 

のようになる。

 

<おまけ>テレビアニメとアニメ映画の設定について

テレビアニメのフレームレートは23.970が最適だが。

アニメ映画は無変換29.970のフレームレートでないとカクつく可能性が高い。

やはり映画となると30fpsに最適化された映像なのでしょうか。

 

おわりに

自分もエンコードに関しては右も左もわからない程度。

色々試してきたが画面のカクつきと文字などのチラつきがなくなれば映像としては申し分ないだろう。

フレームレートも適切なものを選べば再生も滑らかだ。

 

ただTSファイルを自前で録画できるようにするまでが結構大変なので、これから始める人は頑張ってググろう。

 

また、AMDに対応したエンコーダを開発されているBlueskyさんには感謝するばかりです。

エンコーダ以外にもDirectShowフィルタやキャプチャーやAMDドライバインストーラなど開発されているのでチェック!