合成アーカイブのポスト処理

アーカイブ後処理ツールを使用して、自動アーカイブ機能によって生成された Vonage Video API アーカイブのコレクションを処理します。

Video APIアーカイブには時間制限があります。セッションの一部が1つのアーカイブに記録されない場合があります。セッションの一部が失われないようにするには、自動アーカイブ機能を使用してください。 自動アーカイブこれは、非常に長いセッションの録音をカバーするために、複数のファイルを生成することができます。あるいは 同時アーカイブ 機能を使って、前の録画を終了する前に2回目の録画を開始する。どちらの場合も、アーカイブは1つの終了と次の開始の間に短いオーバーラップがある状態で生成される。

全セッションを1つのビデオファイルに収めたい場合は、私たちの 合成アーカイブのポスト処理 このツールは、録音をマージし、知覚的に可能な限りスムーズな移行を試みます。このツールを使って、複数の短いアーカイブファイルのメディアを含む、1つの長いファイルを生成することができます。このツールは、Vonage Video アーカイブとして作成されていないビデオ録画にも使用できます。

このガイドでは、後処理ツールがどのように重複期間を決定し、どのように2つのアーカイブ間のマージを生成するかについて簡単に説明します。

概要

長時間の録画を提供するために、我々の提案は、繰り返されるデータの最初と最後を表すビデオフレームとオーディオサンプルを見つけることによって、連続する2つのアーカイブ間で重複するメディア情報を検出する。ここで紹介するツールは、この冗長性を除去した長いアーカイブを生成するために決定規則を使用する。ブラックフレーム、冗長性の高い情報、静的性の高いコンテンツ、グリッチ、オーディオとビデオの非同期の存在に強い。

重複領域を発見するために、アーカイブの後処理ロジックは、最初のアーカイブの終了と2番目のアーカイブの開始の数秒前に、両方のファイルのほんの一部を分析するだけでよい。

入力アーカイブは、同一のコーデックプロパティを持っている必要があり、そうでない場合、ツールはエラーで失敗します。また ffmpeg そして エフエフプローブ ソフトウェアがユーザーのパスにインストールされ、ここに記載されている必要なオーディオとビデオのパラメーターでコンパイルされている必要があります:

  • コンポーズド・アーカイブ・ビデオ・パラム
    • コーデックH264
    • プロファイル制約されたベースライン
    • ピクセル・フォーマットYUV 420p
    • レベル: 4.1
    • FPS: 25
    • PTSタイムスケール:90000
  • コンポーズド・アーカイブ・オーディオ・パラム
    • コーデックAAC LC
    • サンプルレート48Khz
    • チャンネル1
  • コンテナ
    • タイプ: mp4

コンテンツタイプ

アーカイブには、音声のみ、映像のみ、あるいはその両方が含まれることがある。オーバーラップするコンテンツについて:ビデオモーションは非常に静的であったり、非常にダイナミックであったりします。これとは別に、私たちのツールは他の困難なコンテンツに直面する可能性があります。例えば、パブリッシャーがオーバーラップ期間中にパブリッシングを停止し、最終的なアーカイブにブラックフレームが存在する場合や、メディアフローが記録される際にパケットロスが発生し、ビデオ側でグリーンデコーダーのグリッチや途切れたオーディオが発生する場合などです。

オーディオとビデオのオーバーラップする時間範囲は、それぞれ独立して評価されることに注意してください。

アルゴリズム

音声のみのアーカイブ

人間の聴覚システムが周波数を対数的に知覚するように、我々の音声アルゴリズムは、時間と共に変化する第1音声信号と第2音声信号のそれぞれの終了部分と開始部分の周波数コンテンツを対数的に評価する。

時間-周波数変換が行われると、処理された信号を分割し、それぞれの相関を繰り返し計算するために、一定の大きさのスライディングウィンドウが使われる。

我々は、アルゴリズムのスライディングウィンドウ計算中に実行される反復回数に応じて、2つの異なる解決策を提供する:

  • ディープ・サーチこのオプションは、実行中のコマンドに-sまたは--deep-searchが付加されている場合に実行できる。
  • 部分検索デフォルトのアルゴリズム。

ビデオ専用アーカイブ

オーバーラップするビデオフレームを分析するために、いくつかのメトリクスが実装されている。それぞれ、これらのアルゴリズムが返す最小値が高いほど、両映像のフレーム間の類似度が高いという考えに基づいている。音声と同様に、後処理コードは、ユーザーが評価期間として指定した最初の秒数に対応する2番目のビデオ部分を、1番目のビデオの終了部分の同じ秒数から対応するフレーム上にフレーム間でスライドさせる。

このコードには、結果をグラフィカルに表示するオプションがあります。そのような場合、グラフは、オーバーラップが起こる最初のアーカイブと2番目のアーカイブの最も高い類似関係のフレームを示す緑色の領域を表示します。さらに、最も類似したフレームが連続的に並んでいることを反映し、45度の線もそれぞれ青で表示されます。この相関関係は後にタイミングデータに変換され、ビデオのオーバーラップ期間を得る。

我々の4つのアルゴリズムのいずれかを計算する前に、必ずフレーム単位の前処理が行われることに注意してほしい。

オーディオ+ビデオ・アーカイブ

オーディオとビデオ両方のアーカイブがある場合、我々のツールはそれぞれのオーバーラップ期間を別々に見つける。次に、交差点を評価し、a)交差点がNULLの場合、b)オーディオとビデオの交差点が十分に類似していない場合、c)両方のオーバーラップが非常に類似している場合、によって異なる判断を下す。a)とb)の場合、ビデオデータが非常に静的な傾向を示す可能性がある場合、オーディオ情報が通常より正当であるため、オーディオ重複データが優先される。最後に、c)の場合、両方のオーバーラップ期間がマージメカニズムに渡され、各メディアトラックをマージする際に、オーディオとビデオのそれぞれのインターバルが使用される。

その他の有用な資料

当社の開発者向けドキュメントには、わかりやすい説明とすぐに使えるコードが含まれています。のREADMEファイルを参照してください。 https://github.com/Vonage/archive-post-processing そして https://github.com/Vonage/archive-post-processing/tree/main/examples/archive-stitcher.


参考文献