原文地址:http://www.adobe.com/cn/devnet/flashmediaserver/articles/multicast_streaming_osmf.html
使用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附带的工具。
本文包含以下主题:
设置项目
可以使用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. 浏览器中显示的视频流