2010-01-19 101 views
0

我正在使用netstream和视频对象在Flash中播放视频。特别是一个mp4视频。在视频中间的网流播放

我想要做的就是从开始的特定位置(例20秒)播放该文件。

与netstreamObject.seek(20)

然而,除非流已经加载过去20秒不起作用。有没有一种方法可以指定开始在20秒加载?或者任何其他方式来完成这个?

回答

1

您可以使用某种形式的CDN缓存服务器(因此实际的文件将通过该缓存服务器提供服务),它支持lighttpd的,那么你就可以在寻求未来视频。

2

岂不是更简单的创建该文件的新版本开始20秒。这样用户下载的数量就会减少。

尝试此处http://www.winmend.com/file-splitter/

寻找乔什

+0

+1殴打我正是我要说,加上文件分离器链接 – iandisme 2010-01-19 16:14:07

+0

它实际上对于一个球员在那里的位置是用户指定的。我以20秒作为例子,但它可以是用户指定的任何时间。 这些内容也是通过网络汇总的,所以mp4文件不会被拥有或存储在我的任何服务器上。所以我想远离创建新文件等。 – Tija 2010-01-19 21:55:39

2

简短的回答是,“你不能寻求在过去一个渐进式视频的下载点。” 但是,Akamai和其他CDN(例如YouTube)有技术允许寻求渐进式视频。这不能解决您的问题,因为它是专有服务器技术。 在您的情况下,仅使用无法控制文件或流式服务器的客户端代码,在文件加载之前无法查找。

0

是的,你可以做到这一点甚至在进步,它被称为HTTP pseudostreaming,看看它,你会发现吨的这个例子。基本上你需要在你的服务器上接收一个请求,在你通过http头添加起始点的初始请求中,服务器端将自动移动到该偏移量。

现在有更好的方法。在我看来,RTMP很糟糕,它非常专有于Adobe,可以在非标准端口上运行,所以很多用户都会遇到问题。如果你想认真对待并做对。查找apache f4f模块,adobe http动态流和f4fpackager。根据apache源模块上的Adobe文档设置apache服务器,使用f4fpackager将您的视频/音频块化为段。现在将您的netstream指向f4m。你不仅可以快速寻找疯狂的,你也可以通过标准的http,可以使用普通的旧CDN缓存服务器的请求,但你也可以支持多比特率的自适应流媒体。