ドキュメントを見回しましたが、これを行う良い方法が見つかりません。
ウェブカメラからビデオをキャプチャし、それを ISampleGrabber フィルターに接続してスクリーンショットを撮ります。これは問題なく動作しますが、ビデオの解像度をスケーリングできるようにしたいと考えています。
ご指導ありがとうございます。
ドキュメントを見回しましたが、これを行う良い方法が見つかりません。
ウェブカメラからビデオをキャプチャし、それを ISampleGrabber フィルターに接続してスクリーンショットを撮ります。これは問題なく動作しますが、ビデオの解像度をスケーリングできるようにしたいと考えています。
ご指導ありがとうございます。
ソフトウェアでのサイズ変更は、比較的高価な操作であり、DirectShow にはすぐに使用できるコンポーネントがありません。通常、サイズを変更する必要がないように、最初に適切なキャプチャ解像度を設定することに関心があります。
実行時にビデオのサイズを変更するには、サードパーティ フィルターまたはカスタム フィルターが必要です。または、代わりに、DriectShow パイプラインからビデオをコピーし、StretchBlt
API を使用してサイズを変更します。
DirectShowからキャプチャしたビットマップを操作し、それらを新しいビデオファイルにプッシュすることで、サイズ変更作業を行うことができます。しかし、私は一般的にそれをお勧めしません。
FFmpegにはすでにこの機能が統合されています。
ffmpeg -i input.avi -s [width]x[height] output.avi