2016-11-04 40 views
1

我有一個(php)網站,教師可以上傳他們課程的錄音,學生可以登錄然後回放錄音。如何使用php和s3共享無法下載的私人視頻?

我想讓這些視頻更安全。目前,這些視頻存儲在我的服務器上,任何具有該URL的人都可以下載它們。所以,(1)我想將它們存儲在無法使用url下載的地方。其次,我需要阻止他們右鍵點擊並保存正在播放的視頻。 我正在努力解決這個問題,但沒有得到它...

這可能嗎?是否需要使用特殊播放器?流式傳輸視頻幫助(可以傳輸任何視頻)嗎?

我很感激幫助,我花了很多時間研究這個問題,隨着我的進步,我變得更加困惑!

回答

1

有幾個選項,你可能希望使用。

1.亞馬遜CloudFront的RTMP分配

亞馬遜CloudFront的是內容分發網絡,全球接近緩存的內容給用戶,在60多個地點。它還能夠服務實時媒體播放(RTMP)協議。這意味着您的網頁可以呈現媒體播放器(例如JW Player,Flowplayer或Adobe Flash),並且CloudFront可以提供內容。

參見:Working with RTMP Distributions

CloudFront的分佈也可以服務於私人內容。您的應用程序可以生成一段時間內提供內容的網址。內容是通過媒體協議提供的,所以整個文件不能輕易下載

請參見:Serving Private Content through CloudFront

2.亞馬遜S3前簽署的網址

默認情況下,在Amazon S3中的所有對象都是私有的。然後,您可以添加權限,以便人們可以訪問您的對象。這可以通過以下方式進行:

  • 對單個對象
  • 水桶策略的訪問控制列表的權限(按照你上面)
  • IAM用戶和組
  • 預簽名URL

A Pre-Signed URL可用於授予對S3對象的訪問權限,作爲「覆蓋」訪問控制的一種方式。一個通常爲私人的對象可以通過追加到期時間和簽名通過URL訪問。這是在不需要Web服務器的情況下提供私人內容的好方法。

與上面的CloudFront示例類似,您的應用程序可以生成一個URL,以便在有限的時間段內訪問S3內容。一旦期限到期,預先簽名的URL將不再起作用。但是,在活動期間,能夠下載整個文件,因此這可能不適合您希望保護的視頻內容。

+0

正確的流與雲端聲音。是否需要通過cloudfront進行流式傳輸,或者s3上託管的視頻是否可以由播放器直接傳輸?我沒有噸的人下載世界各地,所以我不關心最優分配 –

+0

您需要使用CloudFront - 它執行所有協議的東西,也可以保護您免受文件的直接下載。 (請注意,即使是流式文件也可以使用正確的軟件進行保存。)如果您仍在AWS賬戶的前12個月內,則Amazon CloudFront將包含在[免費使用套餐](https:// aws。 amazon.com/free/)。 –