美好的一天!
在AS3中开发视频播放器时遇到了一个问题。我对FLV和MP4使用HTTP伪流(这里是假流浪的描述:http://flowplayer.org/plugins/streaming/pseudostreaming.html)
问题: flv / mp4文件的大小分布不是线性的,因此基于(stream.bytesLoaded / stream.bytesTotal)* video.duration的搜索不准确。
我的解决方案
对于这个解决方案,我们需要在文件的开头有视频文件中的关键点\搜索点(无论如何都需要)。
用户点击搜索栏,我们以秒为单位计算目标搜寻时间
我们检查目标时间是否已经缓冲:
2.1。如果是这样 - 只需寻求使用NetStream.seek()
2.2。如果未加载目标时间 - 使用文件元数据中的关键点表找到neares seekpoint并执行切换到添加了?start=...
的新URL
使用这种技术我可以获得准确的搜索,但整体方法有点棘手。
还有更好的方法吗?