如何在 SWF 容器中编码或多路复用 h.264 流?

如何在 SWF 容器中编码或多路复用 h.264 流?

有什么方法可以将视频文件编码为 SWF 内的 H.264 流,或者有一个程序可以将现有的 (x264) 流混合到 SWF 中?

如果没有的话,有没有其他比 Flash Video 更适合 SWF 的编解码器?(我认为这是可能的,因为 Youtube 已经在使用 H.264 和 AAC)。

答案1

您将无法将 H.264 编码为 swf,因为如上所述,swf 支持矢量图形。您也无法使用 flv 容器(使用 ffmpeg 等)对 H.264 进行编码,因为作者出于版权原因故意阻止这样做。您必须购买 H.264 许可证才能编码为 flv。(YouTube 拥有 H.264 flv,因为他们购买了许可证。)

您能做的最好的事情是将文件编码为 h.264 mp4 容器,然后创建或使用 swf 播放器,并包含 XML 元数据和标签来流式传输 mp4 文件。这就像使用 H.264 flv 和播放机使用 Flash Player 10 执行此操作效果很好。

这对我来说非常有用!

答案2

最简单的解决方案是将视频导入 Flash 然后在那里播放。

另一种方法,取决于您使用 SWF 的位置,是在 Flash 中制作视频播放器,然后使用 XML(或任何其他方法,我不知道 Flash 或 AS),然后通过播放器播放视频。

但我不知道有任何软件能够满足您的精确需求。

答案3

希望我能给你一个更好的答案。为了兼容性,你几乎只能使用 FLV。FLV 的编码时间更长,解码对 CPU 的要求更低。如果你对尺寸目标不是太过挑剔,你可以用 flv 获得与 mp4(非 avc,无 h.264)类似的尺寸和质量。值得注意的是,有些第三方 FLV 编码器比 Flash 自带的编码器做得更好,但大多数都是商业的。

据我所知,FLV 使用的编码是一家去年被谷歌收购的公司的产品,而该公司编解码器的早期版本是 Theora 的基础。

答案4

免费视频到 Flash 转换器可以使用 H.264 和 AAC 制作 SWF 文件,顾名思义,它是免费的。我一直在使用它。

相关内容