【发布时间】:2012-12-06 05:19:28
【问题描述】:
我试图在 C# 应用程序中捕获 RTMP 流并播放它。
我选择了以下架构:
- 将 Flash Player 嵌入到 C# 应用程序中。 (完成)
- 在嵌入式 Flash Player 中运行 Strobe 媒体播放。 (完成)
- 在嵌入式 Strobe Media Playback 播放器中捕获 RTMP 流。 (失败)
问题是我无法设置视频源位置。 RTMP 和 HTTP 源都不起作用。
Strobe Media Playback 显示唯一的文本字符串:“我们无法连接到您请求的内容。对于给您带来的不便,我们深表歉意。”
我尝试了几种设置来源的方法:
- 通过设置 FlashVars:
flash.FlashVars = @"src=http://players.edgesuite.net/videos/big_buck_bunny/bbb_448x252.mp4";
或flash.FlashVars = @"FlashVars=""src=http://players.edgesuite.net/videos/big_buck_bunny/bbb_448x252.mp4"""; - 通过创建 XML-config 并通过 FlashVars 将有关它的信息传递给 Strobe:
flash.FlashVars = @"configuration=D:\configuration.xml";
我也无法以任何这种方式播放本地托管的 .flv 文件。
理论上我想做的事有可能吗?
如果是,如何从 C# 代码设置 Strobe Playback 的视频源?
其他技术信息:
为了将 Flash Player 嵌入 C# 应用程序,我使用了两个库:
AxInterop.ShockwaveFlashObjects.dll 和 Interop.ShockwaveFlashObjects.dll
Flash 版本:11.5.502.135
Strobe Media Playback 版本:1.6.328
可以在此处找到示例 C# 项目: http://narod.ru/disk/64598707001.c8d1ae94c60a63a021bfdffc82864bb2/WPF_Flash.7z.html
附:如果您知道在 .NET 应用程序中捕获和播放 RTMP 流的更好方法,请分享您的知识。
【问题讨论】: