動画ファイルのアーカイブ目的で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 で撮影する、という妥協で落ち着かせようかと思っています。
今後、何かまた調べたら、この記事に追記・修正するかも。
<参考資料>
- Chroma Subsampling – FFmpeg
- High Efficiency Video Coding tiers and levels - Wikipedia
- FFmpeg Codecs Documentation
<素晴らしい資料の数々>
- digital_video_introduction/README-ja.md at master · leandromoreira/digital_video_introduction · GitHub
- x264 と x265 で CRF 毎に SSIM と Bitrate の関係をグラフ化した | ぶっちろぐ
- rigayaの日記兼メモ帳 画質比較 2018.11 (アニメ版)
- rigayaの日記兼メモ帳 画質比較 (2020.03) 実写編
- rigayaの日記兼メモ帳 画質比較 (2020.03) 実写編 エンコード速度
- H.264 vs H.265 vs VP8 vs VP9 vs AV1 - Chienomi