actionscript - 如何在不使用其 Streaming 服务器的情况下实现 Adob​​e HTTP Streaming 规范

标签 actionscript flash netstream http-streaming

从 Flash 10.1 开始,他们增加了通过 appendBytes 方法将字节添加到 NetStream 对象的功能(在此处描述 http://www.bytearray.org/?p=1689 )。此次添加的主要原因是 Adob​​e 终于支持视频的 HTTP 流式传输。这很棒,但您似乎需要使用 Adob​​e Media Streaming Server (http://www.adobe.com/products/httpdynamicstreaming/) 从现有视频创建正确的视频 block ,以实现流畅的流式传输。

过去我曾尝试做一个被破解的 HTTP 流式传输,在其中我换掉了 NetStream 对象(类似于这里的 http://video.leizhu.com/video.html ),但 block 之间总是会有短暂的停顿。使用新的 appendBytes,我尝试对来自上一个站点的两个视频部分进行快速模拟,但即便如此,跳过仍然存在。

有谁知道需要如何格式化两个连续的 .FLV 文件,以便 NetStream 对象上的 appendBytes 方法创建一个流畅的视频,而片段之间没有明显的跳跃?

最佳答案

我能够使用 Samuel 描述的 Adob​​e 的 File Packager Tool 来完成这项工作。我没有使用 NetStream 对象,但我使用了我假设在内部使用的 OSMF 示例播放器。以下是不使用 FMS 的方法:

  • http://www.adobe.com/products/httpdynamicstreaming/ 获取 Adob​​e 用于 Http 动态流的文件打包程序
  • 在包含 H.264/AAC 的现有 MP4 文件上运行文件打包程序,如下所示:
    C:\Program Files\Adobe\Flash 媒体服务器 4\tools\f4fpackager>
    f4fpackager.exe --input-file="MyFile.mp4"--segment-duration=30

  • 这将产生 30 秒长的 F4F 文件,以及 F4X 和 F4M 文件。 F4F 文件是您应该播放的正确分段(和碎片)的 MP4 文件。
    如果您想使用 OSMF 播放器对此进行测试,还请执行以下操作:
  • 获取 Apache 服务器
  • http://www.adobe.com/products/httpdynamicstreaming/ 获取 Adob​​e 的 Apache Http Origin 模块
  • 根据http://help.adobe.com/en_US/HTTPStreaming/1.0/Using/WS8d6ed60bd880807c48597a9e1265edd6cc0-8000.html安装模块
  • 将F4F、F4X、F4M文件放到httpdocs
  • 下的vod目录下
  • http://www.osmf.org/downloads/OSFMPlayer_zeri2.zip 获取“用于 HTTP 动态流的 OSMF 示例播放器”
  • 将 Sample Player 放入 httpdocs 目录
  • 在浏览器中从 Sample Player 加载 html 文件,例如 http://localhost/OSMFPlayer.html
  • 按弹出按钮并输入您的 F4M 文件的 URL,它应该会播放

  • 因此,要回答最初的问题 Adob​​e 的 File Packager 是要使用的文件拆分器,您无需购买 FMS 即可使用它,它适用于 FLV 和 MP4/F4V 文件。

    关于actionscript - 如何在不使用其 Streaming 服务器的情况下实现 Adob​​e HTTP Streaming 规范,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4443146/

    相关文章:

    actionscript-3 - ActionScript:我可以直接从As3开始学习ActionScript吗

    php - 将 php $_GET 传递给 flash 播放器 xml 文件

    c# - 异步 TCP 服务器/客户端不可靠数据包?

    actionscript-3 - 如何在iOS包中打开一个NetStream using video?

    actionscript-3 - 如何使Flashdevelop错误出现在结果面板中?

    flash - 没有 Flex 的 ActionScript 3 可绑定(bind)元数据标签?

    html - YouTube 电影无法加载

    javascript - 寻找具有特定要求的 html/flash/ajax uploader 组件

    actionscript-3 - ActionScript 3键释放停止声音

    actionscript-3 - Netstream 和 step() 或 seek()?