私はこのコードを使用していますが、ソースを取得すると、高さと幅は以下のコード ブロックの制約によって設定されますが、ビデオの実際のサイズを取得したいと考えています。
navigator.mediaDevices.getUserMedia({
audio: false,
video: {
mandatory: {
chromeMediaSource: 'desktop',
chromeMediaSourceId: desktop_id,
minWidth: 990,
maxWidth: 990,
minHeight: 770,
maxHeight: 770
}
}
}).then(gotStream).catch(getUserMediaError);
結果として得られるキャプチャされた画像はもちろん 990x770 ですが、これにより画像の周りに黒い境界線が表示されます。ソースの実際のビデオは 995x744 ですが、指定された制約の結果として、この新しいサイズになり、黒い境界線が表示されます。制約を設定しないと、幅が 0 であるというエラーがスローされるため、何らかの幅を設定する必要があります。
ビデオ ソースのサイズ 995x744 を制約に手動で入力しても、それをキャプチャするにはソースよりも大きな領域が必要と思われるため、機能しません。正確にそのままキャプチャできない理由がわかりませんか? これを改善するために私が間違っていることが他にあるのではないでしょうか?
制約をビデオの実際のサイズに設定できるように、ビデオをキャプチャするときにビデオのサイズを取得するにはどうすればよいですか? したがって、キャプチャされた画像はソース ビデオとまったく同じサイズで、黒い枠などはありません。