問題タブ [video-capture]

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 投票する
8 に答える
23173 参照

linux - Linux でのビデオ キャプチャ?

ライブ ビデオをキャプチャし、Linux で簡単に表示する必要があります。シンプルな API を備えた安価なカードまたは USB デバイスが必要です。経験を共有したい人はいますか?

0 投票する
7 に答える
9190 参照

flash - ハードウェアベースのスクリーン キャプチャを取得するにはどうすればよいですか?

以前、私のプロジェクトのいくつかでは、フルスクリーン Flash アプリケーションのムービー バージョンを作成する必要がありました。これを行う最も簡単な方法は、スクリーン キャプチャを取得することです。ただし、1024x768 を超えるものをキャプチャすると、途切れ途切れのビデオになり、受け入れられません。フルスクリーン ビデオをキャプチャするためのハードウェア ベースのソリューションがあることは理解していますが、それらが何であるかを知ることができませんでした。私の出力は、最大 1920x1080 まで拡張可能で、途切れのない非圧縮 AVI ファイルになる必要があります。

0 投票する
6 に答える
54258 参照

java - Javaベースのアプリケーションで使用するためにライブビデオデバイスから画像をキャプチャするための最良の方法は何ですか?

特定のシナリオを半リアルタイムで検出するための画像処理の問題を調査しています。私の目標は、ライブビデオをJavaコードのMotionJPEGフレームとして何らかの形で到着させることです。

私はJavaMediaFrameworkに精通していますが、残念ながら、事実上死んでいるAPIと見なすことができると思います。私はAxisボックスにも精通しており、それらのソリューションは本当に気に入っていますが、特定の関心のあるポイントに関する重要なフィードバックをいただければ幸いです。

これが、この議論の目的のために私が「最良」を定義する方法です。

  • レイテンシー-このビデオストリームを使用してカメラを制御している場合、可能であれば、ラウンドトリップレイテンシーを100ミリ秒未満に保ちたいと思います。これは、コントロール入力から目に見える変化が見られるまでの時間として測定されます。しばらくしてから編集してください。もう1つ覚えておくべきことは、カメラ制御は手動と自動(イベントトリガー)の組み合わせである可能性が高いということです。高品質のフィードが個別にアーカイブされている場合でも、これらの写真をすぐに確認する必要があります。
  • コスト-無料/オープンソースは無料でないよりはましです。
  • 調整可能なコーデックパラメータ-特定の状況に合わせてコーデックを調整できる必要があります。高速で低解像度のストリームの方が実際に処理しやすい場合があります。
  • Javaとの「統合」-このソリューションを私のコードにフックするのはどれくらいの問題ですか?ソケットを介してパケットを送信していますか?URLを打つ?Direct3D / JNIの組み合わせをインストールしますか?
  • Windows / Linux /両方?-オペレーティングシステムにとらわれないソリューションを好むのは、OSのいくつかのフレーバーに提供する必要があるためですが、一方に最適で他方には最適でないソリューションがあるかもしれません。

注:私は他の画像/ビデオキャプチャコーデックを知っていますが、それはこの質問の焦点では​​ありません。フレームの精度が低下するため、ストリーミングAPI(MPEG4など)には特に関心がありません。ただし、別のフレーム精度のデータストリームを配信する私の質問に対する解決策がある場合は、チャイムを鳴らしてください。

この質問のフォローアップ:現時点では、ソフトウェアやPCで直接ビデオをキャプチャするのではなく、 Axisビデオエンコーダーなどのアプライアンスを購入する傾向があります。しかし、誰かが代替案を持っているなら、私はそれらを聞いてみたいです。

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

c++ - Windows の OpenGL ウィンドウからビデオをキャプチャする

OpenGL アプリケーションのメイン ウィンドウからビデオ クリップをキャプチャする非常に簡単な方法をユーザーに提供することになっています。キャプチャを開始および停止するためのボタンやキーボード ショートカットを追加することを考えています。開始時に、ファイル名やその他のオプションがある場合はそれを尋ねることができました。Windows (XP/Vista) で実行する必要がありますが、これまで開いていた Linux のドアを閉じたくありません。

このアプリケーションは、OpenGL フラグメントとシェーダー プログラムを使用します。これらの効果は、最終的なビデオで絶対に必要です。

