.avi形式動画ファイルの録画・再生時間の不一致について
顕微鏡用USBカメラWRAYCAM-NF/NT/NEO/SR/CLシリーズの制御ソフトウェア”WraySpect”での動画撮影において使用可能な動画ファイルは「.avi」という形式になっています(現行の顕微鏡用USBカメラWRAYCAMシリーズ用ソフトウェア”MicroStudio”でも.aviの選択は可能です)。
.avi形式で録画を行った場合、よくお問い合わせいただくのが
「録画時間と再生時間が一致しない」
というものなのですが、これは.aviファイルの性質上やむを得ないものとなっています。本記事では.aviファイルの性質と、録画時間・再生時間不一致に対する対処方法を解説していきます。
1. .aviファイルの性質について
.aviファイルで録画を行う際の仕様・性質として、「動画のコンテナ数決定後に撮影フレームを挿入する」が挙げられます。WraySpectで録画ボタンをクリックした際の挙動を例に説明します。
WraySpectにて録画を開始した際、まず動画を保存するためのコンテナのフレーム数が決定されます。このフレーム数は、常時変動しているプレビューフレームレートを参照し、録画ボタンをクリックした瞬間の数値が適用されます(録画フレームレート:オートの場合)。
例えばフレームレートの数値が10.0~12.0fps(fps=frame per second(1秒間のフレーム数))の間で変動している場合、録画ボタンをクリックしたタイミングによって、動画のフレームレートが10fpsになったり11fpsになったりする、ということです。
2. 録画時間と再生時間の不一致の原因について
前述のとおり、動画コンテナのフレーム数は録画の時点で決定します。
しかし、実際に撮影されるフレームレートは撮影時のプレビューフレームレートが適用され、これが録画時間と再生時間の不一致の原因となります。
動画コンテナに対し、fpsが一致する動画が撮影されていれば録画時間と再生時間が一致するのですが、実際にはフレームレートは常時変動しているため、10fpsの動画コンテナに対して必ずしも10fpsの動画が撮影されるとは限りません。
以下、10fpsのコンテナに対して実際に録画されたフレーム数による動画再生のイメージです。
2-1. 10fpsコンテナに対し10fps録画した場合
10fpsコンテナに、フレーム数10fpsの動画を撮影し保存した場合、コンテナのフレーム数と撮影した動画のフレーム数が一致するため、録画時間と再生時間が一致します。
2-2. 10fpsコンテナに対し20fps録画した場合
10fpsコンテナに、フレーム数20fpsの動画を撮影し保存した場合、1秒間の動画として保存できるフレーム数(10fps)を超過するため、コンテナには0.5秒分のフレームしか保存できません。
しかし、10fpsのコンテナで動画ファイルが生成されるため、20fpsのフレームを保存するためにコンテナは2秒分使用されることになります。
そのため、録画時間1秒であるにもかかわらず、再生すると2秒間の動画になる、という不一致が起こります。
2-3. 10fpsコンテナに対し5fps録画した場合
10fpsコンテナに、フレーム数5fpsの動画を撮影し保存した場合、用意されたコンテナのフレーム数に満たないため、1秒間の動画を生成することが出来ません。
そのため、1秒間の録画時間に対して再生時間が0.5秒となり、早回しのような映像になってしまいます。
2-4. 録画時にフレームレートが変動した場合のイメージ
12fpsの動画コンテナで録画開始したファイルについて、毎秒のフレームレートが変動した場合は上記のようになります。
生成された動画ファイルのfpsは一定ですが、撮影されたフレーム数は毎秒差異があるため、再生される速度が速くなったり遅くなったりします。
3. .aviファイルで録画時間・再生時間を一致させる対処法 ※WraySpectの場合
少しわかりづらいですが、前述のとおり.aviファイルはその仕様上、録画時間と再生時間の完全一致が非常に難しい形式となっています。
しかしながら、完全一致を保証するものではないものの、制御ソフトウェアWraySpectでは可能な限り録画時間・再生時間を近似させる対処法がありますので、お困りの際は以下の手順にてお試しください。
3-1. 露出時間をフレームレートが安定しやすい数値に調整する
リアルタイムプレビュー時のフレームレートは顕微鏡用カメラの解像度ごとに最大値が決まっており、さらに露出時間の設定によって増減します(パソコンの性能も影響します)。
例えば、顕微鏡用USBカメラWRAYCAM-NF300の中解像度(1016 X 760 Skip)のフレームレート最大値は39fpsです。標本撮影時の露出時間が40ms必要であった場合、1秒間(1000ms)の間に25コマの撮影が可能な露出時間となるため、最大フレームレートは25fpsとなります。
加えて動画撮影時はパソコンの負荷が高まるため、さらにフレームレートが低下する可能性が考えられます。そのため、まずは露出時間をフレームレートが性能上の最大値よりも低い水準になるように設定し、テスト録画を行って録画時のフレームレートがどの程度の数値で推移するかを確認します。
3-1. フレームレートをマニュアルで設定する
前項の設定でのテスト録画時、20fps前後でフレームレートが推移していた場合は、録画フレームレートを20fpsに設定します。
保存形式設定>録画フレームレート>マニュアルをクリックし、ボックスに「20」を入力後、OKをクリックして設定を完了します。
上記設定の場合、.aviファイルのコンテナ数を録画スタート時点のフレームレートにかかわらず「20fps」で指定するため、実際に撮影された動画のフレームレートが20fps前後で推移していれば、録画時間と再生時間の差異は最小限に抑えられます。
「録画フレームレート」はあくまでも動画ファイルのコンテナ数を指定するだけです。設定した数値通りのフレームレートで撮影されるというものではないため、間違いの無いようご注意ください。