次のように、クライアントで再生中の Wowza ビデオ ストリームのビットマップ/スナップショットを取得しようとしています。
var bitmapData:BitmapData = new BitmapData(view.videoPlayerComponent.width, view.videoPlayerComponent.height);
bitmapData.draw(view.videoPlayerComponent);
これを行うと、次のエラー メッセージが表示されます。
SecurityError: エラー #2123: セキュリティ サンドボックス違反: BitmapData.draw: http://localhost:51150/Resources/WRemoteWebCam.swfは rtmp://localhost/videochat/smithkl42._default/ にアクセスできません。アクセス権が付与されたポリシー ファイルはありません。
このエラーは、適切な crossdomain.xml ファイルが見つからないことが原因であると推測されます。それがどこを探しているのかよくわからず、wireshark のスニフも決定的ではなかったため、次の各場所に配置してみました。
http://localhost/crossdomain.xml
http://localhost:1935/crossdomain.xml
http://localhost:51150/crossdomain.xml
これら 3 つの場所のそれぞれからファイルを正常に取得できます。(.swfファイルをホストするページをホストするWebサイトの場所にすぎないため、最後のものは何の効果もないと確信していますが、偶然...)
これらは、各インスタンスで取得しているファイルの内容です:
<cross-domain-policy>
<allow-access-from domain="*" to-ports="*" />
</cross-domain-policy>
そして、それはまだ同じエラーメッセージをスローしています。
また、 Wowza フォーラムの指示に従って、[install]\conf[appname]\Application.xml で StreamVideoSampleAccess を有効にしましたが、満足できませんでした。
<Client>
<IdleFrequency>-1</IdleFrequency>
<Access>
<StreamReadAccess>*</StreamReadAccess>
<StreamWriteAccess>*</StreamWriteAccess>
<StreamAudioSampleAccess>*</StreamAudioSampleAccess>
<StreamVideoSampleAccess>*</StreamVideoSampleAccess>
<SharedObjectReadAccess>*</SharedObjectReadAccess>
<SharedObjectWriteAccess>*</SharedObjectWriteAccess>
</Access>
</Client>
何かご意見は?