2011-12-19 6 views
1

私たちが行ったプロジェクトの1つでは、ビデオキャプチャ&レコーディングライブラリを探しています。私たちの基盤(Google検索に基づいて)は、vlc(libvlc)、ffmpeg(libavcodec)、gstreamerが同じように利用できる3つの一般的なフリーでオープンソースのライブラリ/マルチメディアフレームワークであることを示しています。どのようにこれらのライブラリは、次のパラメータで比較します:ビデオキャプチャ&レコーディングのライブラリ/フレームワークの選択

  1. ソースに使用するライブラリ
  2. 機能を使用している製品のコンポーネントのいずれかを開く必要なしに商用製品内での使用を許可するライセンスポリシー効果的にマルチスレッド環境での使用および維持するために
  3. 簡単に(ライブラリは、本質的にスレッドセーフでなければならない)
  4. ドキュメント:APIは十分に文書化されなければならない...これは...相対的なものである:)

主な目的は、RTSPビデオストリーム(H.264/MPEG-2/MJPEGエンコード)をキャプチャし、これらのストリームを解析/処理に使用できるように生のビデオ/フレームに変換し、 (MPEG2/H.264エンコーディングを使用して)MP4ファイルの形式でディスクに格納します。

P.S. vlcはlibavcodecライブラリを使用しているため、FFmpegもvlcのコンポーネントの1つです。 gstreamerにも同じことが当てはまりますか? ffmpegの依存関係はありますか?

あなたの回答を待っています。

よろしく、

Saurabhガンジー

答えて

4

私はあなたがのgstreamerを使用することをお勧めします。

Gstremerはマルチメディアフレームワークであり、さまざまなタスクのために非常に多くのプラグインを持っています。プラグインはライブラリの1つのタイプです。そしてをキャプチャするためにrtsp生のビデオをに、をmp4に多重化してすべてGstermerで最高のプラグインを簡単に見つけることができると思います。ちょうどこれのために1つのアプリケーションを書く必要があります。

1. Licensing policy to allow use within a commercial product without 
    the need to open source any of the components of the product that is 
    using the library 

私はGstremerは内部のすべてのスレッドのための世話をするこの

2. Ability to be used effectively in a multi-threaded environment 
    (library should be inherently thread-safe) 

いやについて多くを知りません。

3. Easy to use and maintain 

いやGstremerは使用し、維持するのは簡単です

4. Documentation: API should be well documented...this is relative...:) 

いやGstremerはverryうまく管理している

ませんGstermerフレームワークはffmpeg.but Actualyのgstremerに依存しません は、いくつかのプラグインを持って

文書化されたAPIましたffmpegに基づいています。すなわち、 gst-ffmpeg

関連する問題