我只是花了一整天的时间在这个问题上,我担心我错过了一些东西。
我的 S3 服务器上有一个使用 AVC 编码的简单 mov/mp4 文件,并且我有一个可以播放它的 swf 文件。我找到了 2 种方法来做到这一点,如此处所述。
第一个是:
nc.connect(null);
var ns:NetStream = new NetStream(nc);
ns.play("http://url.path/movie.mov");
这行得通,但看起来它下载了视频,一旦完成它就会开始播放。
为了将它用于视频流,它说要使用它:
nc.connect("http://url.path/");
var ns:NetStream = new NetStream(nc);
ns.play("movie.mov");
这段代码在 NetStream ctor 中对我来说失败了:
ArgumentError:错误 #2126:必须连接 NetConnection 对象。
问题:
- 这是这样做的正确方法还是我在代码中遗漏了什么?
- 我发现这个线程让我非常难过,但是我构建了一些 HTML 视频播放器来播放来自 S# 的流式视频,这是怎么回事?
- 读了一下,发现可能是因为 h264 格式,最后才发送元数据。这是正确的吗?将它转换为另一种格式会解决它吗?
- 所有的 flash-streaming 教程都假设我使用 RTMP 协议存储我的视频,阅读了一下,发现我可以在 Amazon Web Services 上使用 Adobe Media Server 5。我一定要吗?是否有免费的解决方案或闪存只能流式传输此协议?
谢谢。