如何做Flash伪流媒体?

Sie*_*tse 7 flash video streaming flv

我需要构建一些开始在文件中途提供H.264编码视频的内容到闪存播放器(以支持跳转到尚未缓冲的视频中的某个点).

目前,视频采用FLV容器格式,但转码是一种选择.我设法重写了给定字节偏移量的文件头和元数据信息.这适用于较旧的视频,但不适用于H.264编码的文件.我怀疑这是因为文件中的视频标签也必须改变,这是不可行的(它需要太多的处理能力).

这样做的"正确"方法是什么?

Sim*_*mon 2

Flash 播放器只有在下载了 MOOV Atom 后才能开始播放 H.264 视频。现有的伪流媒体提供程序只是为您提供一个 FLV 标头(文件的前 13 个字节或硬编码的标头),然后从给定的偏移量提供文件。如果您想制作 H.264 伪流媒体,则需要让它输出 FLV 标头,然后是 MOOV 原子,然后从给定偏移量提供文件的其余部分。如果您不使用 FLV 容器,则不需要 FLV 标头,但仍然需要 MOOV 原子。

不幸的是,我认为您无法使用磁盘上文件中的 MOOV 原子;它包含的信息不适合您提供的文件片段。因此,您必须解析现有原子并生成您自己的原子之一,该原子适合文件的服务部分。

如果 H.264 文件中存在复杂的结构,则伪流可能会更加复杂。如果解析文件不可行,恐怕您可能无法伪流媒体。