Flash 8 (AS2) 中的 FLVPlayback 组件并支持高清 H.264 视频
Posted
技术标签:
【中文标题】Flash 8 (AS2) 中的 FLVPlayback 组件并支持高清 H.264 视频【英文标题】:FLVPlayback component in Flash 8 (AS2) and support for HD H.264 video 【发布时间】:2011-01-18 21:20:31 【问题描述】:我使用 Flash 8 Professional 和 FLVPlayback 组件开发了一个视频播放器。最近,我一直在测试几个 720p .mov 文件,这些文件由在编码服务器上运行的 FFMPEG 转换为 FLV。我注意到这些文件没有在我的视频播放器中播放。他们似乎没有附加任何音频,但是当我在 Adobe Media Player 中播放它们时,音频就在那里。这是因为 Flash 8 中的 FLVPlayback 组件不支持高清视频吗?当我在本地测试时,视频图片播放时没有声音,但是当我在浏览器中运行时,视频冻结并且不播放。然而,进度条似乎在移动,就好像正在播放视频一样。
所以我想尝试将我的作品重新创建为 Flash CS4 项目,仍以 AS2 发布,但希望能够在 CS4 中使用支持 h264 视频的更新后的 FLVPlayback 组件。
这行得通吗?
------------------------------------ 更新 ---------- ----------------------------------
我注意到视频在完全加载之前不会播放,这在 Adobe Media Player 和 Flash Player 中确实如此。似乎渐进式下载不适用于我的视频,Flash Player 要求在开始播放之前加载整个视频。我找到了以下信息 - Another SO question on this topicScott Morgan post about Progressive H264 video
这是附加到我的 FLV 视频的元数据 -
Your Flash Version = WIN 10,0,45,2
filesize = 1936004
audiocodecid = 10
stereo = false
audiosamplesize = 16
audiosamplerate = 44100
audiodatarate = 93.75
videocodecid = 2 (This is Sorenson h263)
framerate = 24
videodatarate = 683.59375
height = 240
width = 320
【问题讨论】:
【参考方案1】:是的,您可以使用 Flash CS4 制作 ActionScript 2 项目并使用最新的 FLVPlayback 组件。 Flash CS4 支持 ActionScript 版本 1、2 和 3。
然而,我认为这不是这个项目的问题。您现有的项目应使用系统上安装的任何版本的 Flash Player 软件中的视频播放代码。也许只是更新 Flash Player 就可以让您获得工作视频。如果您要在 Web 上发布此 FLV 或与这些视频一起使用,您可能需要在浏览器上检查更新版本的 Flash。
对于您提到的关于在下载时修复渐进式播放的其他 SO 问题,我没有任何补充。
【讨论】:
【参考方案2】:有一个叫做 moov atom(是的,有两个“o”)的东西,它是 H.264 编解码器的一部分——它索引文件——如果它不在文件的前面,那么电影就赢了在整个下载完成之前无法播放。 moov atom 在创建视频时被放入,Adobe Premier CS3 和 After Effects CS3 等某些产品会将其放在文件末尾。但是有一个说明,Adobe 正在努力使用补丁更新该问题,但我不知道它是否已修复。如果您从使用 Flash Media Server 的 CDN 进行流式传输,则这不会成为问题,因为视频随后会被流式传输并(根据文档)由 FMS 索引。来源:http://www.adobe.com/devnet/flashplayer/articles/hd_video_flash_player_02.html
也许试试这个? http://blog.six4rty.ch/2008/05/14/h264-and-the-moov-atom/
【讨论】:
您好,谢谢,从我从编码的 FLV 文件中获得的元数据中,视频编解码器 id 为 2,即 Sorenson H.263。这仍然是同样的问题吗?当我运行为修复 .moov 文件而构建的应用程序并加载原始未编码的 .mov 文件时,我收到响应 - “错误:MOOV 原子不在文件末尾,文件已准备好进行渐进式下载或它是无效文件”。当我加载编码的 FLV 时,我得到 - “错误:遇到非 QT ***原子(这是一个 Quicktime 文件吗?)完成时间:0.076 秒”所以我认为 .moov 位于正确的位置?有什么想法吗? 你可以给我发一个视频吗?我有一个我编写的 AS3 Flash Player 10 视频播放器,我知道它适用于 H264 视频。我可以测试看看他们是否在那里工作。 Rob [at]inchwormstudio.com。如果不是,我会尝试对 CS4 中的视频对象进行快速测试以上是关于Flash 8 (AS2) 中的 FLVPlayback 组件并支持高清 H.264 视频的主要内容,如果未能解决你的问题,请参考以下文章
如何在运行某些代码之前等待 flash (as2) 加载子元素?
使用 AS2 在 flash 上引入 php 变量的简单方法