import { connectors, webrtc, streams } from '@roboflow/inference-sdk';
// ⚠️ 開発時のみ withApiKey を使用してください
// ⚠️ 本番環境でこれを使用しないでください。APIキーが漏洩します
// 本番ではバックエンドプロキシを使用してください(次のセクション参照)
const connector = connectors.withApiKey("your-api-key");
// カメラストリームを取得
const stream = await streams.useCamera({
video: {
facingMode: { ideal: "environment" },
width: { ideal: 640 },
height: { ideal: 480 }
}
});
// WebRTC接続を開始
const connection = await webrtc.useStream({
source: stream,
connector,
wrtcParams: {
workspaceName: "your-workspace",
workflowId: "your-workflow",
imageInputName: "image",
streamOutputNames: ["output"],
dataOutputNames: ["predictions"]
},
onData: (data) => {
console.log("Inference results:", data);
}
});
// 処理済みビデオを表示
const videoElement = document.getElementById('video');
videoElement.srcObject = await connection.remoteStream();
// 対応が終わったらクリーンアップ
await connection.cleanup();