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

推荐订阅源

T
Tenable Blog
Last Week in AI
Last Week in AI
P
Proofpoint News Feed
Engineering at Meta
Engineering at Meta
H
Help Net Security
F
Fortinet All Blogs
MyScale Blog
MyScale Blog
宝玉的分享
宝玉的分享
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 司徒正美
量子位
N
Netflix TechBlog - Medium
Apple Machine Learning Research
Apple Machine Learning Research
小众软件
小众软件
Recorded Future
Recorded Future
博客园 - 三生石上(FineUI控件)
Vercel News
Vercel News
aimingoo的专栏
aimingoo的专栏
I
InfoQ
Microsoft Security Blog
Microsoft Security Blog
Scott Helme
Scott Helme
The Last Watchdog
The Last Watchdog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
IT之家
IT之家
AI
AI
WordPress大学
WordPress大学
Security Archives - TechRepublic
Security Archives - TechRepublic
Google Online Security Blog
Google Online Security Blog
U
Unit 42
V2EX - 技术
V2EX - 技术
MongoDB | Blog
MongoDB | Blog
Schneier on Security
Schneier on Security
博客园 - Franky
H
Heimdal Security Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Jina AI
Jina AI
W
WeLiveSecurity
P
Privacy & Cybersecurity Law Blog
Cloudbric
Cloudbric
B
Blog RSS Feed
N
News | PayPal Newsroom
S
Securelist
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
I
Intezer
Hacker News - Newest:
Hacker News - Newest: "LLM"
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
博客园_首页
罗磊的独立博客
H
Hackread – Cybersecurity News, Data Breaches, AI and More
雷峰网
雷峰网

博客园 - 狂野都城

一次分布式事务管理器(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;