問題タブ [video4linux]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
5882 参照

cross-platform - クロスプラットフォームのウェブカメラアクセス

ウェブカメラにアクセスするためのクロスプラットフォームのビデオキャプチャライブラリを探しています。LinuxではV4L/V4L2、WindowsではDirectShow、MacではQuickTimeをラップするもの。

CまたはC++が推奨されますが、ライブラリのオプションが優れている場合は、JavaまたはPythonで作業できます。

0 投票する
2 に答える
3514 参照

c++ - mjpegからvideo4linuxで生のrgb24へ

私はvideo4linuxを使用してc++ウェブカメラビューアを書いています。表示するにはRGB24出力(インターリーブR8B8G8)が必要です。YUYV、GREY8、またはRGB24を使用して、ほとんどすべての低解像度Webカメラのビデオ入力を取得できます。ただし、高フレームレートが必要な場合に圧縮にMJPEGを使用する高解像度Webカメラからも入力を取得する必要があります。

ピクセル形式として使用してMJPEGストリームを取得できV4L2_PIX_FMT_MJPEGますが、受信したフレームバッファは圧縮されています。

どうすればすばやくRGB24に変換できますか?

これにlibjpegを使用できますか?

0 投票する
2 に答える
3830 参照

c - video4linux apiを使用してWebカメラデバイスのサポートされているフレームサイズとフレーム間隔のリストを取得するにはどうすればよいですか?

V4L2 APIを使用して、サポートされているWebカメラデバイスのフレームサイズとフレームレートを列挙しようとしています。私は成功せずに次のコードでそれをやろうとします。ioctl関数は常に-1を返します。

0 投票する
3 に答える
7643 参照

linux - OpenCV を使用して BeagleBone に静止フレームをキャプチャさせる

Ångström Linux 3.2.28を実行している BeagleBone があり、カメラからフレームをキャプチャしようとしています。

そこで、USB ウェブカメラを接続して、/dev表示されることを確認します。

video0(右下)のようにそうです。カメラのプラグを抜くと消えるので、これは正しいと思います。

(ボ

そこで、Python を起動して以下を実行します。

ご覧のとおり、キャプチャ オブジェクトは十分に作成できていますが、そこからフレームを取得することはできません。-1また、カメラ ID (上記のコード) に異なる (またはなしの) 整数引数を使用してこれを試しましたが、役に立ちませんでした。

参考までに、ラップトップでIPythonを使用して同じコードを実行すると、次のようになります。

ここで実際に画像をキャプチャしていることがわかります。ここからどこへ行くべきか正確にはわかりません。

アップデート:

私はFFmpegで少し遊んで、次のコマンドを発行してカメラを応答させることができました(つまり、ライトが点灯します):

どうやら CaptureFromCAMV4Lインターフェイスを使用しているので、これは興味深いです...ここからどこに行くべきかわかりません。

0 投票する
1 に答える
152 参照

c - Linux 無線デバイス ドライバーで無線周波数を検証する方法は?

符号なしの数値が 0 未満になることはなく、それをテストする必要がないことはわかっています。しかし、チューナーの偽の周波数は避けたいです。

このチェックを別の方法で (おそらく制限付きで) 行うことはできますか?

あり得ない値である「偽の」周波数のより良い定義を考え出してください。

周波数が調整されてから変更されていない場合、デジタル ドライバは周波数を設定しません。アナログ チューナー ドライバーは、デジタル ドライバーによって保存された周波数について何も知りません。video4linux コードを使用して周波数を設定すると、ハードウェアは変更されますが、デジタル ドライバーの状態は更新されません。

0 投票する
0 に答える
126 参照

c++ - C ++でvideo4linuxからフレームを取得するには?

ウェブカメラ フィードからピクセル データを保存しようとしています。

c++ を使用して video4linux からフレームを保存するにはどうすればよいですか?

0 投票する
0 に答える
246 参照

macos - MBP Retina Isight と FFmpeg

真新しい MacBook Pro Retina (Mavericks) からビデオ ストリームにアクセスして、ffmpeg の入力として使用しようとします (そして、RTMP 経由で再度ストリーミングします)。

他のスタックオーバーフローのトピックでさまざまな解決策を試しましたが、どれもうまくいかないようです:

wacaw -Lデバイスがリストされていません

Quicktime Broadcaster でビデオが表示されない (オーディオのみ)

しかし、Isight は Photo Booth で動作します。

何か案は ?この件に取り組んでいる人はいますか?

0 投票する
1 に答える
1285 参照

linux - Linuxでカメラの切断を検出するには?

V4l2-ctlコマンドのサポートなしで、カメラ信号の切断 (モジュールの切断やハードウェアの切断ではなく) をどのように検出しますか? カメラドライバーがv4l2-ctlコマンドをサポートしていないためです。

0 投票する
1 に答える
232 参照

c - フレームとアラーム信号の待ち方

ウェブカメラに問題があります。ハードウェアの可能性もありますが、そうではないと確信しています。すべてのアプリでストリームを表示できますが、突然フリーズします。問題が発生したときの使用済みアプリからの次の出力のため:

コードと興味深い部分をチェックアウトしました。

そこから、SYNC_TIMEOUT が問題になる可能性があると結論付けました。値は 3 秒で、これで十分だと思われます。

私の要求は、コードを変更して、フレームを無期限にブロックしないようにすることです。

100 ミリ秒以内にフレームが到着しない場合は、タイムアウトになり、GUI がそれ自体を更新する機会が与えられます。すべてのデバイスでホイールを解放できるわけではないため、アプリは GUI をブロックせずにそのようなデバイスをサポートする必要があります。

1秒未満の待機を行うにはどうすればよいですか?

v4l2 デバイスはこれで非常にうまく機能します:

しかし、私は v4l1 デバイスを持っています。