2009-08-19 6 views
0

flv 플레이어를 페이지에 삽입하는 것을보고 있지만 flv 파일을 www가 아닌 ​​위치에서 읽을 수 있기를 바랍니다. 암호화 된 querystring을 사용하는 컨트롤러 조치를 작성하고 해독 한 다음 readfile()을 사용하여 페이지에 내용을 출력하지만 아무 것도 일어나지 않는 것 같습니다.PHP에서 플레이어로 출력되는 스트리밍 flv를 보호하는 가장 좋은 방법은 무엇입니까?

잘못된 콘텐츠 유형을 보내거나 readfile 기능이 flv 파일 크기 (40MB +)에 질식하는 경우 확실하지 않습니다. 위의 페이지

I'm using something like the following

Goint 나를 그냥 플레이어에서 스트리밍되지는 FLV의 벌금을 다운로드 할 수 있습니다. 미리 감사드립니다!

답변

0

이 내가 쓴 몇 가지 애플리케이션에 완벽하게 FLV 및 MP3 파일을 스트리밍 :

$mime = ''; // place appropriate mimetype here 
$file = 'somefile.flv'; // place your filename here 

header("Expires: Thu, 19 Nov 1981 08:52:00 GMT"); 
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); 
header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0"); 
header("Pragma: no-cache"); 
header('Content-Type: '.$mime); 
header("Content-Disposition: attachment; filename='$file'"); 
header("Content-Length: " . filesize($file)); 
readfile ($path); 
0
  1. 스트리밍 PHP를 사용하지 마십시오, PHP가있다가 시간 실행 및 메모리 한계입니다 (php.ini 파일에서 구성) . 1.1. 정적 인 컨텐츠를 제공하기 위해 PHP를 사용하지 마십시오. 무겁고 기본적으로 아파치 성능을 떨어 뜨립니다.
  2. PHP를 사용할 때 검색 옵션 (점으로 점프)을 작성해야합니다.
  3. HTTP 프로토콜을 통한 flv 스트리밍을 위해 Nginx/Lighttpd를 사용하거나 RTMP 프로토콜을 통한 flv 스트리밍을 위해 Red5/Wowza를 사용하는 것이 좋습니다.

내 preffered 제안 개조로 Nginx에를 사용하는 것입니다

  • flv (FLV 스트리밍).
  • Secure Links (hotlink에서 파일을 보호하고 각 링크에 대해 TTL을 설정하기 위해).
  • Limit rate after - 대역폭을 절약합니다.

보안 링크를 사용하면 IP로 특정 사용자에 대한 링크를 생성 할 수 있으며 링크가 작동하지 않아 사용자가 콘텐츠에 다시 액세스 할 수 없으면 60 초 동안 링크 TTL을 설정할 수 있습니다 .

관련 문제