Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Video 私有化视频流_Video_Streaming_Quicktime - Fatal编程技术网

Video 私有化视频流

Video 私有化视频流,video,streaming,quicktime,Video,Streaming,Quicktime,你知道,在YouTube上,一旦你上传了一段视频,它会要求你公开或保密。公众认为任何人都可以访问它。私密的,只有你可以接受原始上传,你必须登录才能这样做。我需要做和那一样的东西。我正在制作一个rails应用程序,它使用QuickTime渐进下载而不是Flash,所以基本上我使用了一个嵌入标记,src指向一些dns/video.mov。但我不可能让这些视频公开。我在你头上的选择是什么 在用户登录时创建会话cookie。此cookie通常包含某种会话ID(长字符串)。将该ID作为查询附加到电影的UR

你知道,在YouTube上,一旦你上传了一段视频,它会要求你公开或保密。公众认为任何人都可以访问它。私密的,只有你可以接受原始上传,你必须登录才能这样做。我需要做和那一样的东西。我正在制作一个rails应用程序,它使用QuickTime渐进下载而不是Flash,所以基本上我使用了一个嵌入标记,src指向一些dns/video.mov。但我不可能让这些视频公开。我在你头上的选择是什么

在用户登录时创建会话cookie。此cookie通常包含某种会话ID(长字符串)。将该ID作为查询附加到电影的URL(
../video.mov?ID=2387543462578

这样,服务器就可以根据当前打开的会话检查ID。如果ID无效,请使用403(禁止)进行答复


[编辑]由于您将文件放入
Rails\u root/public/videos
,Ruby会自动为您处理下载到浏览器的过程。这是放入
public
文件夹中的任何文件的默认行为。您需要的是将文件放在不同的位置并手动处理下载。检查Ruby源代码并查找
public
文件夹的处理程序;这会让你知道它是如何在引擎盖下工作的。您应该能够使用一些附加代码来扩展此类,以检查用户是否可以实际下载该文件。

在我的Rails应用程序中,有身份验证和授权,到目前为止,我可以告诉谁可以使用什么操作。我的印象是,比方说,我在Rails_root/public/videos下有一个名为“video”的文件夹,其中包含用户视频。因此,现在可以通过地址栏中的dns/videos/abc.mov直接访问abc.mov。Rails似乎一点也不知道发生了什么。如果我不将视频放在公共文件夹中,这可以防止这种情况发生,但我无法将其嵌入到普通用户页面上,因为嵌入有一个SRC attrib,我需要为视频提供一个url。如何使用您的方法?请参阅我的编辑:您需要为另一个URL添加处理程序,以便视频不再对任何人公开。