2010-05-12 73 views

回答

1

只是猜測,但他們可以看到Flash SWF文件連接到什麼(即根據SWF文件所做的HTTP請求查找FLV url)。一旦他們這樣做,他們可以做兩件事之一:

1)排隊的過程,其中:i)下載FLV,ii)剪切FLV爲10秒長,iii)添加淡入/淡出,iv)保存。

2)其實他們完全可以直接在每次使用原來的URL連接到FLV,然後只播放10秒。然後,他們可以添加淡入/淡出視頻效果。雖然,

我懷疑他們會使用第二種方法,因爲它可能會導致人們的服務器惱人的尖峯,它可能會增加滯後。第一種方法允許Bing服務器緩存視頻,並將其託管在專用於視頻流的可靠位置。

更新

試想想起來了,有這樣做的另一種方法:

我知道,在PHP中可以反編譯的飛行編譯SWF。這很快,這將是一個簡單的方法來提取任何網址。當然,微軟不會使用PHP,但我很確定他們有一個用C++編寫的等效庫(我確信他們使用C++)。

但即使他們正在尋找一個FLV的HTTP請求,他們可能會有一個爬蟲在一個輕量級的「瀏覽器」中運行。瀏覽器需要渲染閃存,然後才能發出HTTP請求,然後它會記錄所有出局的請求。如果您正在運行自己的服務器,這不是一件太困難的事情,您只需擁有一個後臺進程並掃描日誌查找FLV請求即可。創建你自己的瀏覽器來做這件事可能聽起來令人生畏,但實際上它很簡單(ish):在C#中,你可以創建一個HttpRequest到URL,掃描文檔中的任何鏈接,排列鏈接,請求每個鏈接,並以這種方式循環(確保你沒有訪問你已經訪問過的鏈接)。在PHP中,你可以捲曲URL並執行相同的操作。每當您找到SWF鏈接時,您就會將其添加到不同的隊列中,其中一個可以呈現Flash(或反編譯),並找到指向FLV URL的任何鏈接,然後根據需要排列這些鏈接。

+0

很好的答案,這是很有道理的感謝。任何想法如何以編程方式檢測FLV HTTP請求? – kekeke 2010-05-12 16:42:07

+0

我在更新中解決了您的問題。 :) – AlishahNovin 2010-05-12 17:14:09

+0

優秀的答案,非常感謝你! – kekeke 2010-05-12 18:12:13