私はCreative Live Cam Connect HD(ID:041e:4093)を持っており、このウェブカメラにはオンボードH.264エンコーダがあります。残念ながら、v4l2はMJPG形式のフィードのみを入力します。
$ v4l2-ctl --list-formats
ioctl: VIDIOC_ENUM_FMT
...
Index : 1
Type : Video Capture
Pixel Format: 'MJPG' (compressed)
Name : MJPEG
デフォルトでは、H.264ソースを入手するにはこのWebカメラを使用する必要があります。私のコンピュータでソースをエンコードするためにGstreamerを使用せずにオンボードエンコーダを使用するために使用できる他のドライバがありますか?
私が望むことを行う事前に構築されたドライバがないので、自分で書こうとしています。私はLinuxドライバを書くための多くのリソースを見つけましたが、特にウェブカメラのためのものではありません。いくつかのリソースを教えてください、または何をすべきかを簡単に説明できますか?私は以前ドライバを書いたことがありません。
答え1
から:http://sourceforge.net/p/linux-uvc/mailman/linux-uvc-devel/?viewmonth=201303(~80%)
どのカーネルバージョンを使用していますか?
私が覚えている限り、3.2(または3.3ですか?)からuvcドライバにh264サポートが必要です。
v4l2-ctlにMJPG以外の項目がリストされていない場合は、カメラ自体がH264ネイティブストリームをサポートせず、MJPGフレームに含まれているH264のみをサポートしている可能性があります(Skype / Windowsがh264エンコードカメラに使用する方法)。
uvch64_srcを試してください(参照 http://kakaroto.homelinux.net/2012/09/uvc-h264-encoding-cameras-support-in-gstreamer/)
h264をサポートしている場合は使用できます(ただし、カメラをテストしたことはありませんが)。