ADC推荐:使用OSMF实现实时多播流处理
在本文中,将借助Adobe Flash Media Live Encoder、Adobe Flash Media Server 4和它附带的Multicast Configuration工具,创建一个MediaFactory驱动的开源媒体框架 (OSMF) 1.5 播放器,并使用更新的F4M文件格式规范回放一个实时多播P2P流。当结合使用时,这些工具为实现具有更广泛的应用范围和更高性能的视频提供了一种强大、易于实现的解决方案。
新的Multicast Configuration工具使创建适用于OSMF的F4M描述文件以用于任何基于RTMP的视频发布工具(包括免费的Flash Media Live Encoder),以及用于Adobe Flash Media Server附带的新RTMFP多播应用程序变得更加简单。
备注:此工具随Flash Media Server 4发布的版本已经过时,将不再适用于多播的OSMF实现。本文示例文件中包含的Multicast Configuration工具是最新版本,应该用于代替Flash Media Server 4附带的工具。
本文包含以下主题:
要求
为了充分利用本文,您需要以下软件和文件:
Flash Professional CS5
Flash Builder
Flash Media Server
Flash Media Live Encoder
Flash Player 10.1
示例文件
预备知识
要学习本教程,建议拥有ActionScript 3和Flash Builder或Flash Professional的应用知识。
设置项目
可以使用Adobe Flash Builder 4或Adobe Flash Professional CS5完成本文中的步骤。下载了本文的示例文件之后,首先执行以下步骤。如果使用Flash Builder:
- 选择File > Import > Flash Builder Project,选择示例ZIP文件并单击Finish。
- 打开{SAMPLES_PROJECT}/src目录中的OSMF_MulticastF4MSample.as文件。
- 要将该类文件设置为要编译的应用程序文件,右键单击包资源管理器中的OSMF_MulticastF4MSample.as文件并选择Set As Default Application。这会将项目添加到可编译应用程序列表中。文件图标上的蓝点表示该文件是默认的应用程序文件。
如果使用Flash Professional:
- 解压示例ZIP文件。
- 在OSMF_MulticastSample文件夹中,打开src/OSMF_SampleTemplate.fla并将它保存为OSMF_MulticastF4MSample.fla。
- 将该文件的文档类更改(在属性检查器中)为OSMF_MulticastF4Msample。
创建描述文件
按照以下步骤创建描述文件:
- 在浏览器中打开{SAMPLES_PROJECT}/multicast_configurator/configurator.html文件。
备注:此工具随Flash Media Server 4发布的版本已经过时,将不再适用于多播的OSMF实现。本文示例文件中包含的Multicast Configuration工具是最新版本,应该用于代替Flash Media Server 4附带的工具。
- 打开Multicast Configuration工具后,选择Fusion作为多播类型。
- 对于RTMFP URI,输入rtmfp://localhost/multicast。
- 对于Stream Name,输入livestream。
- 对于Publish Password,输入realeyes。
- 保留Group Name的默认值:fms.multicast.example。
- 保留IP Multicast Address and Port的默认值224.0.0.254:30000(参见图1)。

图1. Flash Media Server 4 Multicast Configuration工具
- 单击Generate。这将生成您的Publisher Stream Name并允许您保存manifest.f4m文 ·件。
- 单击Save Manifest File,将文件保存为{SAMPLES_PROJECT}/src/assets目录下的manifest.f4m。
- 单击Copy将Publisher Stream Name复制到剪贴板。
运行应用程序
现在您已有了一个描述文件和流名称,按照以下步骤运行示例应用程序:
- 启动Flash Media Live Encoder,将剪贴板内容粘贴到Stream设置中。
- 确保FMS URL设置为了rtmp://[YOUR SERVER ADDRESS]/multicast(参见图2)。可以单击Connect查看它是否有效,但不是必须这么做。

图2. 配置Flash Media Live Encoder
- 返回到Flash Professional或Flash Builder并打开{SAMPLES_PROJECT}/src/OSMF_MulticastF4MSample.as文件。
- 在initPlayer()方法中,将传递给URLResource()构造函数的参数从DYNAMIC_STREAMING更改为MULTICAST_F4M:
//the pointer to the media - change it to MULTICAST_F4M and review the F4M var resource:URLResource = new URLResource( MULTICAST_F4M );
- 保存文件并运行应用程序。
- 启动Flash Media Live Encoder。几秒之后,应该可以看到应用程序中的流(参见图3)。

图3. 浏览器中显示的视频流
未来步骤
关于多播和OSMF的更多信息,请参见开源媒体框架开发人员指南*(PDF,1 MB)或访问开源媒体框架*网站。您可能还希望探索Video Technology Center和Flash Media Server Developer Center*中的示例项目和模板*。
要了解如何不使用MediaFactory类和F4M描述文件来创建多播视频播放器,阅读相关文章使用OSMF创建简单的多播视频播放器*。
关于作者

David Hassoun
David Hassoun 是 RealEyes Media, LLC* 的创始人。这是一家位于美国科罗拉多州的数字媒体公司,专注于交互式移动媒体以及使用Adobe Flash平台和Flex的高级应用。他对移动媒体、视频和可用性及交互性的挑战充满激情。他是一名Adobe认证的专家导师,在丹佛大学教授RIA课程;并且作为落矶山Adobe用户组的经理,教授Flash和Flex应用课程。David曾经为多个公司工作过,包括美国快递、大通曼哈顿银行、Qwest、波音、Macromedia、Adobe、美国空军、Bechtel/Bettis,等。David平时撰写一些代码和技术最佳实践的评论,并且作为行业专家为国际性企业领袖提供方向性的建议——包括技术、可见和应用评论等。

John Crosby
John Crosby 是RealEyes Media, LLC* 的一名资深解决方案构架师和合伙人。John总是对新生事务感兴趣,参与过很多项目,染指众多技术;他还帮助创办了Adobe Flash、移动Flash和Flex的培训课程。作为一名前专业键盘手,John总是在寻求好的工具、概念和想法,使开发变得更加有趣和可信。
ADC中文站原文地址: http://www.adobe.com/cn/devnet/flashmediaserver/articles/multicast_streaming_osmf.html

.gif)
.gif)




.gif)
发表新评论