我正在开发一个项目,我们尝试在Flash中播放视频,方法是将NetStream置于数据生成模式并附加字节。这适用于FLV,但我需要支持其他文件格式,如mp4。我想要不加改变地支持文件,或者以某种方式在Flash客户端中动态包装文件。
我知道有办法通过RTMP,HTTP流等方式传输文件,但我现在正试图减少所有服务器的数量。我很困惑为什么NetStream对象在调用.play(文件)时可以处理多种文件格式,但是当你想使用.play(null)并输入字节时,只有FLV似乎可以工作。
关于如何实现这些目标的任何想法?如果我需要更清楚,请告诉我。
答案 0 :(得分:1)
数据生成模式下的NetStream 仅支持FLV格式的数据。可以支持其他数据格式,但您必须手动修改字节以符合FLV格式。
这是一个巨大的痛苦,需要相当多的时间,但它肯定可以实施。我已经为几个不同的项目多次完成了。
以下是我用来通过NetStream播放TS文件的示例: https://github.com/nweber/hls-as/blob/master/hlsPluginLib/src/at/matthew/httpstreaming/HTTPStreamingMP2PESVideo.as (不是我编写的代码;取自另一个开源项目并更新到OSMF 2.0)