私はDragonboard410cを使用しており、gstreamerパイプラインを使用してLogitech C270 USBカメラからmp4ビデオを生成しようとしています。
この作業のために、私はレポートの指示に従いました。こここのセクションのCSIカメラを使う、彼らに基づいてOV5640ボードアダプタ。
このプロセスはmedia-ctlを使用してパイプラインを設定し、gstreamerパイプラインを使用してビデオを録画します。
私が理解した指示に従って、パイプラインを設定するには、カメラC270 USBカメラのデバイスエンティティを検索する必要があります。
:~# media-ctl -d /dev/media1 -p
Media controller API version 0.1.0
Media device information
------------------------
driver uvcvideo
model UVC Camera (046d:0825)
serial 2FB8A120
bus info 1.2
hw revision 0x12
driver version 4.9.39
Device topology
- entity 1: UVC Camera (046d:0825) (1 pad, 1 link)
type Node subtype V4L flags 1
device node name /dev/video1
pad0: Sink
<- "Extension 4":1 [ENABLED,IMMUTABLE]
- entity 5: Extension 4 (2 pads, 4 links)
type V4L2 subdev subtype Unknown flags 0
pad0: Sink
<- "Processing 2":1 [ENABLED,IMMUTABLE]
pad1: Source
-> "UVC Camera (046d:0825)":0 [ENABLED,IMMUTABLE]
-> "Extension 6":0 [ENABLED,IMMUTABLE]
-> "Extension 7":0 [ENABLED,IMMUTABLE]
- entity 8: Extension 6 (2 pads, 1 link)
type V4L2 subdev subtype Unknown flags 0
pad0: Sink
<- "Extension 4":1 [ENABLED,IMMUTABLE]
pad1: Source
- entity 11: Extension 7 (2 pads, 1 link)
type V4L2 subdev subtype Unknown flags 0
pad0: Sink
<- "Extension 4":1 [ENABLED,IMMUTABLE]
pad1: Source
- entity 14: Processing 2 (2 pads, 3 links)
type V4L2 subdev subtype Unknown flags 0
pad0: Sink
<- "Camera 1":0 [ENABLED,IMMUTABLE]
pad1: Source
-> "Extension 4":0 [ENABLED,IMMUTABLE]
-> "Extension 3":0 [ENABLED,IMMUTABLE]
- entity 17: Extension 3 (2 pads, 1 link)
type V4L2 subdev subtype Unknown flags 0
pad0: Sink
<- "Processing 2":1 [ENABLED,IMMUTABLE]
pad1: Source
- entity 20: Camera 1 (1 pad, 1 link)
type V4L2 subdev subtype Unknown flags 0
pad0: Source
-> "Processing 2":0 [ENABLED,IMMUTABLE]
ただし、これらのパラメーターを使用してパイプラインを構成するために必要な2つのmedia-ctlコマンドを作成する方法はわかりません。
media-ctlを使用してパイプラインを設定するためにこの出力パラメータを解釈する方法を説明できる人はいますか?
答え1
私はカメラを接続する2つの異なる方法を混ぜていると思います。私が知る限り、media-ctlは通常、イメージセンサーが専用のパラレルまたはシリアルカメラインターフェースに接続されている状況(および制御はI2Cを介して行われます)に適しています。たとえば、OMAP4のCSIポートに接続されているOV5640を使用します。 uvcvideoドライバを使用するUSBベースのカメラでは、media-ctlは必要ないと思います。 Linuxカーネルが正しいカーネルモジュールを使用できる場合は、カメラを接続するときにカメラを/ dev / videoXの下に自動的に追加する必要があります。