2010-01-19 98 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緩存服務器的請求,但你也可以支持多比特率的自適應流媒體。