last update 2021年3月30日 22:57

動画ファイルのアーカイブ目的でH.265を使う自分用メモ

新しいカメラを買ってからというもの、とんでもないスピードで増え続け、HDDの領域を食いつぶしていく動画ファイル達。

「このままでは破綻してしまう!」と危機感を持ったので、本気で動画ファイルのアーカイブ方針について検討してみました。

ということで今回は、「アーカイブ目的で H.265 を使うなら知っておきたい知識・経験」の自分用メモを書いておきます。

「お気に入りのアニメを最高画質でエンコードして保存しておきたい」という話ではなく、日々撮影した動画ファイルをそこそこの画質・容量で、現実的な処理時間でエンコードしたい、という用途なので、その点、お間違えなく。

使うならFFMPEG?HandBrake?

これに関しては、最終的に FFMPEG を使うことにしました。HandBrake も何らかのカスタムプリセットを作成すれば良いのかもですが、4K 動画のコンテナが .mkv(マトリョーシカ)形式の段階で、その後のワークフローへの影響が大きくて。DaVinci Resolve が .mkv に対応してないから .mp4 とか .mov で出したいんですよね。

HandBrake もコマンドラインから使えた気がしますが、色々と融通が利くのは FFMPEG、ということで。

MediaInfo / MPC-BE / VLC で情報確認

エンコードした動画ファイルのメタ情報・タグを確認するツールは、MediaInfo / MPC-BE / VLC の3つ。あと、FFMPEG を使っても良い。

だいたい撮影日と色域の記録さえ残ってれば、あとはなんでもいいかな。

ExifTool / ExifToolGUI

撮りためたデータのアーカイブ時、再エンコードによって失われてしまうメタデータの保存と移行が気になるようになります。特に、撮影日時の情報が失われてしまうのは結構痛いです。

ということで、こんな感じでメタ情報を継承することに。

ただし、この方法でも色域関連のタグはコピーされないので、そこはエンコード時に対策するのが良い気がしていますが、具体的な実装方法はまだ詰まっていません。将来、この部分は追記するかも。

エンコード速度と画質のバランスに関する知見

日々生成される動画を毎日エンコードする、となると、エンコード速度はかなり重要です。

また、主目的はデータ量の削減ですから、ビットレート・画質の設定もそこそこ下げたいわけで、そのバランスも課題になってきます。

H.265 のハードウェアエンコードとソフトウェアエンコードとを比較すると、ハードウェアエンコードは爆速だが画質は劣り、ソフトウェアエンコードは画質は有利だが処理速度が2桁近く落ちるという、長所と短所があります。

ただ、ハードウェアエンコーダの進化ぶりには目を見張るものがあり、GPU 世代が新しくなるにつれ、画質はどんどん向上しています。

私の手持ちの GPU が RTX 3080 と新しい世代であることや、また、10bit でエンコードすることでさらに画質をUPできる、ということも分かって来たため、今回は、ハードウェアエンコードを使う方針としました。

4:2:2 10bit 動画をどうするか

手持ちのカメラで撮影した 4:2:2 10bit 動画素材をどうアーカイブするか、は、なかなか悩ましい問題です。というのも、NVIDIA は少なくとも RTX 3000 世代に至るまで 4:2:2 動画のアクセラレーションをサポートしておらず、ハードウェアエンコードによる速度の利点を活かせないからです。

この問題については、編集負荷を下げる目的もあり、4:2:0 10bit で撮影する、という妥協で落ち着かせようかと思っています。

今後、何かまた調べたら、この記事に追記・修正するかも。

<参考資料>

<素晴らしい資料の数々>

コメントを記入