这里有几个问题需要解决。让我们一一介绍。
未知错误
大多数情况下,“发生未知错误”来自对因任何意外原因(奇怪的捕获设备、CPU 无法跟上编码以及基本上任何可能中断 DirectShow 图形帧流的事件)而失败的 DirectShow API 调用。尝试不同的捕获源,看看你的结果是否会改变。此外,从您的设备对本地 Windows Media 文件进行长编码,以确保此处一切正常。
网络错误/服务器不理解的请求
根据我的经验,网络错误主要与带宽有关。但是 Request Not Understood 可能意味着您的 HTTP 请求中有某些内容发生了变化(中间的代理等)。
按需测试优先
首先从您的 EC2 服务器测试点播流。下载 Big Buck Bunny 或自行编码,并确保您可以在浏览器中访问http://example.com/BigBuckBunny.ism/Manifest 。在客户端使用Smooth Streaming Health Monitor测试它,并使用IIS Smooth Streaming Performance Testing Tool 测试服务器块性能。这将验证 IIS 媒体服务是否正常工作。
启动顺序
确保您按以下顺序启动实时发布点流:
- 在您的 EC2 服务器上,导航到 Live Publishing Point 并启动它。这将使发布点处于准备好接受流的状态。
- 在 Expression Encoder 中,输入发布点 URL 后按Connect 。只要端口 80 处于打开状态,此时您应该会看到连接成功。
- 按开始并开始编码。(在测试流时,最好从 1 或 2 比特率开始;保持低带宽。)
备用设置
如果一切都失败了,请在您的本地主机上设置一个平滑流(Expression 将流推送到本地主机上的 IIS 媒体服务),并配置您的本地主机发布点以将流推送到您的 EC2 实例。如果您需要针对长期流的更耐网络中断的解决方案,或者您的连接不如您想要的那么稳固,这也是一个很好的方法。
祝你好运,希望其中一些信息能缩小范围。