如何在不使用流媒体服务器的情况下实施 Adob​​e HTTP Streaming 规范

2023-12-10

从 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/)从现有视频创建正确的视频块,以实现流畅的流式传输。

我过去尝试过做一个 HTTP 流的黑客版本,我交换了 NetStream 对象(类似于这里http://video.leizhu.com/video.html),但块之间总是有短暂的停顿。使用新的appendBytes,我尝试对前一个站点的视频的两个部分进行快速模拟,但即便如此,跳过仍然存在。

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


我能够使用塞缪尔描述的 Adob​​e 的文件打包工具来完成此工作。我没有使用 NetStream 对象,但我使用了 OSMF Sample Player,我认为它在内部使用它。以下是不使用 FMS 的方法:

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

这将生成 30 秒长的 F4F 文件、F4X 和 F4M 文件。 F4F 文件是应该播放的正确分段(和碎片)的 MP4 文件。 如果您想使用 OSMF Player 进行测试,还可以执行以下操作:

  1. 获取 Apache 服务器
  2. 获取适用于 Apache 的 Adob​​e Http Origin 模块:http://www.adobe.com/products/httpdynamicstreaming/
  3. 根据安装模块http://help.adobe.com/en_US/HTTPStreaming/1.0/Using/WS8d6ed60bd880807c48597a9e1265edd6cc0-8000.html
  4. 将F4F、F4X、F4M文件放入httpdocs下的vod目录下
  5. 从以下位置获取“HTTP 动态流媒体的 OSMF 示例播放器”http://www.osmf.org/downloads/OSFMPlayer_zeri2.zip
  6. 将示例播放器放在 httpdocs 目录中
  7. 从浏览器中的示例播放器加载 html 文件,例如http://localhost/OSMFPlayer.html
  8. 按弹出按钮并输入 F4M 文件的 URL,它应该会播放

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在不使用流媒体服务器的情况下实施 Adob​​e HTTP Streaming 规范 的相关文章

随机推荐