私はYoctoで構築されたカスタムディストリビューションを実行する組み込みシステムを持っています。後でUSBカメラをシステムに接続しますが、.mp4ファイルを「仮想」カメラとして使用したいと思います。
私の目標は、USB経由でビデオファイルをUSB UVCデバイスとしてコンピュータに転送し、コンピュータが自分の組み込みLinuxシステムをUSBウェブカメラとして表示できるようにすることです。
私はこのトピックに関するドキュメントを見つけることができず、組み込みLinuxの開発に取り組んでいるベアメタルC開発者です。これを達成するために何を探すべきか、そしてより広い段階を知りたいです。 (Yoctoによる配布の修正が含まれています。)
ありがとうございます。
答え1
どこから始めますか?
確かに非常に広範な質問です。したがって、私は非常におおよその概要だけを知ることができます。
SoCに実際にハードウェアがあることを考慮すると、LinuxはUSB周辺機器を制御して(ホストではなく)デバイスとして機能できます。 Linux環境ではこれを呼び出します。USBガジェット。
テクノロジの基本機能が扱われるにつれて、論理機能、つまりUVCガジェットを提供する方向に移動する必要があります。幸いなことに、Linuxカーネルはまさにこれを提供します。。
これを行うには、データの側面を考慮する必要があります。 mp4はUVC経由で直接転送できるわけではないと思います。したがって、最初にトランスコードする必要があります。
その後、問題はUserlandでトランスコードされたデータをカーネルにインポートする方法です。比較的新しいv4l2-loopbackドライバが役に立ちます。