BBRK 26-09-05


OSMO POCKET 4P の音欠け対策  

BBRK 26-08-16「OSMO POCKET 4P の音欠け」のつづき。

試行錯誤の末、編集ソフトに依存しない、満足できるレベルの音欠け解消のフローを確立しました!!(祝)
音欠け部分は音声が欠落しているのではなく、サンプリングされた各データの再生タイミングが早すぎて前方向に詰まっていることにより生じているのは、ほぼ間違いないでしょう。その証左に、このフローで処理した音声はキレイにつながります。もし欠落しているのであれば、つないだ部分で飛んだりポップノイズになったりするハズですからね。

音欠け解消フロー
1. 録画時に自動分割されたファイルを結合して 1本の動画ファイルにする。
2. 結合した動画ファイルから音声を wavで抜き出す。この音声は元ファイルよりも尺が短い(1時間で1秒ほど)。
3. 元の動画ファイルの音声を wavで抜き出した音声にすげ替える。
4. 音声を伸ばす処理を行う。

使用ソフト:ffmpeg(工程1,2,3,4)、ffprove(工程4)

以前仕事で、デジタル放送の録画/再生部分のソフトウェア開発をしていたので、STC、PTS、DTS といったタイムスタンプを同期させる仕組みにより映像と音声の同期を取っているという知識はありましたので、本件については、音声ストリームに付いているタイムスタンプをすげ替えればミニマムコストで音欠けと同期の解消は出来そうに考えましたが、そんなことができるツールがわからず断念しました(苦笑)

フローについて:
上記工程3で、音声を wavで抽出しているのは、aacや m4aでは、動画と再度多重化したときにタイムスタンプの影響なのか音欠けが復活してしまうからです。編集ソフトのタイムラインに載せると復活するのですが、DaVinci Resolveでは発生する一方で、EDIUS Pro 8では発生しないという編集ソフト依存な状況で、これもタイムスタンプが絡んでいそうです。
また、音声を伸ばす処理のために伸ばす比率の計算が必要ですが、ffprobeで音声の長さを取得すると wav以外では実際よりも長い数値が得られてしまい、伸ばし不足になってしまうのです。
なお、拙作 "OSMO ClipJoiner" では工程3、4を同時に行っています。

そんなこんなで "OSMO ClipJoiner" 作りました(笑)
バッチファイルと PowerShellスクリプトで作成しました → OSMO_ClipJoiner.zip
ご利用は自己責任でお願いしますね。
使用方法は、解凍して出てくる OSMO_ClipJoiner_readme.txt をお読みください。
なお、"OSMO ClipJoiner" は OSMO POCKET 4P 依存ではないので、同じ原因により音欠けが発生してる動画ファイルの対策にも使えると思います。
参考までに、OSMO POCKET初代 で撮ったファイルに使ってみましたが、問題無く音欠けを解消できました!!(笑)

+   +   +   +   +

そういや、最近の OSMO POCKET 4P ではファームウェアに対策がはいり、音欠けがかなり改善されているらしいですね。まだ確認していませんが。

■関連記事
・BBRK 26-08-16 : OSMO POCKET 4P の音欠け


BBRK に戻る / BBRK 26-09-05 の全記事に戻る