問題タブ [vfw]
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.
windows - 私の 32 ビット Video For Windows ベースのアプリは、Win7/64 または Vista/64 で動作しませんか?
Video For Windows に依存するプログラムを作成しました。XP および Vista 32 ビット OS では問題なく動作しましたが、新しい 64 ビット OS で実行しようとすると、AVI ファイルを開くことができません。実際のプログラムは正常に起動し、GUI が表示され、[ファイルを開く] ダイアログが正常に機能しますが、VFW ライブラリは、いくつかの異なるコーデックを使用する一般的な AVI ファイルを開くことができないと言っています。
VFW のサポートが 64 ビット OS から削除されたかどうかを知っている人はいますか?
ありがとう。
c++ - Video for Windows(VFW)はどこにありますか
私はVFWを使用するプロジェクトに取り組んでいます。私はそれをグーグル検索しましたが、私が探しているものが正確にはわかりません。それについていくつか質問があります。それはdllですか?もしそうなら、どこでそれを見つけることができますか?それはまだサポートされていますか?
webcam - 複数のWebカメラでのcapDlgVideoSourceの問題
2つの異なるWebカメラをPCに接続していますが、次のコードを実行するときにそれらを選択するのに問題があります。すべての初期化ルーチンを含めましたが、capDlgVideoSource呼び出しの最後の行で、選択できるリストではなく、1つのWebカメラのビデオソースダイアログのみが表示されます。OSはWinXPSP3です
ビデオソースダイアログでWebカメラを選択できるようにするにはどうすればよいですか?現在、2番目のWebカメラのプロパティが表示されています。
c# - Video For Windows コードをより良いものに移行するにはどうすればよいですか?
会社から提供されたブラックボックス バッファ コードにビデオをストリーミングする IP カメラがあります。また、バッファを取得して unsigned char* 配列に変換する方法のサンプル コードも提供してくれました。この配列を使用して、AVI ファイルを作成し、そこにビデオ バッファーを保存して、ビデオ ファイルを作成できます。
いろいろな意味で恐ろしいシステムです。それがすべてVFWで行われていることも含めて
現在、このコードはすべて C# と C++/CLi DLL で実行しています。私は Directshow.Net の使い方を知っていますが、このビデオ バッファを保存するためのよりエレガントな方法があるかどうか疑問に思っていました。
c++ - Video for Windows - オーディオ ストリームを AVI に追加する
既存のビデオ ストリームを使用して、オーディオ ストリームを avi ファイルに追加する非常に単純なプログラムを作成しました。問題は、結果のファイルにビデオ ストリームが含まれているが、ストリームにデータがないように見えることです。オーディオ ファイルは、DirectX サンプルから SDKwavefile によって読み取られます。
(また、もう VFW を使用するべきではないことはわかっていますが、その決定は私の頭をはるかに超えています。また、結果を確認していないこともわかっています。それは後で来る可能性があります。)
ありがとう。
c# - avicap32 を使用して WPF でイメージをキャプチャする
["aviCap32.dll"] を使用して WPF で画像をキャプチャしようとしていますが、その方法が見つかりませんでした。そのような方法が存在するかどうかは誰にもわかりません。このプログラムを見つけましたが、キャプチャ ボタンではなく Web カメラからの画像のみを表示します: Using a webcam in a WPF application。
delphi - Delphi 6 でビデオ ファイル (AVI など) を作成するためのライブラリまたはコンポーネント (C/C++ も可)?
ビデオ ファイルに書き込みたい JPEG フレームと付随するオーディオ バッファのストリームがあります。可能であれば、ライブラリ/コンポーネントがそれらの使用をサポートしている場合、ユーザーが利用可能な Windows コーデックからフォーマットを選択できるようにしたいと思います。そうでない場合は、AVI、WMV、または MOV 形式のファイルなどの一般的なファイルを作成できれば、それで問題ありません。これを行うことができる Delphi 6 と互換性のある優れたライブラリまたはコンポーネントを知っている人はいますか? そうでない場合は、C/C++ サンプルでも機能します。
c++ - AVIStreamWriteで作成されたAVIの長さと再生速度が正しくありません
AVIStreamWriteを使用してAVIファイルに書き込もうとしていますが、結果のaviファイルが少し混乱しています。aviの画像には適切な画像と色が含まれていますが、ビデオの長さと速度はオフになっています。約7秒のはずのビデオを録画し、Windowsエクスプローラーでファイルのプロパティを見ると、約2秒の長さであることがわかりました。Media Playerで再生したときは短すぎて、非常に高速に再生されているように見えました(ビデオの動きは早送りのようでした)。また、メディアプレーヤーを使用してビデオ内を探すことができないようです。これが私がしていることです...
//初期化
//カメラからフレームを受け取ったときにこれを呼び出します
}
//完了したらこれを呼び出します
テストとして、DirectShowのGraphEditを使用して、この同じカメラのVideoCaptureフィルターとAVIマルチプレクサで構成されるグラフを作成し、aviファイルを作成しました。結果のAVIファイルは問題ありませんでした。フレームレートは30fpsで、私が使用しているものと同じです。AVIStreamInfoの呼び出しを使用して、両方のaviファイル(GraphEditで作成された「悪い」ファイルと「良い」ファイル)を照会しましたが、ストリーム情報は両方のファイルでほぼ同じでした。私の「悪い」aviでは、1秒あたりのサンプル数またはフレーム数のいずれかが大幅に減少すると予想していましたが、そうではありませんでした。AVIの長さが正しくなく、高速で再生されているように見える何か間違ったことをしていますか?私はVFWを使うのが初めてなので、どんな助けでもありがたいです。ありがとう
delphi - AVIStreamSetFormat() 呼び出し中に AVIERR_MEMORY エラーが発生する
AVI ムービーを作成する Delphi 6 アプリケーションがあります。圧縮されていないビデオ フレームを含む AVI ファイルを書き込めるようになりました。圧縮ビデオ ストリームを作成しようとすると、AVIStreamSetFormat() を呼び出すと、AVIERR_MEMORY エラーが発生します。
このエラーが発生するのはなぜですか? また、修正するにはどうすればよいですか?
AVISaveOptions() への呼び出しを使用して、Radius コンプレッサーで Cinepak コードを選択した後の圧縮オプション データ構造の内容を次に示します。別のコンプレッサーを選択しても、エラーが発生することに注意してください。
TBitmapHeaderInfo データ構造の内容は次のとおりです。
AVIStreamSetFormat() への呼び出しを含むメソッドは次のとおりです。
delphi - Delphi 6 アプリでビデオとオーディオ (VFW) の両方を含む AVI ファイルを作成できない
ビデオとオーディオを取得し、VFW サービスを使用して AVI に書き込む Delphi 6 アプリを作成しようとしています。ビデオストリームを正常に動作させることができました。VLC または Windows Media Player で正常に再生されます。しかし、オーディオ ストリームを追加して出力 AVI を再生しようとすると、VLC プレーヤーは AVI ファイルが壊れていると文句を言います。ファイルを再生し、ビデオは問題ないように見えますが、音声はありません。ビデオストリームを書き込む前に、オーディオストリームを追加してから追加しようとしました。どちらも機能しませんでした。
また、オーディオ ストリームを追加しない場合は、Windows エクスプローラーで出力 AVI ファイルを右クリックすると、概要タブにストリーム内のビデオ データの適切な情報が表示されます。ストリームを追加した後、右クリックすると、AVI プロパティを読み取れなかったというステータス メッセージが表示されます。
更新:私は本当に基本的に間違ったことをしています。私がやっていることは、ファイルの最上位ヘッダーを吹き飛ばしていることです。オーディオ ストリームを作成しない場合、ファイルは問題なく、ファイルの先頭に通常のヘッダー情報が表示されます。 オーディオ ストリームを作成するための呼び出しを行った瞬間、作成した 2 番目のストリームでは、出力 AVI ファイルの最初のヘッダーは完全に空白 (ゼロ) です。 AVIStreamSetFormat() を呼び出したり、データを書き込んだりしなくても (たとえ書き込んだとしても)、その 2 回目の AVICreateStream() 呼び出しを行うだけで、16 進エディターでファイルを調べるときに、ファイルの先頭が消去されます。出力ファイルに「損傷」がある場合、この量を引き起こしている可能性があります。
私の質問は次のとおりです。
1) 私は何を間違っていますか? 2) オーディオとビデオがインターリーブされた AVI を作成する方法を示す良いサンプル、特に圧縮されたオーディオ ストリームを書き込む方法を示すサンプルを知っていますか?
ビデオストリームを完全に書き出した後、オーディオストリームを書き込むために使用しているコードを次に示します。ユニット レベル変数 FAvi には、TWaveFormatEx フィールド (wfx) が既に入力されています。内容を調べたところ、フィールドはすべて 8000 Khz のサンプル レート、1 チャンネル、1 チャンネルあたり 16 ビット、フォーマット タグ 1 (WAVE_FORMAT_PCM) の有効な値に設定されています。ブロックアライン、データレートなどもすべて適切に入力されています。
終了時にオーディオ ストリームとビデオ ストリームの両方をクリーンアップするコードを次に示します。
通知: @RemyLebau