我正在尝试在Flash播放器上播放一个视频文件,该文件的DREF原子指向外部电影。
DREF框具有值URL并指向具有mdat的外部视频文件。但是flash视频播放器(netstream对象?)无法加载外部文件。 在过去的几周里,我一直在努力解决这个问题,任何提示都会有所帮助。
提前致谢
答案 0 :(得分:1)
编辑:从this post,似乎Flash中只有字节访问FLV文件,因此我假设你必须使用外部(Java,服务器端等)工具来解决你的问题。问题。 Adobe NetStream.appendBytes docs
这不是对您的请求的直接回复,但可能有助于理解和使用Quicktime标头数据。
您可以使用this Java program查看标题中的内容,并提取数据(它有点旧,但仍可以使用)。
对于您的项目,您可以从附带的Quicktime“flattener”中受益,它将把所有外部数据整合到一个Quicktime文件中。
如果您只是在寻找Apple Quicktime标题文档,那么它们是currently found here。
答案 1 :(得分:0)
如你所知Ganesh在flash运行时没有直接支持dref atom,你可以通过flash流式传输它的唯一方法就是在你的源文件的帮助下创建一个FLV头,它包含DREF原子并以某种方式合并mp4文件mdat与FLV标头。然后,您将能够运行NSStream的appendByte
序列。
您可以查看以下参考资料,了解如何通过操作脚本代码实现它:
解析F4f原子(F4F文件遵循与mp4-iso-14496几乎相同的规格)并转换为FLV头(http动态流方式)
OSMF http dynamicstreaming codebase
一个开源项目,将MKV作为源文件,并通过AS3 NSStream.appendByte()
在Flash中播放。 Source code repository for MKV loader project