問題タブ [v4l2]
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.
linux - v4l2 を使用して、同じデバイスからオーディオとビデオを読み取ることはできますか?
オーディオが埋め込まれた SDI ビデオをキャプチャするキャプチャ カードがあります。video4linux2 サポートを追加するために拡張しようとしている Linux ドライバーのソース コードがあります。私の変更はviviの例に基づいています。
私が直面した問題は、私が見つけることができるすべての例がビデオまたはオーディオのみを扱っていることです。クライアント側でも、ffmpeg の libavdevice のように、すべて v4l が単なるビデオであると想定しているようです。
v4l2 デバイスと alsa デバイスの 2 つの別個のデバイスをドライバーに作成させる必要がありますか? これにより、オーディオとビデオの同期を維持する作業がはるかに困難になるようです。
ドライバーとアプリの間で (v4l2 の mmap インターフェイスを介して) 渡される各バッファーには、フレームと、そのフレームと (時間に関して) 一致するいくつかのオーディオが含まれていることをお勧めします。
または、各バッファに、それがビデオ フレームであるか、オーディオのチャンクであるかを示すフラグを含めることもできます。次に、バッファのタイムスタンプを使用して同期を行うことができます。
しかし、V4L2 API 仕様でこれを行う方法がわかりません。また、単一のデバイスからオーディオとビデオの両方を読み取る v4l2 対応アプリ (gstreamer、ffmpeg、トランスコードなど) の例も見当たりません。
linux - V4L2 ビデオカメラ出力の保存
ビットマップ形式でキャプチャした場合、V4L2 を使用してカメラの出力を保存する場合、どのビデオ形式が最も簡単でしょうか? もちろん、mpeg を直接取得するのは良いことですが、残念ながらそれを期待することはできません。
フレームをキャプチャすることができたので、どうにかしてビデオを表示する必要があります。Linux ツールを使用してこれらのフレームを単純に変換できますか、それともアプリから簡単に直接ビデオを保存できますか?
c++ - 複数のソースとの間でビデオをストリーミング
私は、あなた方の何人かがこの問題にどのように取り組むかについて、いくつかのアイデアを得たいと思いました。Linuxを実行していて、センサーの1つとしてWebカメラ(v4l2ドライバーを使用)を使用しているロボットがあります。私はgtkmmでコントロールパネルを書きました。サーバーとクライアントはどちらもC++で記述されています。サーバーはロボットであり、クライアントは「コントロールパネル」です。画像分析はロボットで行われています。次の2つの理由から、カメラからコントロールパネルにビデオをストリーミングバックしたいと思います。A)楽しみのためにB)画像分析結果をオーバーレイするため
だから私の質問は、ウェブカメラからコントロールパネルにビデオをストリーミングするだけでなく、それを処理するためにロボットコードを優先するいくつかの良い方法は何ですか?独自のビデオ圧縮スキームを作成し、それを既存のネットワークポートに通すことには興味がありません。新しいネットワークポート(ビデオデータ専用)が最適だと思います。問題の2番目の部分は、ビデオをgtkmmで表示するにはどうすればよいですか?ビデオデータは非同期で届き、gtkmmのmain()を制御できないので、注意が必要だと思います。
私は、vlc、gstreamer、または私が知らない他の一般的な圧縮ライブラリのようなものを使用することにオープンです。
ありがとう!
編集:ロボットには1GHzプロセッサが搭載されており、Linuxのバージョンのようなデスクトップを実行していますが、X11は実行していません。
python - Python のユーザー ポインタ
*v4l を使用してキャプチャされた Web カメラからプレビューを表示しようとしています。
コードがどのように見えるかのアイデアは次のとおりです。
そして私は得る ValueError: not enough image data
さて、私はインポートします
そしてその後
などなど、記憶を獲得しようとします。
今 b_address はもはや = なし
b_address は次のようなものです c_void_p(145014784)
次に、ループ、QBUF、DQBUF などを開始します。
問題は、私が pygame.image.frombuffer を呼び出すときです
TypeError: expected a character buffer object が表示されます
python - v4l2 を使用してキャプチャし、gstreamer を使用してプレビューを表示します
Q_BUF、STREAM_ON、DQ_BUF の後にバッファー/ユーザーポインターを gstreamer に渡す方法。
PIL のメソッド frombuffer を使用してみましたが、成功しませんでした。だから私は今gstのシンクを使いたいです。
gst.parse_launch() を使用する必要がありますか?
誰かやったことがありますか?
android - AndroidでV4LまたはV4L2(Linux用ビデオ)を使用するにはどうすればよいですか?
Android LinuxカーネルはV4LまたはV4L2(Linux用ビデオ)をサポートしていますか?そうでない場合、それを追加することは可能ですか?
c++ - v4l2 の非常に単純な例
V4L2 を使用した Linux でのカメラ アクセスの簡単な例を探しています。どこで見つけられますか?できるだけシンプルに。
ありがとう、
video - V4L2 画像サイズの問題
V4L2 といくつかの Logitech Webcam を使用して、非常に奇妙な問題を発見しました。高さ = 320、幅 = 240、フォーマット I420 に設定すると、画像サイズは 115200 バイトである必要がありますが、V4L2 を介してクエリを実行すると、画像サイズが 29390 バイトになります。
正しいサイズでバッファサイズを強制しようと思いますが、ドライバーは高さ= 320、幅= 240を使用したバッファサイズの115200バイトをサポートしていないようで、正しくキャプチャできません。
誰かが私を助けることができますか?
ありがとう
c - V4L2 DQBUF の ioctl の無効な引数
V4L2 の問題が発生しました。コードは次のとおりです。
Linux 2.6.24、arm-linux-gcc 3.4.1を搭載したARM 2440で実行すると、「dqbuf: 無効な引数」というエラーが表示されますが、私の PC では問題なく動作します。なぜそれが起こったのかわかりません。どうも。
c++ - Qt4 と v4l2 ライブラリを統合するコード例を探しています
トピックとして、公式ウェブサイト (c 言語ベース) からソース コードを試しましたが、完全ではありませんでした。画像をダンプして Qt クラス、QImage などに転送できる例をいくつか見てみたいと思います。
どうもありがとう。