私の要件を満たす可能性のあるいくつかの異なるアプローチさえあるように思えます(しかし、どこから始めるべきか本当にわかりません):

  • startRecording(filename)、stopRecording、captureFrame などの関数を備えたエンコード ライブラリ。各フレームがレンダリングされるたびに (または毎秒/3 秒ごとに)、captureFrame() を呼び出すことができます。そうすることでプログラムの実行が遅くなる場合でも、実際には問題にはなりません。

  • アプリケーションからプログラムで制御できるスタンドアロンの外部プログラム。結局のところ、制御できないスタンドアロン プログラムは、ほとんど私が必要とすることを実行します... しかし、前述のように、ユーザーが操作するのは非常に簡単であるべきであり、シームレス性も高く評価します。私のアプリケーションは通常、フルスクリーンで実行されます。さらに、現在 NSIS を使用して準備しているアプリケーションのインストール パッケージの一部として配布できるはずです。

  • Windows API を使用してスクリーンショットをフレームごとにキャプチャし、(たとえば)ここに記載されているライブラリの 1 つを使用します。Windows でスクリーンショットをキャプチャする方法の例を見つけるのは簡単なようです。ただし、WinAPIレベルで非常に手を汚さないようにするソリューションが大好きです。

  • OpenGL を使用してオフスクリーン ターゲットにレンダリングし、ライブラリを使用してビデオを生成します。これが可能かどうかはわかりませんが、とにかく痛みが最も少ない方法ではないのではないかと心配しています. 特に、ビデオがキャプチャされているかどうかによって、実際のレンダリングが異なる実行パスを取ることは望ましくありません。さらに、通常の非キャプチャ モードでフレーム レートを低下させる可能性のあるものはすべて避けます。

ソリューションがどちらかの意味で無料である場合、それは素晴らしいことですが、絶対的な要件ではありません。一般に、膨満感が少ないほど良いです。一方、この質問以外の理由により、残念ながら GPL のみのコードにリンクすることはできません。

ファイル形式に関しては、ユーザーがコーデックを検索することは期待できませんが、ビデオの表示が基本レベルの Windows ユーザーにとって十分に簡単である限り、形式が何であるかはあまり気にしません。ただし、出力の圧縮品質を制御できれば素晴らしいと思います。

明確にするために、カムコーダーのような外部デバイスからビデオをキャプチャする必要はありません。また、マウスの動きに本当に興味があるわけでもありません。オーディオに関する要件はありません。アプリケーションはまったくノイズを発生させません。

私は Visual Studio 2008 を使用して C++ を作成しています。このアプリケーションも GLUT と GLUI を利用しています。私は C++ やライブラリのリンクなどについてしっかりと理解していますが、一方、OpenGL は私にとってまったく新しいものです。これまでのところ、実際に仕事を成し遂げるために必要なビットしか学んでいません。

緊急に解決策が必要なわけではないので、お気軽に時間をかけてください :)

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

c# - C# でビデオ フィードを操作するためのリソース

私はいくつかの小さな IP カメラからフレームを取得し、おそらく少しモーション検出を行い、それらをアラート付きの形式で再表示することを望んでいるサイド プロジェクトに取り掛かり始めています。

内外を知るために使用できる優れたリソースまたは同様のプロジェクトを誰かが持っていますか? VS2008 の SP1 で C# 3.5 を使用しています

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

winapi - Webカメラからのビデオまたは画像ストリームを傍受して変更するにはどうすればよいですか?

ウェブカメラからの画像またはビデオフィードのハンドルを取得し、それを自分の画像またはビデオに置き換えて、アプリケーションがカムに接続できるようにするために行うことができる一般的なAPI呼び出しはありますか(MSN / Skype / Yahoo IMなど)カメラがキャプチャしているものの代わりに私の画像が表示されますか?

理想的には、デバイスベンダーやインターフェイスに関係なく、一般的な方法でこれを解決しようとしています(そのようなものが存在する場合は、これらすべてのアプリが利用する標準のWebカメラスタックを介して)。

これは、特定の目的以外のクライアントでWebカメラを無効にできる必要があるセキュリティアプリケーション用です。コードを使用して画像キャプチャデバイスを停止および開始できますが、理想的には、デバイスを有効のままにして、キャプチャした画像を、現在カムを使用できない理由をユーザーに示すグラフィックに置き換えます。

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

