惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Tenable Blog
月光博客
月光博客
雷峰网
雷峰网
WordPress大学
WordPress大学
博客园 - 司徒正美
Last Week in AI
Last Week in AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
Visual Studio Blog
H
Help Net Security
Engineering at Meta
Engineering at Meta
Google DeepMind News
Google DeepMind News
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
S
Security @ Cisco Blogs
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
爱范儿
爱范儿
W
WeLiveSecurity
J
Java Code Geeks
Forbes - Security
Forbes - Security
H
Hacker News: Front Page
T
Threatpost
The Cloudflare Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
N
Netflix TechBlog - Medium
Latest news
Latest news
V2EX - 技术
V2EX - 技术
小众软件
小众软件
T
The Blog of Author Tim Ferriss
A
Arctic Wolf
B
Blog RSS Feed
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
I
InfoQ
C
Check Point Blog
N
News | PayPal Newsroom
Cyberwarzone
Cyberwarzone
V
V2EX
TaoSecurity Blog
TaoSecurity Blog
P
Privacy & Cybersecurity Law Blog
Microsoft Security Blog
Microsoft Security Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
D
DataBreaches.Net
F
Fortinet All Blogs
阮一峰的网络日志
阮一峰的网络日志
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
IT之家
IT之家
K
Kaspersky official blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Google DeepMind News
Google DeepMind News
C
CXSECURITY Database RSS Feed - CXSecurity.com
www.infosecurity-magazine.com
www.infosecurity-magazine.com

博客园 - 狂野都城

一次分布式事务管理器(MSDTC)的事务处理异常的排错 后台线程处理 FMS3.5 的logs 日志目录配置 C#磁盘大小管理操作类 C#建立IIS虚拟目录站点 IO操作类 同步和异步方式获取网页源代码! 判断一幅图片是否是黑色,灰度直方图 winform窗体置前 如何配置FMS边缘服务器 Windows服务“允许服务与桌面交互”的使用和修改方法 招聘:Flash视频开发程序员(网络多媒体应用) 招聘:windows mobile 手机应用软件的开发 Word 2007 里头鼠标失效(滚轮除外) ,困扰多天! 终止线程 Response.End 在Asp.net 里面的正确使用 Access 中查询TOP语句的奇怪问题??? 一道小学数学题... net常用代码 (收藏) 在VS2005 开发中使用Codesmith 和NetTiers 模版开发相关
关于FMS服务端数据流发布
狂野都城 · 2009-05-23 · via 博客园 - 狂野都城

看过网上很多帖子都在问如何在FMS服务器端进行stream广播,在客户端进行侦听,发现可以这样实现。

main.asc:

AS代码

  1. var isPlay=false;  
  2. application.onConnect=function(client){  
  3.     application.acceptConnection(client);  
  4.     trace(“it was connected!!”);  
  5.     client.playStream=function (){  
  6.         var ns=Stream.get(“37studio”);  
  7.         if(ns){  
  8.            if(!isPlay){  
  9.               ns.play(“stream/test”);  
  10.               ns.record();  
  11.               isPlay=true;  
  12.               return 0;  
  13.            }else{  
  14.               return Stream.length(“37studio”);  
  15.            }  
  16.         }  
  17.     }     
  18. }  
  19.       

client.fla:

AS代码

  1. import flash.display.Sprite;  
  2. import flash.events.NetStatusEvent;  
  3. import flash.events.SecurityErrorEvent;  
  4. import flash.media.Video;  
  5. import flash.net.NetConnection;  
  6. import flash.net.NetStream;  
  7. import flash.events.Event;  
  8. import flash.net.Responder;  
  9. import flash.net.ObjectEncoding;  
  10.   
  11. var videoURL:String = “stream/test”;  
  12. var connection:NetConnection;  
  13. var stream:NetStream;  
  14.   
  15. connection = new NetConnection();  
  16. connection.objectEncoding=ObjectEncoding.AMF0;  
  17. connection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);  
  18. connection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);  
  19. connection.connect(“rtmp://localhost/serverPublih”);  
  20.   
  21.   
  22. function netStatusHandler(event:NetStatusEvent):void {  
  23.     switch (event.info.code) {  
  24.         case “NetConnection.Connect.Success” :  
  25.             trace(“connect success!!!”);  
  26.             connectStream();  
  27.             break;  
  28.         case “NetStream.Play.StreamNotFound” :  
  29.             trace(“Stream not found: ” + videoURL);  
  30.             break;  
  31.     }  
  32. }  
  33.   
  34. function securityErrorHandler(event:SecurityErrorEvent):void {  
  35.     trace(“securityErrorHandler: ” + event);  
  36. }  
  37.   
  38. function connectStream():void {  
  39.     stream= new NetStream(connection);  
  40.     stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);  
  41.     var video:Video = new Video();  
  42.     video.attachNetStream(stream);
  43.     addChild(video);  
  44.     connection.call(“playStream”,new Responder(onResult));  
  45. }  
  46.   
  47. function onResult(para:*):void {  
  48.     trace(“para:”+para);
  49.     stream.play(“37studio”);  
  50.     stream.seek(para);  
  51.     return;