2017-08-21 39 views
0

我正在寻找一种方法来保护我的视频以外的DRM,所以我试图使用会话,而不是视频的直接链接,然后我检查它,如果会话是真的,我用fopen/readfile运行视频()。我可以在php中使用readfile()和视频吗?

但视频不能种子,它只是在续航时间的工作就像这个例子:

Here is a link from the site I work on.

我可以使用任何东西,使其可搜索?

$file = base_path(). '/uploads/test.mp4'; 

    $size = File::size($file); 
    $myfile = fopen($file, 'rb'); 

    echo fread($myfile, $size); 
+0

更好的方法是使用路线流式传输视频并使用它 –

+0

那又如何? –

+0

只需创建一个路由并将视频获取代码包裹到其中并将该路由调入您的'。让我知道如果你需要完整的代码 –

回答

0

您的路线:

Route::get('get-video/{videoName}', '[email protected]')->name('getVideo'); 

控制器代码,如:

public function getVideo($videoName) 
{ 

    $fileContents = Storage::disk('local')->get("uploads/".$videoName); 
    $response = Response::make($fileContents, 200); 
    $response->header('Content-Type', "video/mp4"); 
    return $response; 
} 

你的视图,如:

<video width="320" height="240" controls> 
     <source src="{{ route('getVideo', 'test.mp4') }}" type="video/mp4"> 
     Your browser does not support the video tag. 
</video> 

还需要添加下面一行到你的根.htaccess文件:

AddType video/webm .webm 

注:

Add type video/ogg .ogv 
Add type audio/ogg .oga 

:这种变化依然是你面临的问题与音频那么就需要把以下行到.htaccess太后希望为你工作!

+0

@ahmedyasser:检查此答案并让我知道 –

+0

我刚写道你的代码放在我的目录文件中,[这是结果](http://www.okilyacademy.com/test/)。 同样的问题在 –

+0

好吧,给定'500内部服务器错误'意味着代码有问题。你可以请调试它 –

相关问题