回答:
いくつかの異なるビデオ取得APIがあります。
「カムコーダー」のフレーバーに応じて、これらのいずれか(または一部、またはまったく)を使用できます。
古くから、まともなビデオカメラにはanlog out(例: "composite")が付属しています。任意のコンピューターでそれを使用するには、最初に信号をデジタル化する必要があります。これは通常、コンピューターのフレームグラバーカードを介して行われます。bttv(bt878)およびconnexantベースのグラバーPCI(e)カードはLinuxで非常によくサポートされています(他のものはおそらく十分ですが、私はそれらを使用したことはありません)。 、残念ながらこれらのカードはまばらになっています。これらのカードは通常v4l2-APIでカバーされているため、正常に機能しますv4l2src
。
v4l2src ! ...
外部のanalog2usbおよびanalog2dvグラバーが市販されています。以下を参照してください。
それはすべてのウェブカメラ、おそらくいくつかの外部analog2usbデバイス、おそらくいくつかの「カムコーダー」が登場する場所です。デバイスがサポートされているかどうかは、使用中のチップセットによって異なります。それがあればされて支え、これらは通常、このような何かが動作しますので、もう一度、V4L2-APIを使用します。
v4l2src ! ...
これらのデバイスはv4l2でカバーされていませんが、代わりに別のAPIがあります。DVストリームにはオーディオとビデオの両方が含まれているため、画像を取得するには、まずDVストリームを取得し、次に2つの(オーディオとビデオ)ストリームを分割(別名「逆多重化/逆多重化」)してからデコードする必要があります結果のビデオストリーム。このようなことを行う必要があります:
dv1394src ! dvdemux ! dvdec ! ...
HDVストリーム(実際にはieee1394上のMPEG-TSストリーム)を取得しているhdv1394src
場合、separte オブジェクトがあります。
hdv1394src ! decodebin ! ...
産業用ファイヤーワイヤーカメラ(主に画像認識などに使用されます。このプロトコルを使用する「カムコーダー」は市場にないため、完全を期すためにのみ追加します)は「IIDC」と呼ばれるプロトコルを使用しました。
gstreamerで使用するには、次のようにします。
dc1394src ! ...
そこにある他のほとんどのプロトコル(例えばGigE
)は、プロプライエタリな産業グレードのプロトコルです(そして、「カムコーダー」ハードウェアを提供しません)