我正在使用netstream和video对象在flash中播放视频。特别是mp4视频。
我要做的是从特定位置开始播放文件(例如20秒)。
然而,netstreamObject.seek(20)不起作用,除非流已经加载超过20秒。有没有办法指定开始加载20s?或者其他任何方式来实现这个目标?
答案 0 :(得分:2)
答案 1 :(得分:2)
简短的回答是,“你无法通过渐进式视频寻找下载点。” 但是,Akamai和其他CDN(例如,YouTube)拥有允许搜索渐进式视频的技术。这并不能解决您的问题,因为它是专有的服务器技术。 在您的情况下,仅使用无法控制文件或流服务器的客户端代码,在文件加载之前无法进行搜索。
答案 2 :(得分:1)
您可以使用某种CDN缓存服务器(因此实际文件将通过此缓存服务器提供)支持lighttpd,然后您可以在视频中提前搜索。
答案 3 :(得分:0)
是的,即使是渐进式的,你也可以这样做,它被称为http伪流,查找它,你会发现很多这方面的例子。基本上你需要服务器上的一块来接收请求,在初始请求中你将通过http头添加起始点,服务器端将自动移动到该偏移量。
现在有更好的方法。在我看来,RTMP很糟糕,它是Adobe专有的,可以在非标准端口上运行,因此很多用户都遇到了问题。如果你想认真并且做得对。查看apache f4f模块,adobe http动态流和f4fpackager。根据Adobe在apache origin模块上的文档设置apache服务器,使用f4fpackager将视频/音频块化为段。现在将您的netstream指向f4m。您不仅可以快速寻求疯狂,还可以使用标准的http,可以使用普通的旧CDN来缓存和放大服务器请求,但您也可以支持自适应流的多个比特率。