10

C# で記述されたアプリケーション内のビデオ プレーヤーの基盤として VLC を使用したいと考えています (VLC は、使用している形式を適切にデコードできる数少ないプレーヤーの 1 つであるため)。実行することは次のとおりです。

  1. ビデオ ファイル内の個別のフレーム間を前後にブラウズする機能。
  2. 各フレームの正確なタイムスタンプをミリ秒単位で表示し、タイムスタンプをアプリケーションに中継する機能。

現在、VLC 拡張 LUA スクリプトを使用してこれを行っていますが、VLC がvlc.var.get(input, “time”)を介して返す時間は精度に欠けており、複数のビデオ ファイルの同じフレームで異なる場合があります。ファイルの読み取り。フレームブラウジングもあまり確実に機能しません。さらに、この方法で受け取った値を別のアプリケーションに自動的に中継することはできません。

libVLC 用の LibVLC.NET ラッパーを使用してみましたが、それでもフレーム間をブラウズできず、返されたミリ秒カウント値はかなり奇妙でした。VLC (libVLC) が再生中に実際の時間値を返すのではなく、ある種の丸められた値、つまりミリ秒までの精度で読み取るときに大幅な遅延を伴う値を返すようです。標準の VLC インターフェースは、ミリ秒までの正確な時間値を表示することも、フレーム間をブラウズすることもできません。

.NET を使用して作成されたアプリケーションから VLC を何らかの方法で実行することにより、VLC で前述の 2 つのタスクを実行する実行可能な方法はありますか? または、他のオプションを検討する必要がありますか?

4

1 に答える 1