Cdn

CloudFront - 首次訪問

  • June 26, 2012

我們將影片文件儲存在 Amazon S3-Buckets 中,並通過 CloudFront 進行播放。不幸的是,儘管 CloudFront 具有源拉機制,但文件僅在第一次請求時從 S3 傳輸到邊緣。這導致了一個問題,即每個地區(我們在全球範圍內服務)的每個第一個使用者在流媒體上都有很大的延遲。

我沒有找到自動將新影片文件直接推送到所有邊緣的可能性,但我們需要一個解決方案(以及 CloudFront 有時太慢的事實)。

有沒有可以做的CDN

  • 以 S3 為儲存源
  • 安全流式傳輸(例如 RTMPe)
  • 自動從 S3 儲存桶中提取新文件(或具有類似機制)
  • 頻繁記錄流式統計

或者有什麼辦法可以解決我的 CloudFront 問題?

非常感謝。

我想您會發現大多數 CDN 的架構都類似,即使它們提供集中式儲存。如果沒有人請求內容,將內容推送到邊緣是沒有意義的,所以他們按需進行。

這在實踐中真的是一個問題嗎?在我看來,它們可能是最多一秒左右的初始啟動延遲,以便將影片文件頭傳輸到邊緣流伺服器,然後 CloudFront 的內部頻寬足以將影片直接流式傳輸到最終使用者沒有明顯的性能問題。

我確信 Akamai/LimeLight/Level3 或其他大型契約 CDN 為您提供了一個 SLA 解決方案,可以在上傳時將內容推送到邊緣,但它會花費更多。CloudFront 價格低廉,而且物有所值。

最後,檢查您的 MP4 文件格式標頭並確保您的 MOOV 原子在文件開頭正確設置,以允許在不下載完整文件的情況下進行搜尋和流式傳輸。這樣,邊緣伺服器可以在從 S3 獲取整個電影文件之前開始流式傳輸。不確定您使用的是什麼編碼器,但通常有一個“針對流媒體或網路優化”選項可用。這裡有一些關於修改現有影片的開源工具的更多資訊。

引用自:https://serverfault.com/questions/402004