java - イメージを C プログラムから Java に移動して画面に表示する最も効率的な方法は?

バックグラウンド

video4linux 2 仕様を使用してビデオをキャプチャしています。C プログラムを使用してリアルタイムでキャプチャされます。また、ローカルとリモートの両方で実行できる Java フロントエンドもあります。リモート側は簡単でした。画像を JPEG に圧縮し、mini-http サーバーを介してクライアントに送信し、解凍して画面に表示するだけです。

ローカルで実行する場合、何らかの方法で IPC がそのメモリに直接接続し、Java から画像にアクセスできるようにしたいと考えています。次に、できるだけ少ない CPU パワーを使用してそれらを画面にブリットします。これは「監視」タイプのシステムなので、一度に 8 ~ 16 台のカメラ フィードを実行できます。

質問

画像データ (YUV420P) を v4l2 mmap バッファーから Java アプリに移動して画面に表示する最も効率的な方法は何ですか? コードを表示するか、利用可能な API/仕様があれば教えてください。

答え

時間の都合上、単純なソケットを使用してデータを RGB で送信することにしました。Java クライアントが同じマシンで実行されている場合、パフォーマンスを大幅に向上させることができました。クライアントがリモートで実行されている場合でも、ネットワーク経由で JPEG を送信しています。次に、最適化された JPEG デコーダーを見つける必要があります。

ところで、これは 2 つのクライアントではなく、CameraStream ウィジェットが両方のタイプを読み取って解析するだけです。

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

c++ - IAMCameraControl::Set() を使用して Windows Mobile デバイスでズームを設定する

ビデオ キャプチャ用のアプリケーションを開発しており、ズーム機能を実装したいと考えています。

DirectShow での作業 IAMCameraControlInterface に出会いました。メソッド ::Set() があり、いくつかのカメラ パラメータを設定するために使用する必要があります。

しかし、私は遊んでいて、それで何もできませんでした。次に、可能なパラメータ値の範囲を返す ::GetRange() メソッドを呼び出そうとしましたが、何も返されませんでした。

デバイスがオプションをサポートしていない可能性は本当にありますか? ネイティブのカメラ アプリケーションがズームをサポートしているため、非常に奇妙に思えますが、このような奇妙な結果の主な問題がどこにあるのか、私にはよくわかりません。

同様のアプリケーションを使用した経験のある人はいますか? ここで何が問題なのか、またはIAMCameraControlInterface関数を効果的に使用する方法を知っている人はいますか?

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

.net - .NETアプリケーションでの予測可能なフレームキャプチャのオプション

私はC#で作業しており、ビデオファイルの個々のフレームをキャプチャする必要があります。できるだけ早く(リアルタイムよりも速く)、特定のフレーム番号を探し、n番目ごとのフレームをBMPやJPEGなどのグラフィックファイル形式にキャプチャしたいと思います。キャプチャされるフレームが予測可能で再現可能である、つまりフレームをドロップしないことが強く望まれます。

DirectShowの使用経験はありますが、このテクノロジが最新のWindows.NET環境でこの問題に使用するのに最適かどうかはわかりません。理想的には、可能な限り抽象化するための.NETまたはCOMベースのライブラリを見つけたいと思います。ビデオファイルを実際に画面に表示する必要はありません。実際、ビデオ再生用のWindowsユーザーインターフェイスは必要ありません。

誰かが調査する技術や特定の製品についての提案がありますか?それらは、DivXを含むMPEG-2およびMPEG-4ベースのビデオファイルと互換性がある必要があります。QuickTimeのサポートは素晴らしいボーナスです。

0 投票する
5 に答える
51623 参照

c# - .NET テクノロジを使用して画面のビデオを録画する

.NET テクノロジを使用して、デスクトップまたはウィンドウの画面を記録する方法はありますか。

私の目標は何か無料です。私は小さく、CPU 使用量が少なく、シンプルであるというアイデアが好きですが、より良い最終製品を作成する場合は、他のオプションを検討します.

簡単に言えば、C# でスクリーンショットを撮る方法は知っていますが、画面または画面の領域をビデオとして記録するにはどうすればよいでしょうか?

あなたのアイデアと時間をありがとう!