#はじめに
PowerPoint のセッション録画機能と動画書き出し機能、使ってますか!?
PowerPoint には「スライドショーの記録」という機能があって、自分のプレゼンテーションに事前にナレーションをつけることができるようになっています。
そして、事前にナレーションをつけたスライドで「エクスポート」機能の「ビデオの作成」を行うと、自分のプレゼンテーションをビデオ化することができます。
この機能は、簡単にプレゼンをビデオ化したいときに便利なのでぜひ覚えていただいて活用いただきたいと思っています!
今回ハマったこと
そんな便利な PowerPoint のビデオの作成機能ですが、ちょっとしたハマりポイントがあります。
それがここの部分!
なんと、動画のフレームレートが、映像業界で一般的な 30fps でも 29.97fps でもなく、30.30fps という超中途半端な値になっている!
これを、DaVinci Resolve (ほかの編集アプリがどうかは試してないのでわかりません…)に入力すると、この中途半端なフレームレートを正しくハンドリングできていないのか、ビデオの後半になればなるほど、映像と音声のズレが発生してしまいます。多分 30 分経過時点で 1-2 秒ズレてると思います。
Workaround
これを回避するためには、30fps の固定フレームレートに変換してしまうのが一番安全策!と思ったので、フリーのトランスコードツール、HandBrake で変換してしまいました。
やっている中で、いくつかのハマりポイントがあったので、それも共有しておきます。
NVEnc を使うとトランスコードエラー
もしかしたら NVEnc が中途半端なフレームレートをハンドリングできないのかもしれないです。トランスコードが無事に走り切ったように一瞬見えるのですが、レンダーキューのログを見ると、最後にエラーになってしまっていました。出力された映像は、DaVinci Resolve に読み込ませた時と同じように、後半ほど音がズレていました。
それを防ぐために、自分の環境では Intel の Quick Sync Video (QSV) を使うことにしました。
これで、エラーを防ぎつつも、音声と映像のあった 30fps の固定フレームレートのビデオが出力できました。
音声を再トランスコードするとノイズが発生する場合がある
音声についてはもともと AAC で保存されていますので、再トランスコードする必要はないはずなのですが、HandBrake のデフォルトの設定だと AAC などで再トランスコードする設定になっています。
この設定のまま進めると、音声にブツブツとノイズが入る場合がありましたので、PowerPoint の出力した音声そのままでパススルーさせます。
音声トラックのコーデック設定を "AAC Passthru" に設定すれば OK です。
#まとめ
上記の設定を行って HandBrake で 30fps 固定フレームレート化したビデオを入力したところ、DaVinci Resolve に読み込ませても音声と映像のズレは発生しなくなりました。
もし同じような事象に困っている方がいらっしゃいましたら、役に立ったら幸いです。
おまけ
そもそも、変なフレームレートで PowerPoint が出力しなければこんなことにはならないので、ちゃんと 30fps のビデオを出力するようにしてほしい…。