我正在尝试做一些非常简单的事情,并希望有人能指出我一个快速的解决方案。
我有一个应用程序,用户可以登录并连接到Flash媒体服务器。连接后,任何人都可以查看他们的网络摄像头。
例如,假设Bob和Sally登录网站,他们的相机现在正在流式传输。 Bob可以在http://www.example.com?cam=sally查看Sally的网络摄像头流,Sally可以在http://www.example.com?cam=bob查看Bob的网络摄像头流
我相信这很容易,你们可以提供帮助。
拜托,这很紧急,我在等......
祝你好运, 诺曼。
答案 0 :(得分:0)
使用此代码将网络摄像头流广播到FMS:
var nc : NetConnection = new NetConnection( );
nc.client = this;
nc.addEventListener(NetStatusEvent.NET_STATUS, statusHandler );
nc.connect( "rtmp://your-fms-server-url/your-application" );
var cam : Camera = Camera.getCamera( );
cam.setMode( 640, 480, 20 );
var ns : NetStream;
function statusHandler ( eventOBJ : NetStatusEvent )
{
if ( eventOBJ.info.code == "NetConnection.Connect.Success" )
{
ns = new NetStream( nc );
ns.attachCamera( cam );
ns.publish( "your-stream-name" );
}
};
接收器很简单,除了几行:
// to the declaration section:
var video : Video = new Video( );
// code in the statusHandler method:
if ( eventOBJ.info.code == "NetConnection.Connect.Success" )
{
ns = new NetStream( nc );
ns.play( "your-stream-name", -1 );
video.attachNetStream( ns );
addChild( video );
}
您只需在flashvars中传递所需流的名称即可。 例如,如果您使用此URL:www.yourdomain.com/chat.php?cam = Sally,在这种情况下将cam参数传递给SWF客户端,并使用以下格式:
ns.play( this.loaderInfo.parameters.cam , -1 );