問題タブ [video]
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.
java - Javaベースのアプリケーションで使用するためにライブビデオデバイスから画像をキャプチャするための最良の方法は何ですか?
特定のシナリオを半リアルタイムで検出するための画像処理の問題を調査しています。私の目標は、ライブビデオをJavaコードのMotionJPEGフレームとして何らかの形で到着させることです。
私はJavaMediaFrameworkに精通していますが、残念ながら、事実上死んでいるAPIと見なすことができると思います。私はAxisボックスにも精通しており、それらのソリューションは本当に気に入っていますが、特定の関心のあるポイントに関する重要なフィードバックをいただければ幸いです。
これが、この議論の目的のために私が「最良」を定義する方法です。
- レイテンシー-このビデオストリームを使用してカメラを制御している場合、可能であれば、ラウンドトリップレイテンシーを100ミリ秒未満に保ちたいと思います。これは、コントロール入力から目に見える変化が見られるまでの時間として測定されます。しばらくしてから編集してください。もう1つ覚えておくべきことは、カメラ制御は手動と自動(イベントトリガー)の組み合わせである可能性が高いということです。高品質のフィードが個別にアーカイブされている場合でも、これらの写真をすぐに確認する必要があります。
- コスト-無料/オープンソースは無料でないよりはましです。
- 調整可能なコーデックパラメータ-特定の状況に合わせてコーデックを調整できる必要があります。高速で低解像度のストリームの方が実際に処理しやすい場合があります。
- Javaとの「統合」-このソリューションを私のコードにフックするのはどれくらいの問題ですか?ソケットを介してパケットを送信していますか?URLを打つ?Direct3D / JNIの組み合わせをインストールしますか?
- Windows / Linux /両方?-オペレーティングシステムにとらわれないソリューションを好むのは、OSのいくつかのフレーバーに提供する必要があるためですが、一方に最適で他方には最適でないソリューションがあるかもしれません。
注:私は他の画像/ビデオキャプチャコーデックを知っていますが、それはこの質問の焦点ではありません。フレームの精度が低下するため、ストリーミングAPI(MPEG4など)には特に関心がありません。ただし、別のフレーム精度のデータストリームを配信する私の質問に対する解決策がある場合は、チャイムを鳴らしてください。
この質問のフォローアップ:現時点では、ソフトウェアやPCで直接ビデオをキャプチャするのではなく、 Axisビデオエンコーダーなどのアプライアンスを購入する傾向があります。しかし、誰かが代替案を持っているなら、私はそれらを聞いてみたいです。
video - Quartz Composer で再生するビデオ クリップの速度を制御できますか?
ビデオの再生速度を操作する方法はありますか? Final Cut Proの機能とまったく同じように、フレームブレンディングで速度を落とす方法に特に興味があります。
flash - このようなFlashディスプレイの変化の原因は何ですか?
奇妙なクロスブラウザフラッシュの問題が発生しています。下のスクリーンショットをご覧ください。私は以前にこの振る舞いを見たことがありますが、原因が何であったか思い出せません。誰かがこれが起こる理由と、それを修正するために私が取ることができる可能な行動を教えてもらえますか?
video - フラグメントシェーダーによる YUV 変換
Nvidia のシェーダー言語で記述されたフラグメント シェーダーを介して、YUV から RGB への変換を実装しました。(Y、U、および V は、フラグメント シェーダーのマルチ テクスチャリングを介して結合される個別のテクスチャに格納されます)。OpenGL では問題なく動作しますが、Direct3D では出力イメージを正しく表示できません。YUV 変換を行う機会を得る前に、Direct3D が Y、U、および V サンプルを何らかの形で変更しているのではないかと疑い始めています。フラグメント シェーダーが実行される前に、Direct3D がテクスチャに格納されている値を変更するかどうか、およびそれらを無効にする方法を知っている人はいますか?
wpf - WPF MediaElement を使用して HDVideo をレンダリングすることに成功しましたか? WPF 用のより良いビデオ プレーヤー オプションはありますか?
アプリケーションで HD ビデオをレンダリングするために WPF MediaElement を使用しています。MediaElement のサイズが約 300 単位平方を超えると、ビデオが途切れ、コンピューターはほぼ完全に応答しなくなります。ビデオを全画面表示する必要があります。
WPF MediaElement を使用してフルスクリーン ビデオのレンダリングに成功した人はいますか?
使用したコンピューターのプロセッサ/ビデオの仕様は?
WPF アプリケーションでビデオを表示するより良い方法はありますか?
編集:
ティモシー: グラフィックの上にテキストやその他の要素を配置できるようにする必要があるため、WMP のホスティングは終了したと思います。
現在、レイヤーも不透明度/透明度も行っていません。
私は現在XPで実行しています。Vista と XP の両方でアプリケーションを実行できることを願っています。
Mike: MSDN フォーラムに戻ってこの投稿を確認する前に、Jeremiah Morrill の投稿をいくつか読んでいました。私は彼のライブラリのいくつかにたどり着き、それらをテストする予定です。ありがとう。
アップデート:
問題は私の開発マシンにあるようです。テスト マシンでは問題なく動作しています。私の開発マシンは、256MB のメモリを搭載した ATI Radon X1650 シリーズ カードを搭載した 2 つの 1650x1080 CRT を備えたデュアル ヘッドです。
WPF perfmon ツールを使用すると、すべてがハードウェア レンダリングされていることが示されますが、パフォーマンスは最悪です。今のところ、配布しているマシンでコードが正常に動作することがわかっているので、そのまま使用します。将来のある時点で、開発マシンでのパフォーマンスが非常に悪い理由を掘り下げようとします。(すべてのマシンは XP です)。
すべての提案をありがとう。
testing - ビデオ ストリーミング サーバーのストレス テストを行う方法を教えてください。
ビデオストリーミングサーバーでストレステストを実行するために使用できる優れたツールを知っている人はいますか? サーバーが 5,000 以上の接続をどれだけうまく処理できるかをテストする必要があります。
javascript - 埋め込まれた Google ビデオの src を変更する
URL を入力することで動画の特定の部分にアクセスできる Google ビデオの機能を再現しようとして#1h1m1m
います。
そのため、Google ビデオが埋め込まれており、そのビデオの特定の時間にリンクしたい右側のリンクがあります。
ページの更新でこれを行うことができますが、javascript を介して実行しようとしているので、そうする必要はありません。
なんらかの理由で、javascript を介して埋め込み要素の src を取得できないようです。
まだわからないのでリンクはありません。ページをリロードせずに、Google ビデオの別のセクションにスキップしたいだけです。
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 は私にとってまったく新しいものです。これまでのところ、実際に仕事を成し遂げるために必要なビットしか学んでいません。
緊急に解決策が必要なわけではないので、お気軽に時間をかけてください :)
video - 1 つの RTP セッションで複数の H.264 ビデオ ストリーム
ストリーミング ビデオ アプリケーションでビデオ ソースを動的に切り替えたいと考えています。ただし、さまざまなビデオ ソースには固有の画像サイズがあります。ビデオ ソースごとに個別の SDP ファイルを生成できますが、それらを 1 つの SDP ファイルに結合して、ビデオ ソースの変更に応じて表示クライアントが表示ウィンドウのサイズを自動的に変更できるようにしたいと考えています。以下に 2 つの SDP ファイルの例を示します。
640x480.sdp:
960x480.sdp:
これらの個々のファイルを単一の SDP ファイルに結合するにはどうすればよいですか?
version-control - 動画編集作業のバージョン管理
アニメーターのグループが使用するバックアップ プロセスの改善を検討しています。現在、彼らは作業内容を外付けハード ドライブまたは DVD に手動でバックアップし、すべての完全なコピーを作成しています。データは、何千もの高解像度画像、さまざまなビデオ編集ソフトウェアのプロジェクト ファイル、サウンド ファイルで構成されています。基本的にすべてがバイナリ データであり、チェックイン時に何もマージされません。
ソフトウェア開発者として使用するバージョン管理システム (Subversion、GIT など) を調査する必要がありますか? または、これらのニーズにより適した非 SW データ向けのバージョン管理システムのクラスはありますか?