2010-09-27 95 views
0

我想在s3上播放视频。我想在页面中“嵌入”它在我的网站中,如:保护我的网站上的视频?

http://example.com/demo.html 
    <video>the video</video> 

我不知道如何嵌入视频播放器,并将其指向在S3托管的网址,我只用YouTube的api球员,但这可能是可能的。

我想知道的问题是,如果有一种方法可以在人们知道视频资源的URL是什么时阻止他们查看视频?例如,如果我在网页上找到图片的网址,我可以复制它的网址并直接在浏览器中查看它。有没有办法阻止它?我希望人们只有在他们从该特定页面查看视频时才能看到视频。较大的计划是只向在我的网站上创建帐户的会员显示视频。该VIMEO API看起来很有前途,但仅用于非商业用途,所以看到的,如果这是可能的S3,

感谢

+0

http:// camstudio。org/ – 2010-09-27 23:03:02

回答

0

这是一个有点猫捉老鼠的游戏中,有一个Firefox扩展:"DownloadHelper",抓住来自大多数嵌入式源的视频如果重要的是人们无法拍摄视频并做他们想做的事情,那么您可能需要研究某种DRM方式,但这也不是防弹的,而且在这种情况下可能会矫枉过正。

+0

嗯,但是当用户建立一个http连接来获取视频内容时,我不能检查是否为该用户启用了一个会话(浏览器会在与服务器建立的每个连接中发送该会话的权利?)。如果我看不到会话,我只是拒绝? – user291701 2010-09-28 02:45:24

+0

没错,但是这是一个Firefox扩展。浏览器(运行'grabber')有一个有效的会话并抓取视频。 AFAIK'下载助手'看起来和浏览器一样。 – 2010-09-28 03:28:12

+0

啊,确定没有正确读取它,这是有道理的。很高兴知道,谢谢。 – user291701 2010-09-28 13:50:14

0

如果你拥有服务器,你可以做一些事情,比如在一个只有暂时有效的URL(HTTP会话过期或5分钟之后)上传视频。但是,由于您正在使用S3,您无法控制,所以这种技术不可用。除此之外,一个S3的URL是一个很好的老式的URL,如果它是视频播放器可达,是可以达到任何其他方式以及...

+0

另外,为什么你想阻止人们下载它?你为什么害怕他们会(超越傲慢)? – jlarson 2010-09-27 22:56:15

+0

哦,它只是付费内容。因此,一位朋友正在生成一些视频,并且不希望用户查看它们,除非用户付费。 – user291701 2010-09-28 02:44:33

+0

如果它是付费的内容,那么他​​们可能会承担在比S3控制更密切的服务器上托管它?但除此之外,付费视频对于我想象得到的大众开发的任何东西都是非常不寻常的模式。 – jlarson 2010-09-28 17:00:01

0

我没有使用S3,所以我不知道具体情况,但我会做的是有一个客户端的Silverlight/Flash播放器,可以从引用视频文件的URL进行流式传输(如果要使用Silverlight,请检查MediaPlayer元素),然后应该连接到Web服务器上的通用处理程序,来自s3的内容就好像它实际上有内容一样。一旦你有了这个工作,你可以将处理程序与当前的安全性(会话等)集成在一起,检查它们是否已登录。 通用处理程序是一个ASHX文件,用.NET编写,非常灵活。最近,我需要跟踪图像的带宽使用情况 - 我编写了一个处理程序,它将添加到SQL数据库中的计数器,然后通过设置contenttype来提供图像。因此,用户将加载http:www.mydomain.com/pichandler.ashx?file = grrr.jpg,它会生成一个图像,就像他们直接进入图像一样。

p.s.我正在谈论的解决方案需要.NET的知识 - 我不知道你将使用什么语言。

1

您可以使用存储桶政策功能可以保护文件免受侵害。

这里是斗策略的一个例子,使您可以防止盗链:

{ 
     "Version":"2008-10-17", 
     "Id":"preventHotLinking", 

     "Statement":[ { 

      "Sid":"1", 
      "Effect":"Allow", 
      "Principal": { 
       "AWS":"*" 
      }, 

      "Action":"s3:GetObject", 
      "Resource":"arn:aws:s3:::your.bucket.name/*", 

      "Condition":{ 

       "StringLike": { 

        "aws:Referer": [ 
         "http://yourwebsitename.com/*", 
         "http://www.yourwebsitename.com/*" 
        ] 
       } 
      } 
     }] 
} 

但是,不要忘了您的实际桶名称和yourwebsitename来取代your.bucket.name您网站名称。

您可以使用S3 Browser免费软件查看和编辑桶策略。您可以找到更多存储桶策略示例here.