我的問題是關於流行的 YouTube 下載器,例如youtube-dl
(命令列程序)或影片下載助手(火狐瀏覽器擴充)。
比較兩個案例:
- 在 YouTube 上觀看影片
- 使用下載器下載影片(具體來說,我們假設
youtube-dl
)
是否有可能(例如透過檢查網路流量)判斷該影片已下載,而不是「僅在 YouTube 上觀看」?
也許人們可以使用類似的程式來比較網路流量Wireshark?我自己無法做到這一點,但也許這會幫助別人回答這個問題。
答案1
是的,在查看網路流量時可以區分這兩種用例。簡單的解釋是:
- 當您使用 下載原始影片檔案時
youtube-dl
,您將立即載入完整的檔案。 - 當您透過瀏覽器觀看 YouTube 影片時,Flash 用戶端會分塊下載影片。這些區塊填滿了一個緩衝區,一旦該緩衝區即將耗盡,玩家就會取得下一個區塊。
如今,兩者都可以透過 HTTP 完成。您可以在載入影片時觀察客戶端行為。它永遠不會立即完全下載:緩衝區將播放完,然後將加載下一部分。這在網路流量中當然是可見的,因為隨著時間的推移,針對一項資源的多個請求會傳送到 YouTube。
引用 Kuschnig 等人的話。 (見下文):
視訊片段被分成大小為 lch 的區塊,由標準 HTTP 伺服器提供服務。視頻塊的下載由客戶端協調。為此,客戶端維護基於 nc HTTP 的請求回應流,並透過為每個流使用單獨的佇列來安排不同區塊的下載
如果您想了解有關 YouTube 串流媒體流量的更多詳細信息,我當然可以解釋更多。我們目前針對 YouTube 緩衝的最佳化和各種影片串流場景的分析進行了各種模擬實驗。
延伸閱讀:
答案2
是的,它是不同的(在使用的特殊情況下youtube-dl
),這可以從以下事實看出:在 youtube.com 網站上觀看時的流量使用https://傳輸並且 youtube-dl 產生的流量正在使用未加密的http://。
如果有人嗅探這些軟體包,他就可以知道該檔案沒有在 YouTube 上觀看。至少不是普通的方式