Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Flash流式播放视频_Flash_Actionscript_Amazon S3_Video Streaming - Fatal编程技术网

使用Flash流式播放视频

使用Flash流式播放视频,flash,actionscript,amazon-s3,video-streaming,Flash,Actionscript,Amazon S3,Video Streaming,我在这个问题上花了一整天的时间,恐怕我错过了什么 我的S3服务器上有一个简单的mov/mp4文件,使用AVC编码,我还有一个swf文件可以播放它。如前所述,我找到了两种方法 第一个是: nc.connect(null); var ns:NetStream = new NetStream(nc); ns.play("http://url.path/movie.mov"); 这是可行的,但它看起来像是下载了视频,一旦完成就会开始播放 为了将其用于视频流,它说要使用: nc.connect("htt

我在这个问题上花了一整天的时间,恐怕我错过了什么

我的S3服务器上有一个简单的mov/mp4文件,使用AVC编码,我还有一个swf文件可以播放它。如前所述,我找到了两种方法

第一个是:

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流媒体教程都假设我使用RTMP协议存储视频,读了一点,发现我可以使用。我必须这样做吗?是否有免费的解决方案,或者flash只能流式传输此协议
  • Thx.

    对于您的两种方法:

  • 您的服务器需要被告知流式传输该mime类型(我没有S3的经验,但它可能已经为常见的视频类型进行了设置),或者您的文件类型不是流式传输支持的类型(MOOV atom-元数据-位于文件的末尾而不是开头)。使用Adobe Media Encoder(或将此数据放在文件开头的其他编码程序)重新编码为.mp4(h.264编码)或.f4v(或.flv)

  • 这是针对流媒体服务器(Flash media server)的,因此您需要输入媒体服务器的地址:例如。“rtmp://mediaserver/application/streamname".


  • 如果文件在播放开始前完全下载,可能是因为元数据位于视频的末尾


    尝试使用(或在线搜索预编译的二进制版本)将此元数据移动到文件的开头

    您查看过Red5媒体服务器吗?-它是开源的,可以免费使用。你知道这一点吗?还没有,我需要检查air应用程序是否修复了它。1。这是一个用h.264编码的mov文件(当我下载它时,它被降级为mp4)。mime类型是video/mp4。2.我必须使用它吗?服务器可能没有流式传输它,因为它位于.mov容器中。我知道一些mp4文件的末尾有所有的元数据,这也可能是你的问题。我会尝试用AdobeMediaEncoder将其重新编码为f4v或mp4,并完全抛弃mov容器。您也可以尝试将您的源代码从.mov重命名为.mp4Thx以获取评论-重命名和重新编码没有任何帮助,还有其他想法吗?您是否可以在线访问有问题的视频文件?重新编码时,您是否使用了Adobe Media Encoder或其他方法此外,您可能需要使用.mp4中的youtube预设(最初选择后,您可以根据自己的喜好进行自定义)